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 ...

    Intereting Posts