Использование номеров столбцов без имен в lm()
Вместо чего-то вроде lm(bp~height+age, data=mydata)
я хотел бы указать столбцы по номеру, а не по имени.
Я попробовал lm(mydata[[1]]~mydata[[2]]+mydata[[3]])
, но проблема заключается в том, что в модели, которая была установлена, коэффициенты называются mydata[[2]]
, mydata[[3]]
и т.д., тогда как я хотел бы, чтобы они имели имена реальных столбцов.
Возможно, это случай, когда у вас нет торта и есть, но если эксперты могут посоветовать, возможно ли это, я был бы благодарен
Ответы
Ответ 1
lm(
as.formula(paste(colnames(mydata)[1], "~",
paste(colnames(mydata)[c(2, 3)], collapse = "+"),
sep = ""
)),
data=mydata
)
Вместо c(2, 3)
вы можете использовать сколько индексов вы хотите (нет необходимости для цикла).