首页 > 解决方案 > 将循环应用于几个数据帧

问题描述

我有 10 个不同的数据框,分别命名为 df1、df2、df3、... df10。我想找到所有 10 个数据框的所有列的平均值。我已经尝试过这段代码,但是出现了错误“df [j] 中的错误:'closure' 类型的对象不是子集”。有更好的方法吗?

for (j in 1:10) {
mean[j] <- apply(df[j][,2:57], 2 , mean , na.rm=TRUE)
}

标签: rloops

解决方案


获取列表中的数据框并用于colMeans获取列的平均值。

result <- lapply(mget(paste0('df', 1:10)), function(x) colMeans(x[, 2:57], na.rm = TRUE))

推荐阅读