У меня есть data.frame
, который выглядит так:
# set example data
df <- read.table(textConnection("item\tsize\tweight\tvalue
A\t2\t3\t4
A\t2\t3\t6
B\t1\t2\t3
C\t3\t2\t1
B\t1\t2\t4
B\t1\t2\t2"), header = TRUE)
# print example data
df
item size weight value
1 A 2 3 4
2 A 2 3 6
3 B 1 2 3
4 C 3 2 1
5 B 1 2 4
6 B 1 2 2
Как вы можете видеть, столбцы size
и weight
не добавляют никакой сложности, так как они одинаковы для каждого item
. Однако для одного и того же item
может быть несколько value
.
Я хочу свернуть data.frame, чтобы иметь одну строку за item
, используя средний value
:
item size weight value
1 A 2 3 5
3 B 1 2 3
4 C 3 2 1
Я предполагаю, что мне нужно использовать функцию aggregate
, но я не мог понять, как именно я могу получить вышеприведенный результат.