Afsnit 4.4: Analyse i R

Den ensidede variansanalysemodel i (4.2.1) analyseres i R med kommandoen lm(xG), hvor er en faktor, der deler data op i grupper, og er en vektor med responsværdierne. For yderligere beregninger bruges summary og confint på output fra lm.
For at forstå output fra summary er det vigtigt at kende den parametrisering, som R anvender. For modellen i (4.2.1), med grupper og tilhørende middelværdiparametre benytter R i forbindelse med modelformlen xG følgende parametrisering og navngivning.
Vi kan se, at lm bruger forskelle mellem parametre, og i mange tilfælde vil disse være af større interesse end parameterværdierne selv. Det -test, der står i parametertabellen ud for et Gj, bliver således et test for at forskellen i parameterværdi er nul, eller sagt på en anden måde et test for, at de to parameterværdier er ens. De konfidensintervaller, der laves med confint, bruger den samme parametrisering og giver altså intervaller for forskel i parameterværdier. (Bemærk iøvrigt, at i tilfældet med to grupper vil lm betragte forskellen hvorimod t.test fra afsnit 2.13 betragter

Forstå parametrisering i R

I nedenstående kodevindue laves en analyse med lm, hvor spredningen er nul, hvorfor estimaterne bliver lig med de sande værdier af parametrene. Kør kommandoerne, og sørg for at forstå output i parametertabellen i forhold til de sande værdier af og

Forklaring

I output er og Vi kan også udtrykke dette omvendt: og I parametriseringen bruges en leksikografisk ordning af niveauerne i faktoren således at intercept svarer til "A".

Prøv at lægge mere og mere støj på data ved at vælge sigma=0.5, sigma=1 og sigma=2. Bemærk, hvordan -værdierne stiger i de tre test i parametertabellen.
Hvis man vil ændre på, hvilken gruppe R bruger som Intercept, kan man benytte funktionen relevel. Hvis kommandoen G=relevel(G,"C") indsættes lige efter definitionen af i ovenstående kode, vil Intercept blive Prøv dette.

Hvis man ønsker, at lm skal bruge parametriseringen med i stedet for forskelle i parameterværdierne, kan dette gøres med kaldet lm(xG-1). I modelformlen undertrykker "-1" brugen af et intercept.

4.4.1 Test af modelreduktion i R

For at beregne -testet for reduktion fra model i (4.2.1) til model i (4.2.2), det vil sige -testet for hypotesen, at alle middelværdierne er ens, skal man benytte funktionen anova i R. Input til anova er output fra to kald af lm, nemlig output fra analyse af model og output fra analyse af model Vi kan skrive dette formelt som
anova(lm(modelformel2),lm(modelformel1))
I tilfældet med model fra (4.2.2), hvor alle observationerne har samme middelværdi, foregår analysen med kaldet lm(x1). For at teste at alle middelværdierne er ens, bliver kaldet til anova:
anova(lm(x1),lm(xG))
Output fra anova er en Testtabel. Denne har 2 rækker og 7 søjler. Strukturen er som følger.
Søjlen RSS indeholder for de to modeller, og Res.Df de tilhørende frihedsgrader. Til beregning af -testet skal vi bruge som fremkommer som hvor Df kan beregnes som differensen mellem de to værdier under Res.Df, og Sum of Sq kan beregnes som differensen mellem de to værdier under RSS (dette beskrives nøjere i afsnit 4.7). Søjlen indeholder -teststørrelsen og søjlen Pr(>F) angiver den tilhørende -værdi beregnet fra en -fordeling.

4.4.2 Analyse af data omkring metoder til håndvask

For datasættet beskrevet i starten af afsnit 4.2 lader vi være bakterietallet for den 'te måling og lader være den tilhørende metode til håndvask. Vi betragter modellen
hvor middelværdiparametrene og kan variere frit. Kør følgende kode for at få lavet en parametertabel for modellen.

4.4.1 Parametertabel i ensidet variansanalyse

Eftersom niveauet "antibakspray" kommer først i en leksikografisk ordning, er Intercept i parametertabellen Skønnet over forskellen mellem at bruge antibakteriel sæbe (antisaebe) og antibakteriel spray er som står i rækken "metodeantisaebe". I samme række ses, at -værdien er 0.0067 for et -test af, at forskellen i middelværdi er nul (de to middelværdier er ens). Da -værdien er langt under 0.05, tyder data altså på en forskel i de to metoder til håndvask. Hvis I erstatter "summary" med "confint", kan I se, at 95%-konfidensintervallet for forskel mellem de to middelværdier er Dette er et bredt interval, hvilket afspejler, at der kun er 8 observationer i hver gruppe og spredningen i bakterietallet fra dag til dag er stort: skønnet over spredningen er
Parametertabellen indeholder tre -test for forskel i middelværdier. Hvis nu de tre -værdier alle havde været 0.06, skulle vi så konkludere, at data ikke strider mod at alle fire middelværdier er ens? Svaret er nej, for eksempel kunne ligge over og kunne ligge under og så ville data tyde på en forskel mellem og For at teste hypotesen om ens middelværdier
benyttes kommandoen anova som vist i den følgende kode.

4.4.2 Teste middelværdier ens med anova

Genfind -teststørrelsen og -værdien fra afsnit 6.3 i testtabellen. Beregn også ud fra tallene i testtabellen.

Test dig selv

Betragt igen analysen af modellen, hvor hver gruppe har sin egen middelværdi.
Beregn ud fra parametertabellen skøn over de fire middelværdier. Kør så koden igen, hvor du tilføjer "-1" lige efter "metode" i modelformlen for at kontrollere dine beregninger.
Hvis vi gerne vil se forskellen mellem at bruge enten sæbe eller at bruge antibakteriel sæbe, tilføjer vi kommandoen metode=relevel(metode,"saebe") lige efter linjen, hvor metode indskrives, således at "saebe" bliver brugt som Intercept. Prøv dette. Er den antibakterielle sæbe bedre end almindelig sæbe?

Svar: Bedre sæbe

Fra output fra summary under indgangen metodeantisaebe ses, at skøn over forkellen er -13.5, og et -test, for hypotesen at denne forskel er nul, giver en -værdi på 0.48. Den observerede forskel er derfor ikke stor nok, til at vi kan påvise en forskel i middelværdi.

ForegåendeNæste