【发布时间】:2017-04-29 16:12:01
【问题描述】:
有一个带有预测变量(这些是因子)的数据框,它们都有一个特定的列名:
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 但这导致了同样的错误。
【问题讨论】:
-
你可以试试
glm(as.formula(paste("GGF19 ~ factor(",colnames(te)[i],")"), data=te) -
我也可以递归地执行此操作吗?以便将示例中的 XEF1 添加到正确的 sitee 或 d te 方程中?还有TYI14?