2010-09-07 6 views
8

En el lenguaje R programación estadísticas, la siguiente fórmula (tal como se utiliza en lm() o GLM())Fórmula para todos los primeros y segundos predictores de orden incluyendo interacciones en R

z ~ (x+y)^2 

es equivalente a

z ~ x + y + x:y 

Suponiendo, sólo tengo predictores continuos, hay una manera concisa para obtener

z ~ I(x^2) + I(y^2) + I(x) + I(y) + I(x*y) 

un La fórmula que hace lo correcto para los factores predictivos es una ventaja.

Una posible solución es

z ~ (poly(x,2) + poly(y,2))^2 

Busco algo más elegante.

+0

¿Es esta una verdadera pregunta? –

+0

Richard, ¿puedes explicar por qué crees que la pregunta no es real? Intenté aclarar mi pregunta después de su expresión de duda. – chris

+0

Alguien ha etiquetado esto como tarea. Necesito esto para el trabajo, no para la tarea. He agregado una solución para dejar en claro que no estoy buscando una solución rápida, sino elegante. – chris

Respuesta

9

No sé si es más elegante o no, pero la función de poli puede tomar múltiples vectores:

z ~ poly(x, y, degree=2) 

Se crearán todas las combinaciones que usted pidió, sin otras adicionales. Tenga en cuenta que necesita especificar degree = 2, no solo 2 cuando lo hace de esta manera.

Cuestiones relacionadas