编程自学网编程自学网编程自学网

R数据框列表:按行获取数据框列表的平均值

问题描述:

我有一个数据帧列表,我想从第一行的所有第二行等计算平均值。

我认为,可以通过创建一些公因子作为索引,使用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]]
  val1   42   13   0[[2]]
  val1   52   23   1[[3]]
  val1   62   33   2

以及我期望的数据帧输出,以rowise的形式表示:

df.means
  mean1   52   23   1

我的第一步,尚未按预期工作:

# Calculate the mean of list by rowslapply(myLs, function(x) mean(x[1,]))


解决方法:

一种简单的方法是cbind列表并使用rowMeans计算每一行的均值

rowMeans(do.call(cbind, myLs)) #[1] 5 2 1


未经允许不得转载:编程自学网 » R数据框列表:按行获取数据框列表的平均值