如何跨运行应用函数

时间:2012-12-03 22:01:01

标签: r function plyr apply

  

可能重复:
  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

。 。 。 我需要根据运行数计算每一步的平均值。我该怎么做?非常感谢能帮助我的任何人。 中提琴

2 个答案:

答案 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