使用列号而不是lm()中的名称

P S*_*laz 18 r formula lm

而不是像lm(bp~height+age, data=mydata)我想用数字指定列,而不是名称.

我试过lm(mydata[[1]]~mydata[[2]]+mydata[[3]]),但这个问题是,在拟合模型,系数命名mydata[[2]],mydata[[3]]等等,而我想他们有真正的列名.

也许这是一个没有你的蛋糕和吃它的情况,但如果专家可以建议这是否可能,我将不胜感激

TMS*_*TMS 28

lm(
    as.formula(paste(colnames(mydata)[1], "~",
        paste(colnames(mydata)[c(2, 3)], collapse = "+"),
        sep = ""
    )),
    data=mydata
)
Run Code Online (Sandbox Code Playgroud)

而不是c(2, 3)你可以使用你想要多少个索引(不需要for循环).