короткий вызов формулы для многих переменных при построении модели

Я пытаюсь создать регрессионную модель с lm (…). В моем наборе данных есть много возможностей (> 50). Я не хочу писать свой код как lm(output~feature1+feature2+feature3+...+feature70) . Мне было интересно, что такое короткое обозначение руки, чтобы написать этот код.

2 Solutions collect form web for “короткий вызов формулы для многих переменных при построении модели”

Вы можете использовать . как описано на странице справки для formula . . означает «все столбцы, не имеющие отношения к формуле».

lm(output ~ ., data = myData) .

Альтернативно, постройте формулу вручную с помощью paste . Этот пример приведен на as.formula() :

 xnam < - paste("x", 1:25, sep="") (fmla <- as.formula(paste("y ~ ", paste(xnam, collapse= "+")))) 

Затем вы можете вставить этот объект в функцию регрессии: lm(fmla, data = myData) .

Также можно попробовать такие вещи, как:

 lm(output ~ myData[,2:71], data=myData) 

Предполагая, что вывод является первым признаком столбца1: feature70 – это следующие 70 столбцов.

Или

 features < - paste("feature",1:70, sep="") lm(output ~ myData[,features], data=myData) 

Возможно, умнее, поскольку неважно, где среди ваших данных столбцы.

Возможно, возникнут проблемы, если строка удалена для NA, хотя ...

Давайте будем гением компьютера.