Phl*_*das 2 aggregate r dataframe
这是我的数据:
v x
0:0 96
0:0 119
0:0 108
1:0 73
1:0 65
2:0 83
2:0 73
2:0 23
Run Code Online (Sandbox Code Playgroud)
如何通过v的组得到平均值,即所有0:0,1:0等的x的平均值.
我失败的尝试:
df = read.csv(input.file.path, header=TRUE)
df$v <- as.factor(df$v)
ave(df$x, df$v)
Run Code Online (Sandbox Code Playgroud)
ave这不是最好的选择.它会返回一个与输入长度相同的向量,而我猜你想把结果整合到一个更紧凑的表中.
如果是这种情况,请尝试aggregate或tapply改为:
> aggregate(x ~ v, df, mean)
v x
1 0:0 107.66667
2 1:0 69.00000
3 2:0 59.66667
> tapply(df$x, df$v, mean)
0:0 1:0 2:0
107.66667 69.00000 59.66667
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
87 次 |
| 最近记录: |