fórmula corta llamada para muchas variables al construir un modelo

Estoy intentando construir un modelo de regresión con lm (…). Mi conjunto de datos tiene muchas características (> 50). No quiero escribir mi código como lm(output~feature1+feature2+feature3+...+feature70) . Me preguntaba cuál es la notación de mano corta para escribir este código.

Puedes usar como se describe en la página de ayuda para la formula . El . significa “todas las columnas que no están en la fórmula”.

lm(output ~ ., data = myData) .

Alternativamente, construya la fórmula manualmente con paste . Este ejemplo es de la página de ayuda as.formula() :

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

A continuación, puede insertar este objeto en la función de regresión: lm(fmla, data = myData) .

También podría probar cosas como:

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

Suponiendo que la salida es la primera columna feature1: feature70 son las siguientes 70 columnas.

O

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

Probablemente sea más inteligente, ya que no importa en qué parte de los datos están las columnas.

Puede causar problemas si hay una fila eliminada para NA aunque ...