可能重复:
R Grouping functions: sapply vs. lapply vs. apply. vs. tapply vs. by vs. aggregate vs
我有一个模型输出文件,如下所示:
run step x
1 1 1
1 2 4
1 3 3
1 1 4
1 2 5
1 3 6
2 1 5
2 2 4
2 3 7
2 1 3
。 。 。 我需要根据运行数计算每一步的平均值。我该怎么做?非常感谢能帮助我的任何人。 中提琴
答案 0 :(得分:3)
如果我理解正确,可以使用plyr包中的ddply来完成:
require(plyr)
ddply(model_output, .(run, step), summarise, mn = mean(x))
其中model_output
是您从文件中读取的模型输出。
答案 1 :(得分:0)
或基础R版本:
aggregate(test["x"],test[c("run","step")],mean)
run step x
1 1 1 2.5
2 2 1 4.0
3 1 2 4.5
4 2 2 4.0
5 1 3 4.5
6 2 3 7.0