12 votos

Regresión lineal con factores en R

Estoy tratando de entender exactamente cómo los factores de trabajo en R. digamos que quiero correr una regresión utilizando algunos datos de ejemplo en R:

> data(CO2)
> colnames(CO2)
[1] "Plant"     "Type"      "Treatment" "conc"      "uptake"   
> levels(CO2$Type)
[1] "Quebec"      "Mississippi"
> levels(CO2$Treatment)
[1] "nonchilled" "chilled"   
> lm(uptake ~ Type + Treatment, data = CO2)

Call:
lm(formula = uptake ~ Type + Treatment, data = CO2)

Coefficients:
 (Intercept)   TypeMississippi  Treatmentchilled  
       36.97            -12.66             -6.86  

Entiendo que TypeMississippi y Treatmentchilled son tratados como booleanos: Para cada fila, la absorción inicial es 36.97, y restamos 12.66 si es de tipo Mississippi y 6.86 si era frío. Estoy teniendo problemas para entender algo como esto:

 > lm(uptake ~ Type * Treatment, data = CO2)

 Call:
 lm(formula = uptake ~ Type * Treatment, data = CO2)

 Coefficients:
                 (Intercept)                   TypeMississippi  
                      35.333                            -9.381  
            Treatmentchilled  TypeMississippi:Treatmentchilled  
                      -3.581                            -6.557  

¿Qué significa para multiplicar dos factores juntos en un lm?

20voto

pkaeding Puntos 12935

Elaborar en @la respuesta de Juan: en R fórmulas, usted tiene un par de operadores que se pueden aplicar a los términos: "+" simplemente los agrega, ":" significa que se agrega un término (o varios) que se refieren a su interacción (ver más abajo), "*" significa que ambos, es decir: los "efectos principales" que se añaden, y el término de interacción(s) se añaden también.

Entonces, ¿qué hace esta interacción significa? Así, en el caso de variables continuas, de hecho, es un término que se añade que es simplemente el múltiple de las dos variables. Si quieres tener la altura y el peso como predictores, y el uso de out ~ height * weight como fórmula, el modelo lineal contendrá por lo tanto tres "variables", es decir, el peso, la altura y su producto (que también contiene la interacción, sino que es de menos interés aquí).

A pesar de que indican lo contrario: esto funciona exactamente de la misma manera para las variables categóricas, pero ahora el "producto" se aplica a el (juego de) variable ficticia(s) para cada variable categórica. Suponga que la altura y el peso son ahora categórica, cada uno con tres categorías (S(centro comercial), M(edium) y L(arge)). A continuación, en modelos lineales, cada uno de ellos está representado por un conjunto de dos variables ficticias que son 0 o 1 (hay otras formas de codificación, pero este es el valor predeterminado en R y el más comúnmente utilizado). Digamos que el uso de S, así como la categoría de referencia, por tanto, tenemos cada vez que dos maniquíes altura.M y la altura.L (y similares para el peso).

Así que ahora, modelo out ~ height * weight ahora contiene los 4 dummies + todos los productos de todas las maniquí-combinaciones (no estoy escribiendo explícitamente los coeficientes de aquí, están implícitas):

(intercept) + height.M + height.L + weight.M + weight.L + height.M * weight.M + height.L * weight.M + height.M * weight.L + height.L * weight.L.

En la línea de arriba, '*', ahora de nuevo se refiere a un producto simple, pero esta vez de los tontos, por lo que cada producto en sí es también de 1 (cuando todos los factores son 1) o 0 (cuando al menos uno no lo es).

En este caso el 8 'variables' habilitar diferentes (media) de los resultados de todas las combinaciones de las dos variables: el efecto de tener un gran peso ya no es el mismo para los pequeños de personas (para ellos el efecto es simplemente forman por el término weight.L) como para la mayoria de las personas (en este caso, el efecto es weight.L + height.L * weight.L)

7voto

GeorgW Puntos 316

Para el seguimiento de la respuesta de Juan, las fórmulas de la película no utilizar la notación aritmética, que están usando un compacto de notación simbólica para describir modelos lineales (específicamente Wilkinson-Rogers notación, hay un buen resumen aquí http://www.physiol.ox.ac.uk/~raac/R. shtml).

Básicamente, incluyendo a*B en el modelo de fórmula significa que es montaje a, B y a:B (la interacción de a y B). Si el término de interacción es estadísticamente significativa, lo que sugiere que el efecto del tratamiento es diferente para cada uno de los tipos.

3voto

Tal vez buscar la "fórmula" en la ayuda sería de ayuda. Usted no se está multiplicando, está diciendo que quiere los dos efectos principales y su interacción también.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X