4 T-test
4.1 One-sample T-test
Eksempel: Slagvolumen målt ved to metoder (parrede målinger, uge 1)
One-sample t-test på differenserne:
$dif <- ms$mf-ms$sv
mst.test( ms$dif )
One Sample t-test
data: ms$dif
t = 0.16, df = 20, p-value = 0.9
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
-2.932 3.408
sample estimates:
mean of x
0.2381
Bemærk at vi får gennemsnit incl CI udover p-værdien (og T-teststørrelsen).
Dette er det samme som et parret t-test som kan laves med
t.test( ms$mf, ms$sv, paired=T)
Paired t-test
data: ms$mf and ms$sv
t = 0.16, df = 20, p-value = 0.9
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-2.932 3.408
sample estimates:
mean of the differences
0.2381
Bemærk at output er identisk med output fra one-sample t-test på differenserne.
4.2 Two-sample T-test
Eksempel: Rygning og lungefunktion for Vietnam veteraner
Når vi bruger de forskellige varianter af t-test benytter vi formelnotation: På venstre side af ~
sætter vi responsen (feks FEV1
), på højre side den forklarende variabel, som SKAL være en kategorisk variabel (faktor) med to mulige værdier (feks smoke01
i datasættet viet
).
4.2.1 T-test uden forudsætning om ens varianser
Welch two-sample t-test:
t.test( FEV1 ~ smoke01, data=viet )
4.2.2 Test for ens varianser
Her findes forskellige varianter. I forbindelse med t-test i R benyttes ofte:
var.test( FEV1 ~ smoke01, data=viet )
Aflæs kun p-værdien. Er p-værdien > 0.05 er der ikke tegn på at varianserne er forskellige, er p-værdien < 0.05 konkluderer vi at varianserne er forskellige.
4.2.3 T-test med forudsætning om ens varianser
Det sædvanlige t-test, også kendt som Student’s t-test, antager at variansen (spredningen) er den samme i de to grupper. Det specificeres med ekstra argument var.equal=TRUE
:
t.test( FEV1 ~ smoke01, data=viet, var.equal=TRUE )
4.2.4 Stikprøveberegning two-sample t-test
Forudsætning om ens varianser i de to grupper. Her specificerer vi f.eks.
- forskel i gennemsnit på
delta=5
\((=\mu_1-\mu_2)\) - samme spredning (SD) i de to grupper på
sd=20
- power på 80%,
power=0.8
Når vi ønsker at beregne stikprøvestørrelse n i hver gruppe, angiver vi kun delta, SD og power.
power.t.test( delta = 5, sd = 20, power = 0.8 )
Two-sample t test power calculation
n = 252.1
delta = 5
sd = 20
sig.level = 0.05
power = 0.8
alternative = two.sided
NOTE: n is number in *each* group
Ønsker vi i stedet at beregne power for en given stikprøvestørrelse n udelader vi tilsvarende blot at angive en værdi til power-argumentet, når vi benytter power.t.test()
, f.eks.:
power.t.test( delta = 5, sd = 20, n=200 )
Man kan ændre signifikansniveau (ekstra argument alpha
), vælge ensidet i stedet for tosidet test (sjældent!) ligesom man også kan få power.t.test()
til at lave powerberegning for et one-sample eller parret t-test. Se dokumentationen (help(power.t.test)
) eller prøv at google.
Ønsker man at grupperne ikke skal være lige store skal man i stedet benytte pakken MESS
install.packages("MESS") # koer een gang og slet linjen
Her er der et ekstra argument til funktionen power_t_test()
hvori man angiver forholdet mellem antal observationer i de to grupper (her ratio=3
svarende til at vi ønsker 3 gange så mange i den ene gruppe (3:1 randomisering, 1/4 i den lille gruppe))
library(MESS)
power_t_test(delta=5,sd=20,power=.80,ratio=3)
Two-sample t test power calculation with unequal sample sizes
n = 168.6, 505.7
delta = 5
sd = 20, 20
sig.level = 0.05
power = 0.8
alternative = two.sided
NOTE: n is vector of number in each group
Vi skal altså have 169 individer i den ene gruppe, 506 i den anden for at opnå en power på 0.8.