通过“ for”循环调用一列

时间:2019-02-27 14:32:56

标签: r

在数据框中,我有名为A1,A2,A3..A400的列。我想以某种方式使用'for'来获取某些列的均值:

for (i in c(6,7,11,44)) {mean(mydata$A"i")}

感谢任何提示。

2 个答案:

答案 0 :(得分:0)

总结评论,您可以使用来避免循环。

colMeans(mydata[,colnames(mydata) %in% paste0("A", c(6,7,11,44))])

您首先选择相关列,然后使用colMeans计算平均值。

答案 1 :(得分:0)

cols <- c(6,7,11,44)
means <- sapply(cols, function(x) mean(df[, x]))

这甚至更简单:

means <- sapply(df[, cols], mean)