有一个带有预测变量的数据框(这些是因子),它们都有一个特定的列名:
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但是导致了同样的错误。
答案 0 :(得分:0)
我尝试在我自己的数据集之一上循环名称,以下代码正常工作:
for(i in 1:ncol(data)) {
print(colnames(data)[i])
}
为什么使用粘贴?粘贴和colnames的返回类型都是字符。