【发布时间】:2020-01-30 07:26:43
【问题描述】:
我有一个数据框列表,我想计算每个第一行、所有第二行等的平均值。
我认为这可以通过创建一些公共因子作为索引,使用rbind 将数据帧放在一起,然后使用aggregate(value ~ row.index, mean, large.df) 计算平均值来实现。不过,我想还有更直接的方法吗?
这是我的例子:
df1 = data.frame(val = c(4,1,0))
df2 = data.frame(val = c(5,2,1))
df3 = data.frame(val = c(6,3,2))
myLs=list(df1, df2, df3)
[[1]]
val
1 4
2 1
3 0
[[2]]
val
1 5
2 2
3 1
[[3]]
val
1 6
2 3
3 2
以及我预期的数据帧输出,因为 rowise 的意思是:
df.means
mean
1 5
2 2
3 1
我的第一步,还没有按预期工作:
# Calculate the mean of list by rows
lapply(myLs, function(x) mean(x[1,]))
【问题讨论】:
标签: r list dataframe aggregate lapply