首页 > 解决方案 > 通过R中的列号访问数据框中的变量?

问题描述

我有一个作为“df”的数据框和 41 个变量var1var41如果我写这个命令

pcdtest(plm(var1~ 1 , data = df, model = "pooling"))[[1]]

我可以看到测试值。但我需要应用这个测试 41 次。我想通过列号访问变量,即“ var1 ”的“ df [1]”和“ var41 ”的“ df [41] ”

pcdtest(plm(df[1]~ 1 , data = dfp, model = "pooling"))[[1]]

但它失败了。你能帮我做这件事吗?我将导致 for 循环。我将计算所有结果的描述性统计数据。但是很难对每个变量进行测试。

标签: rdataframetesting

解决方案


尝试使用as.formula(),例如:

results <- list()
for (i in 1:41){
  varName <- paste0('var',i)
  frml <- paste0(varName, ' ~ 1')
  results[[i]] <- 
    pcdtest(plm(as.formula(frml) , data = dfp, model = "pooling"))[[1]]
}

推荐阅读