Dispersijas analīze
Lai programmā R veiktu disersijas analīzi, tiek izmantotas funkcijas anova() un lm(). Ar funkciju lm() tiek definēts modelis, kuru vēlamies analīzēt lm(formula=pētāmā.pazīme~faktors,data=datu.tabula). Ja vēlas pārbaudīt vairāku faktoru un to kombinācijas ietekmi, tad pieraksts ir lm(formula=pētāmā.pazīme~faktors1+faktors2+...+faktorsn,data=datu.tabula).
Funkciju anova() var lietot uzreiz kopā ar lm(), vai arī funkcijas lm() rezultātu var saglabāt kā atsevišķu objektu un tad rakstīt anova(object=modelis).
Vienfaktora dispersijas analīze
> miezi <- read.table(file = "miezi.txt", header = T)
> attach(miezi)
> miezi.model <- lm(formula = raza ~ skirne, data = miezi)
> rez <- anova(object = miezi.model)
> rez
Analysis of Variance Table
Response: raza
Df Sum Sq Mean Sq F value Pr(>F)
skirne 1 270.85 270.85 9.3439 0.004879 **
Residuals 28 811.62 28.99
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Ja konstatēts, ka faktora ietekme ir būtiska un nepieciešams pārbaudīt starp kurām gradācijas klasēm ir būtiska atšķirība, var izmantot funkciju pairwise.t.test(), kurai kā argumenti jānorāda objekts ar pētāmās pazīmes vērtībām un objekts, kurš satur dalījuma līmeņus. Dotā funkcija veic t-testu vidējo aritmētisko salīdzināšanai un rezultātā parāda p-vērtības katrām divām gradācijas klasēm.
> pairwise.t.test(raza, skirne)
Pairwise comparisons using t tests with pooled SD
data: raza and skirne
1 2
2 0.246 -
3 0.017 0.159
P value adjustment method: holm
Daudzfaktora dispersijas analīze
> soja <- read.table(file = "soja.txt", header = T)
> attach(soja)
> model <- lm(formula = lapas ~ gaisma + stress + gaisma:stress,
+ data = dati)
> anova(object = model)
Analysis of Variance Table
Response: lapas
Df Sum Sq Mean Sq F value Pr(>F)
gaisma 1 42752 42752 47.7490 1.010e-08 ***
stress 1 14858 14858 16.5954 0.0001725 ***
gaisma:stress 1 26 26 0.0294 0.8645695
Residuals 48 42976 895
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1