Estoy leyendo un libro de Cohen, Cohen, Aiken y West (2003) "Análisis de correlación de regresión múltiple aplicado para las ciencias del comportamiento" y he encontrado una trama en 3D de una superficie de regresión que muestra interacción y no interacción (p.259). Los gráficos parecen haber sido creados usando R. Me gustan los gráficos como herramienta de enseñanza y me gustaría reproducirlos. Las trazas se parecen a esto: Parcela Regresión Superficie
La única adición a la Coehn et al. las parcelas fueron líneas a través de los planos en la media, + 1sd, y = 1sd para x2. Esta sería una excelente adición si es posible (generalmente la mayoría de cosas son posibles con R)
He proporcionado un conjunto de datos de muestra a continuación con un IV, 2 predictores y predictores centrados. ¿Cómo usaría R para generar el gráfico de la superficie de regresión (plano) que muestra la interacción y un modelo aditivo para los datos centrado y no centrado (supongo que la técnica será la misma pero quiero asegurarme).
total de 4 parcelas: 1. uncentered ninguna interacción 2. interacción uncentered 3. centrado ninguna interacción 4. interacción centrada
DF<-structure(list(y = c(-1.22, -1.73, -2.64, -2.44, -1.11, 2.24,
3.42, 0.67, 0.59, -0.61, -10.77, 0.93, -8.6, -6.99, -0.12, -2.29,
-5.16, -3.35, -3.35, -2.51, 2.21, -1.18, -5.21, -7.74, -1.34),
x1 = c(39.5, 41, 34, 30.5, 31.5, 30, 41.5, 24, 43, 39, 25.5,
38.5, 33.5, 30, 41, 31, 25, 37, 37.5, 24.5, 38, 37, 41, 37,
36), x2 = c(61L, 53L, 53L, 44L, 49L, 44L, 57L, 47L, 54L,
48L, 46L, 59L, 46L, 61L, 55L, 57L, 59L, 59L, 55L, 50L, 62L,
55L, 55L, 52L, 55L), centered.x1 = c(5.49702380952381, 6.99702380952381,
-0.0029761904761898, -3.50297619047619, -2.50297619047619,
-4.00297619047619, 7.49702380952381, -10.0029761904762, 8.99702380952381,
4.99702380952381, -8.50297619047619, 4.49702380952381, -0.50297619047619,
-4.00297619047619, 6.99702380952381, -3.00297619047619, -9.00297619047619,
2.99702380952381, 3.49702380952381, -9.50297619047619, 3.99702380952381,
2.99702380952381, 6.99702380952381, 2.99702380952381, 1.99702380952381
), centered.x2 = c(9.80357142857143, 1.80357142857143, 1.80357142857143,
-7.19642857142857, -2.19642857142857, -7.19642857142857,
5.80357142857143, -4.19642857142857, 2.80357142857143, -3.19642857142857,
-5.19642857142857, 7.80357142857143, -5.19642857142857, 9.80357142857143,
3.80357142857143, 5.80357142857143, 7.80357142857143, 7.80357142857143,
3.80357142857143, -1.19642857142857, 10.8035714285714, 3.80357142857143,
3.80357142857143, 0.803571428571431, 3.80357142857143)), .Names = c("y",
"x1", "x2", "centered.x1", "centered.x2"), row.names = c(NA,
25L), class = "data.frame")
gracias de antemano.
EDITAR: El siguiente código representa el plano, pero no funcionará cuando tenga una interacción (que es lo que realmente me interesa). Además, no sé cómo trazar el alto (+ 1sd), bajo (-1sd) y la media para x2 tampoco.
x11(10,5)
s3d <- scatterplot3d(DF[,c(2,3,1)], type="n", highlight.3d=TRUE,
angle=70, scale.y=1, pch=16, main="scatterplot3d")
# Now adding a regression plane to the "scatterplot3d"
my.lm <- with(DF, lm(y ~ x1 + x2))
s3d$plane3d(my.lm, lty.box = "solid")
Un intento de trazar un plano de interacción (véase aquí):
s3d <- scatterplot3d(DF[,c(2,3,1)], type="n", highlight.3d=TRUE,
angle=70, scale.y=1, pch=16, main="scatterplot3d")
my.lm <- with(DF, lm(y ~ x1 + x2 + x1:x2))
s3d$plane3d(my.lm, lty.box = "solid")
arrojó los siguientes errores:
Error in segments(x, z1, x + y.max * yx.f, z2 + yz.f * y.max, lty = ltya, :
cannot mix zero-length and non-zero-length coordinates
Creo que puede haber algo en R Commander que hace algo como esto ... –