而不是lm(bp~height+age, data=mydata)
之类的东西,我想按编号指定列,而不是名称。
我试过了lm(mydata[[1]]~mydata[[2]]+mydata[[3]])
,但问题在于,在拟合模型中,系数被命名为mydata[[2]]
,mydata[[3]]
等,而我希望它们具有真正的列名。
也许这是一个没有你的蛋糕和吃它的情况,但如果专家可以建议这是否可能我会很感激
答案 0 :(得分:27)
lm(
as.formula(paste(colnames(mydata)[1], "~",
paste(colnames(mydata)[c(2, 3)], collapse = "+"),
sep = ""
)),
data=mydata
)
而不是c(2, 3)
你可以使用你想要多少个索引(不需要for循环)。