La agricolae::HSD.test
funzione fa esattamente questo, ma dovrai fargli sapere che sei interessato a un termine di interazione . Ecco un esempio con un set di dati 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)
Questo dà i risultati mostrati di seguito:
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
Abbinano ciò che otterremmo con i seguenti comandi:
. 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.
Il pacchetto multcomp offre anche una visualizzazione simbolica ("display a lettere compatte", vedere Algoritmi per display a lettere compatte: confronto e valutazione per maggiori dettagli) di significativi confronti a coppie, sebbene non li presenti in un formato tabulare. Tuttavia, ha un metodo di stampa che consente di visualizzare comodamente i risultati utilizzando i grafici a scatole. Anche l'ordine di presentazione può essere modificato (opzione decreasing=
) e ha molte più opzioni per confronti multipli. Esiste anche il pacchetto multcompView che estende tali funzionalità.
Ecco lo stesso esempio analizzato 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)
Il trattamento che condivide la stessa lettera non è significativamente diverso, al livello scelto (impostazione predefinita, 5%).
Per inciso, c'è un nuovo progetto, attualmente ospitato su R-Forge, che sembra promettente: fattore trama . Include display basati su linee e lettere, nonché una panoramica della matrice (tramite un diagramma di livello) di tutti i confronti a coppie. Un documento di lavoro è disponibile qui: factorplot: migliorare la presentazione di contrasti semplici nei GLM