2.2.5. Feladatok megoldása kétmintás t-próbára
A kérdés megválaszolása előtt vizsgáljuk meg az adattábla szerkezetét:
data(energy, package = "ISwR")
str(energy)
'data.frame': 22 obs. of 2 variables:
$ expend : num 9.21 7.53 7.48 8.08 8.09 ...
$ stature: Factor w/ 2 levels "lean","obese": 2 1 1 1 1 1 1 1 1 1 ...
A fenti outputból látható, hogy az alkat (stature
) változó kétszintű faktor, az energia-felhasználás értékeit két csoportra osztja. A kétmintás t-próba végrehajtása előtt ebben a formában kell tárolni az adatainkat, így a szokásos formula argumentumot adhatjuk a függvényeinknek (pl. t.test()
, wilcox.test()
).
A kétmintás t-próba végrehajtása a fentiek alapján:
t.test(expend ~ stature, data = energy)
Welch Two Sample t-test
data: expend by stature
t = -3.856, df = 15.92, p-value = 0.001411
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-3.459 -1.004
sample estimates:
mean in group lean mean in group obese
8.066 10.298
Láthatjuk, hogy a t.test()
alapértelmezett hívása a Welch-próba végrehajtását jelenti. Amennyiben a varianciák a két csoportban megegyeznek, akkor a t-próba végrehajtása is kezdeményezhető:
t.test(expend ~ stature, data = energy, var.equal = T)
Two Sample t-test
data: expend by stature
t = -3.946, df = 20, p-value = 0.000799
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-3.411 -1.052
sample estimates:
mean in group lean mean in group obese
8.066 10.298
t.test(x = energy$expend[energy$stature == "lean"], y = energy$expend[energy$stature ==
"obese"], data = energy, var.equal = T)
Two Sample t-test
data: energy$expend[energy$stature == "lean"] and energy$expend[energy$stature == "obese"]
t = -3.946, df = 20, p-value = 0.000799
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-3.411 -1.052
sample estimates:
mean of x mean of y
8.066 10.298
Először oldjuk meg a feldatot a t.test()
függvénnyel.
magan <- c(13600, 13495, 16590, 17300, 23400, 12500)
allami <- c(7050, 9000, 6450, 9758, 7050, 7871, 16100)
t.test(x = magan, y = allami, var.equal = T)
Two Sample t-test
data: magan and allami
t = 3.491, df = 11, p-value = 0.005049
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
2627 11589
sample estimates:
mean of x mean of y
16148 9040
Mintaátlagok kiszámítása:
(mean.x <- mean(magan))
[1] 16148
(mean.y <- mean(allami))
[1] 9040
Szabadsági fokok száma:
(df <- length(magan) - 1 + length(allami) - 1)
[1] 11
A standard hiba és a t próbastatisztika értéke:
var.e <- ((length(magan) - 1) * var(magan) + (length(allami) - 1) * var(allami))/(length(magan) +
length(allami) - 2)
(se <- sqrt((var.e/length(magan)) + (var.e/length(allami))))
[1] 2036
(t.stat <- (mean.x - mean.y)/se)
[1] 3.491
A p-érték jelen kétoldali próba esetén:
2 * (1 - pt(q = t.stat, df = df))
[1] 0.005049
A 95%-os konfidencia-intervallum jelen kétoldali próba esetén:
(mean.x - mean.y) + c(-1, +1) * (qt(p = 1 - 0.05/2, df = df) * se)
[1] 2627 11589
Most oldjuk meg a feladatot Welch-féle d-próbával!
magan <- c(13600, 13495, 16590, 17300, 23400, 12500)
allami <- c(7050, 9000, 6450, 9758, 7050, 7871, 16100)
t.test(x = magan, y = allami, var.equal = F)
Welch Two Sample t-test
data: magan and allami
t = 3.436, df = 9.776, p-value = 0.006584
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
2485 11731
sample estimates:
mean of x mean of y
16148 9040
Mintaátlagok kiszámítása:
(mean.x <- mean(magan))
[1] 16148
(mean.y <- mean(allami))
[1] 9040
Szabadsági fokok száma:
a <- var(magan)/length(magan)
b <- var(allami)/length(allami)
(df <- (a + b)^2/((a^2/(length(magan) - 1)) + b^2/(length(allami) - 1)))
[1] 9.776
A standard hiba és a t próbastatisztika értéke:
(se <- sqrt((var(magan)/length(magan)) + (var(allami)/length(allami))))
[1] 2068
(t.stat <- (mean.x - mean.y)/se)
[1] 3.436
A p-érték jelen kétoldali próba esetén:
2 * (1 - pt(q = t.stat, df = df))
[1] 0.006584
A 95%-os konfidencia-intervallum jelen kétoldali próba esetén:
(mean.x - mean.y) + c(-1, +1) * (qt(p = 1 - 0.05/2, df = df) * se)
[1] 2485 11731
Először oldjuk meg a feldatot a t.test()
függvénnyel, hogy lássuk a klasszikus outputot:
magan <- c(13600, 13495, 16590, 17300, 23400, 12500)
allami <- c(7050, 9000, 6450, 9758, 7050, 7871, 16100)
t.test(x = magan, y = allami, var.equal = T)
Two Sample t-test
data: magan and allami
t = 3.491, df = 11, p-value = 0.005049
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
2627 11589
sample estimates:
mean of x mean of y
16148 9040
Az lsr
csomag independentSamplesTTest()
függvényének hívása csak a formula argumentumot fogadja, így alakítsuk át a két független adatvektort egy hosszú formátumú adattáblába:
magan <- c(13600, 13495, 16590, 17300, 23400, 12500)
allami <- c(7050, 9000, 6450, 9758, 7050, 7871, 16100)
library(reshape2)
d <- melt(list(magán = magan, állami = allami))
names(d) <- c("tandij", "iskola")
d$iskola <- factor(d$iskola, levels = c("magán", "állami"))
d
tandij iskola
1 13600 magán
2 13495 magán
3 16590 magán
4 17300 magán
5 23400 magán
6 12500 magán
7 7050 állami
8 9000 állami
9 6450 állami
10 9758 állami
11 7050 állami
12 7871 állami
13 16100 állami
Most elvégezzük a kétmintás t-próbát:
library(lsr)
independentSamplesTTest(formula = tandij ~ iskola, data = d, var.equal = T)
Student's independent samples t-test
Outcome variable: tandij
Grouping variable: iskola
Descriptive statistics:
magán állami
mean 16147.500 9039.857
std dev. 4023.744 3325.547
Hypotheses:
null: population means equal for both groups
alternative: different population means in each group
Test results:
t-statistic: 3.491
degrees of freedom: 11
p-value: 0.005
Other information:
two-sided 95% confidence interval: [2626.578, 11588.708]
estimated effect size (Cohen's d): 1.942
A feladat megoldása Welch-féle d-próbával:
library(lsr)
independentSamplesTTest(formula = tandij ~ iskola, data = d, var.equal = F)
Welch's independent samples t-test
Outcome variable: tandij
Grouping variable: iskola
Descriptive statistics:
magán állami
mean 16147.500 9039.857
std dev. 4023.744 3325.547
Hypotheses:
null: population means equal for both groups
alternative: different population means in each group
Test results:
t-statistic: 3.436
degrees of freedom: 9.776
p-value: 0.007
Other information:
two-sided 95% confidence interval: [2484.598, 11730.687]
estimated effect size (Cohen's d): 1.926