Konfidensinterval for middeldifferens

Indlæs igen datasættet fra forrige side, og split datasættet op i mænd og kvinder:

myFrame <-
    dget("https://statepi.statnoter.dk/data/myDataset.robj") #indlæs filen myDataset.robj, og gem data i dataframe'en "myFrame"
head(myFrame)
     id køn alder  bmi livvidde P-glucose(faste)
1 76891   2    20 36.1    105.0            4.496
2 79112   2    22 36.4    105.8            5.107
3 82414   1    68 28.6    104.2               NA
4 82116   2    18 46.7    128.4            5.384
5 74381   2    25 23.7     82.1            4.774
6 75714   1    54 23.9     88.8            8.660
male <- subset(myFrame, køn == 1)
female <- subset(myFrame, køn == 2)

På forrige side blev middelværdierne beregnet til:

mean_male <- round(mean(male$alder), 1) #beregn middelværdi
cat("Middel mænd = ", mean_male , "\n") #udskriv resultatet
Middel mænd =  40.9 
mean_female <- round(mean(female$alder), 1) #gentag for kvinderne
cat("Middel kvinder = ", mean_female)
Middel kvinder =  39.7

Og dermed er middelforskellen:

#Træk de to middelværdier fra hinanden:
cat("Middelforskel = ", mean_male - mean_female)
Middelforskel =  1.2

Dette er middelforskellen for stikprøven, men vi er jo typisk interesserede i hele målpopulationen. Så hvad kan vi sige om målpopulationens middelforskel? Igen kan det gøres ved at beregne et konfidensinterval, og igen er det nemmest at gøre i R, ved at lave en t-test - i dette tilfælde skal det så være en uparret t-test.

Det gøres som vist her:

t.test(x = male$alder, y = female$alder, paired = FALSE)

    Welch Two Sample t-test

data:  male$alder and female$alder
t = 0.41218, df = 190.58, p-value = 0.6807
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -4.407308  6.735810
sample estimates:
mean of x mean of y 
 40.85870  39.69444 

Konfidensintervallet for middelforskellen er altså [-4,4 ; 6,7] år. Specielt indeholder dette konfidensinterval 0, hvilket betyder at man altså ikke kan påvise en statistisk signifikant forskel i middelalder mellem mænd og kvinder i populationen (men derfor kan der godt være en forskel - middelforskellen kan jo også være -4 år eller +6 år).

Alternativ formel

Ovenstående beregning er lidt besværlig, da den først kræver at man opdeler sit datasæt i mænd og kvinder. Funktionen t.test har imidlertid en anden form, som er endnu hurtigere at skrive. Bemærk at de data vi ønsker at opdele efter findes i kolonnen “køn”, mens de data vi vil have beregnet middelforskel på findes i kolonnen “alder”. Konfidensintervallet kan nu beregnes som vist herunder, med udgangspunkt direkte i det oprindelige datasæt (vi vender senere tilbage til betydningen af notationen):

#beregning af middelforskel og konfidensinterval, uden at vi først er nødt til at opdele data
t.test(formula = alder ~ køn, data = myFrame)

    Welch Two Sample t-test

data:  alder by køn
t = 0.41218, df = 190.58, p-value = 0.6807
alternative hypothesis: true difference in means between group 1 and group 2 is not equal to 0
95 percent confidence interval:
 -4.407308  6.735810
sample estimates:
mean in group 1 mean in group 2 
       40.85870        39.69444 

Bemærk at vi her kommer direkte fra vores datasæt, med både mænd og kvinder, til et konfidensinterval for middeldifferencen.