根据R中的三列聚合数据帧

时间:2013-05-23 19:34:28

标签: r aggregate

我的数据框的结构如下:

    V1    V2   V3       V4     
1   1.35  A  10241297 10459084
2  16.00  A  10241297 10459084
3   1.47  A  10241297 10459084

我想根据V2,V3和V4平均V1

我看到的所有聚合示例都是基于单个值处理聚合。

感谢任何帮助

由于

2 个答案:

答案 0 :(得分:11)

这是您可以完成我认为您正在寻找的方法之一(很难说,因为示例数据中有一组唯一标识符):

aggregate( V1 ~ V2 + V3 + V4 , df , mean )
# V2       V3       V4       V1
# 1  A 10241297 10459084 6.273333

答案 1 :(得分:1)

这是plyr方法。

library(plyr)
ddply(df,.(V2,V3,V4),summarise,V1=mean(V1))
  V2       V3       V4       V1
1  A 10241297 10459084 6.273333