首页 > 解决方案 > 循环遍历R中的数据框列

问题描述

如何循环以对 R 中具有相似名称的列执行相同的测试?

例如,我有三列,分别命名为 col30、col126、col145。我在想类似的事情:

x <- c(30, 126, 145)

for (i in x) {

  wilcox.test(col(i) ~ level)

}

不起作用并提供以下错误:

eval 中的错误(predvars,data,env):尝试应用非函数

标签: rloopsmultiple-columns

解决方案


您可以使用applyfunction 而不是 afor loop并为选定的列迭代相同的测试:

apply(df[, c(col30, col126, col145)], 2, wilcox.test ~ level)


推荐阅读