我的数据与此类似:
value days
25 1
24 2
25 4
26 5
我想计算值列的每n行的平均值,但要保留每n行的每一行的“天”信息。例如,对于n = 2,新数据将相应地显示:
value days
24.5 1
25.5 4
当我使用colMeans时,我只获得了值列。
你有什么建议吗?
感谢。
答案 0 :(得分:3)
说你的data.frame
被称为df
library(plyr)
n <- 2
ddply(df, .(rep(1:(nrow(df)/n), each=n)), summarise, mean=mean(value), day=days[1])
修改强>
你还可以为你的df
子集()提供更多变量,只需将它们放在.()
内,用.(var1, var2, var3)
之类的逗号分隔,或者为这些变量命名,{{ 1}}。在您的示例中:
.(newname1=var1, newname2=var2, newname3=var3)