循环遍历 R 中的变量名

Loop through variable names in R

我有一个可能非常愚蠢的问题,但似乎无法轻易找到解决方案。我是 R 的新手,所以请原谅我的无知。

我正在寻找一种方法来遍历数据框中的所有变量。例如,制作所有变量与一个特定变量(例如,性别或教育水平)相比的双向表。我曾经使用 Stata,但由于 R 是免费的,所以我现在应该使用 R(我听说使用 R 也有很多其他好处,所以我非常愿意学习 :))。

比如说,我有 20 个变量,其中 15 个是调查的答案,5 个是人口统计变量。我想看看不同的答案与人口统计数据的差异有何不同。

通常我会在 Stata 中用一些简单的方法来解决上述问题:

for i = 1 to 5 {
    for j = 1 to 3 {
        tab Sex Var`i'_`j', chi2
    }
}

为变量 Var1_1 到 Var5_3 与性别制作 15 个表格,并给出 Pearson chi2 统计量。

所以,我尝试了我认为对 R 相同的方法:

for (i in 1:5) {
  for (j in 1:3){
  print(table(chisq.test(paste(df$Sex, "df$Var",i,"_",j,sep=""))))    
  }
}

但这不起作用。

任何人都可以指出正确的方向来解决这个问题吗?非常感谢任何帮助!

假设 df 是您的数据,前 15 列是答案。 在这种情况下你可以使用这个

lapply(df[,1:15], function(x) {chisq.test(x, df$Sex)})