【发布时间】:2018-01-05 12:00:37
【问题描述】:
我有以下data.frame:
> test
a b c
1 1 4 10
2 1 5 11
3 2 6 12
4 2 7 14
5 2 8 15
6 8 9 15
我想写一个for循环来计算向量a中每个值的向量b的平均值。因此,我想要以下输出:
> average
1 2 8
[1] 4.5 7.0 9.0
我目前的尝试
subset<-data.frame()
average<-vector(mode="numeric")
for (i in 1:length(test$a)) {
subset<-subset(test,test$a==test$a[i])
average[i]<-mean(subset$b)
}
但是,我得到以下结果
> average
[1] 4.5 4.5 7.0 7.0 7.0 9.0
这应该很容易,但不幸的是我似乎没有管理它。
你能帮帮我吗?
提前非常感谢您。
【问题讨论】:
标签: r loops dataframe subset mean