在R中粘贴列名

时间:2015-01-11 07:07:25

标签: r loops

有一个带有预测变量的数据框(这些是因子),它们都有一个特定的列名:

colnames(te)
[1] "XEF1" "TYI4" "KOP4" 
[3] "GGF19" "TRR129"

如果我尝试循环:

for (i in 1:2){
glm(GGF19~factor(paste(colnames[te][i])),data=te)
}

错误:

  

model.frame.default(tf,dati)中的错误:变量长度不同(找到' factor(colnames(te)[i])')

相反,如果我用硬编码的名称写它:

for (i in 1:2){
    glm(GGF19~factor(TYI4),data=te)
    }

有效。我怎样才能让它在循环中工作?我已经尝试了as.name但是导致了同样的错误。

1 个答案:

答案 0 :(得分:0)

我尝试在我自己的数据集之一上循环名称,以下代码正常工作:

for(i in 1:ncol(data)) {

      print(colnames(data)[i])

}

为什么使用粘贴?粘贴和colnames的返回类型都是字符。