Einhliða fervikagreining

Á þessari síðu er sýnt hvernig einhliða fervikagreining, eða one-way ANOVA er framkvæmd í R.

Einhliða fervikagreinng er notuð til að draga ályktanir um hvort meðaltöl einnar talnabreytu séu ekki þau sömu hjá öllum flokkum tiltekinnar flokkabreytu.

Við gerum ráð fyrir að mælingarnar sem meðaltölin eru reiknuð fyrir séu geymdar í einni breytu en önnur breyta segi til um hvaða flokki viðfangsefnin tilheyra.

Við munum

Úrvinnslan byggir á gagnasafninu um púls nemenda. Neðangreindar línur lesa inn gögnin, búa til flokkabreytuna lik_fl og breyta um heiti á nöfnum flokkanna.

dat <- read.table("puls.csv", header=TRUE, sep=';')
dat$lik_fl <- cut(dat$likamsraekt, c(0,2,4,6,20), include.lowest=TRUE)
levels(dat$lik_fl) <- c('litil','hofleg','mikil','mjog mikil')

Gögnin skoðuð myndrænt

Kassarit eru tilvalin til að skoða mun á talnabreytu eftir flokkum myndrænt. Þau eru teiknuð með skipuninni boxplot()

boxplot(dat$fyrriPuls~dat$lik_fl)

plot of chunk unnamed-chunk-2

Fervikagreiningartaflan

Skipunin lm() metur mun meðaltala milli flokkanna.

lm1 <- lm(fyrriPuls~lik_fl, data=dat)

Með skipuninni *anova() fáum við hina hefðbundnu fervikagreiningartöflu.

anova(lm1)
## Analysis of Variance Table
## 
## Response: fyrriPuls
##            Df Sum Sq Mean Sq F value Pr(>F)  
## lik_fl      3   1237     412    2.79  0.043 *
## Residuals 140  20661     148                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Í úttakinu sjáum við að:

Meðaltölin skoðuð nánar

Ef við skrifum heitið á líkaninu sem við smíðuðum birtast metnu meðaltöl flokkanna.

lm1
## 
## Call:
## lm(formula = fyrriPuls ~ lik_fl, data = dat)
## 
## Coefficients:
##      (Intercept)      lik_flhofleg       lik_flmikil  lik_flmjog mikil  
##            72.51              2.44             -2.18             -5.55

Hér sjáum við að púls nemenda sem tilheyra viðmiðunarflokknum, þ.e.a.s. nemenda sem hreyfa sig lítið er metinn \( 72.51 \).

Púls nemenda sem hreyfa sig hóflega er \( 2.44 \) hærri en þeirra sem tilheyra viðmiðunarflokknum, eða \( 72.51 + 2.44 = 74.95 \).

Púls þeirra sem hreyfa sig mikið er \( 72.51 -2.18 = 70.33 \) og púls þeirra sem hreyfa sig mjög mikið er metinn \( 72.51 -5.55 = 66.96 \)

Öryggisbil fyrir stuðlana

Skipunin confint() reiknar öryggisbil fyrir meðaltölin í líkaninu.

confint(lm1)
##                    2.5 %  97.5 %
## (Intercept)       68.761 76.2631
## lik_flhofleg      -2.714  7.6028
## lik_flmikil       -8.132  3.7738
## lik_flmjog mikil -11.316  0.2249

95% öryggisbil fyrir þá sem hreyfa sig lítið er \( (68.761,76.2631) \).

95% öryggisbil fyrir mismun púls þeirra sem hreyfa sig lítið og þeirra sem hreyfa sig hóflega er \( (-2.714, 7.76028) \).

95% öryggisbil fyrir mismun púls þeirra sem hreyfa sig lítið og þeirra sem hreyfa sig mikið er \( (-8.132, 3.7738) \).

95% öryggisbil fyrir mismun púls þeirra sem hreyfa sig lítið og þeirra sem hreyfa sig mjög mikið er \( (-11.316, 0.2249) \).