R Language
ANOVA
Ricerca…
Uso di base di aov ()
L'analisi della varianza (aov) viene utilizzata per determinare se i mezzi di due o più gruppi differiscono significativamente l'uno dall'altro. Si presume che le risposte siano indipendenti l'una dall'altra, normalmente distribuite (all'interno di ciascun gruppo) e che le varianze all'interno del gruppo siano considerate uguali.
Per completare l'analisi i dati devono essere in formato lungo (vedi argomento di rimodellamento dei dati ). aov()
è un wrapper attorno alla funzione lm()
, usando la notazione della formula di Wilkinson-Rogers y~f
dove y
è la variabile di risposta (indipendente) e f
è una variabile fattore (categoriale) che rappresenta l'appartenenza al gruppo. Se f
è numerico piuttosto che una variabile fattore, aov()
riporterà i risultati di una regressione lineare in formato ANOVA, che potrebbe sorprendere gli utenti inesperti.
La funzione aov()
usa la somma dei quadrati di tipo I (sequenziale). Questo tipo di somma di quadrati verifica tutti gli effetti (principali e di interazione) in sequenza. Il risultato è che al primo effetto testato viene anche assegnata una varianza condivisa tra questo e altri effetti nel modello. Affinché i risultati di tale modello siano affidabili, i dati dovrebbero essere bilanciati (tutti i gruppi hanno le stesse dimensioni).
Quando le assunzioni per la somma dei quadrati di tipo I non vengono mantenute, potrebbe essere applicabile la somma dei quadrati di tipo II o di tipo III. La Somma dei quadrati di Tipo II verifica ogni effetto principale dopo ogni altro effetto principale, e quindi controlla ogni varianza sovrapposta. Tuttavia, la somma dei quadrati di tipo II non presuppone alcuna interazione tra gli effetti principali.
Infine, la Somma di quadrati di Tipo III verifica ogni effetto principale dopo ogni altro effetto principale e ogni interazione. Ciò rende necessaria la Somma dei quadrati di Tipo III quando è presente un'interazione.
La somma di quadrati di tipo II e di tipo III è implementata nella funzione Anova()
.
Usando il mtcars
dati mtcars
come esempio.
mtCarsAnovaModel <- aov(wt ~ factor(cyl), data=mtcars)
Per visualizzare il riepilogo del modello ANOVA:
summary(mtCarsAnovaModel)
Si possono anche estrarre i coefficienti del modello lm()
sottostante:
coefficients(mtCarsAnovaModel)
Uso di base di Anova ()
Quando si ha a che fare con un disegno sbilanciato e / o contrasti non ortogonali, sono necessari la somma dei quadrati di Tipo II o Tipo III. La funzione Anova()
dal pacchetto car
implementa questi. La somma dei quadrati di tipo II non presuppone alcuna interazione tra gli effetti principali. Se si assumono interazioni, la Somma dei quadrati di Tipo III è appropriata.
La funzione Anova()
avvolge la funzione lm()
.
Usando i set di dati mtcars
come esempio, dimostrando la differenza tra Tipo II e Tipo III quando viene testata un'interazione.
> Anova(lm(wt ~ factor(cyl)*factor(am), data=mtcars), type = 2)
Anova Table (Type II tests)
Response: wt
Sum Sq Df F value Pr(>F)
factor(cyl) 7.2278 2 11.5266 0.0002606 ***
factor(am) 3.2845 1 10.4758 0.0032895 **
factor(cyl):factor(am) 0.0668 2 0.1065 0.8993714
Residuals 8.1517 26
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> Anova(lm(wt ~ factor(cyl)*factor(am), data=mtcars), type = 3)
Anova Table (Type III tests)
Response: wt
Sum Sq Df F value Pr(>F)
(Intercept) 25.8427 1 82.4254 1.524e-09 ***
factor(cyl) 4.0124 2 6.3988 0.005498 **
factor(am) 1.7389 1 5.5463 0.026346 *
factor(cyl):factor(am) 0.0668 2 0.1065 0.899371
Residuals 8.1517 26
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1