我有一个数据框架,如下所示:
> 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=T) > 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
您可以看到,尺寸和重量列不会增加任何复杂性,因为它们对于每个项目都是相同的.但是,同一项目可以有多个值.
我想使用平均值来折叠data.frame以使每个项目有一行:
item size weight value 1 A 2 3 5 3 B 1 2 3 4 C 3 2 1
我想我必须使用聚合函数,但是我无法弄明白我能得到上述结果.
aggregate(value ~ item + size + weight,FUN = mean,data=df) item size weight value 1 B 1 2 3 2 C 3 2 1 3 A 2 3 5