Использование номеров столбцов, а не имен в lm () - PullRequest
18 голосов
/ 12 октября 2011

Вместо чего-то вроде lm(bp~height+age, data=mydata) Я хотел бы указать столбцы по номеру, а не по имени.

Я пробовал lm(mydata[[1]]~mydata[[2]]+mydata[[3]]), но проблема в том, что в подобранной модели коэффициентыс именами mydata[[2]], mydata[[3]] и т. д., в то время как я хотел бы, чтобы они имели настоящие имена столбцов.

Возможно, это тот случай, когда ваш торт не съели и не съели, но если бы эксперты могли посоветовать, возможно ли это, я был бы признателен

1 Ответ

28 голосов
/ 12 октября 2011
lm(
    as.formula(paste(colnames(mydata)[1], "~",
        paste(colnames(mydata)[c(2, 3)], collapse = "+"),
        sep = ""
    )),
    data=mydata
)

Вместо c(2, 3) вы можете использовать столько индексов, сколько хотите (без необходимости для цикла).

...