La agricolae::HSD.test
función hace exactamente eso, pero deberá hacerle saber que está interesado en un término de interacción . Aquí hay un ejemplo con un conjunto de datos Stata:
library(foreign)
yield <- read.dta("http://www.stata-press.com/data/r12/yield.dta")
tx <- with(yield, interaction(fertilizer, irrigation))
amod <- aov(yield ~ tx, data=yield)
library(agricolae)
HSD.test(amod, "tx", group=TRUE)
Esto da los resultados que se muestran a continuación:
Groups, Treatments and means
a 2.1 51.17547
ab 4.1 50.7529
abc 3.1 47.36229
bcd 1.1 45.81229
cd 5.1 44.55313
de 4.0 41.81757
ef 2.0 38.79482
ef 1.0 36.91257
f 3.0 36.34383
f 5.0 35.69507
Coinciden con lo que obtendríamos con los siguientes comandos:
. webuse yield
. regress yield fertilizer##irrigation
. pwcompare fertilizer#irrigation, group mcompare(tukey)
-------------------------------------------------------
| Tukey
| Margin Std. Err. Groups
----------------------+--------------------------------
fertilizer#irrigation |
1 0 | 36.91257 1.116571 AB
1 1 | 45.81229 1.116571 CDE
2 0 | 38.79482 1.116571 AB
2 1 | 51.17547 1.116571 F
3 0 | 36.34383 1.116571 A
3 1 | 47.36229 1.116571 DEF
4 0 | 41.81757 1.116571 BC
4 1 | 50.7529 1.116571 EF
5 0 | 35.69507 1.116571 A
5 1 | 44.55313 1.116571 CD
-------------------------------------------------------
Note: Margins sharing a letter in the group label are
not significantly different at the 5% level.
El paquete multicomp también ofrece visualización simbólica ('pantallas de letras compactas', consulte Algoritmos para pantallas de letras compactas: comparación y evaluación para más detalles) de comparaciones significativas por pares, aunque no las presenta en formato tabular. Sin embargo, tiene un método de trazado que permite mostrar convenientemente los resultados usando diagramas de caja. El orden de presentación también puede modificarse (opción decreasing=
), y tiene muchas más opciones para comparaciones múltiples. También está el paquete multcompView que extiende esas funcionalidades.
Aquí está el mismo ejemplo analizado con glht
:
library(multcomp)
tuk <- glht(amod, linfct = mcp(tx = "Tukey"))
summary(tuk) # standard display
tuk.cld <- cld(tuk) # letter-based display
opar <- par(mai=c(1,1,1.5,1))
plot(tuk.cld)
par(opar)
El tratamiento que comparte la misma letra no es significativamente diferente, en el nivel elegido (predeterminado, 5%).
Por cierto, hay un nuevo proyecto, actualmente alojado en R-Forge, que parece prometedor: factorplot . Incluye pantallas basadas en líneas y letras, así como una descripción general de la matriz (a través de un gráfico de nivel) de todas las comparaciones por pares. Puede encontrar un documento de trabajo aquí: factorplot: Mejora de la presentación de contrastes simples en GLM