<- data.frame(
df vorher = c(147, 163, 121, 205, 132, 190, 176, 147),
nachher = c(150, 171, 132, 208, 141, 184, 182, 145)
)
53 Lösungen Konfidenzintervalle (2 Stichproben)
Hier finden Sie die Lösungen zu den Übungsaufgaben von Abschnitt 44.9.
Die hier vorgestellten Lösungen stellen immer nur eine mögliche Vorgehensweisen dar und sind sicherlich nicht der Weisheit letzter Schluss. In R
führen viele Wege nach Rom, und wenn Sie mit anderem Code zu den richtigen Ergebnissen kommen, dann ist das völlig in Ordnung.
53.1 Lösung zur Aufgabe 44.9.1
vorher
und nachher
und übertragen Sie die Daten.
mean(df$vorher)
[1] 160.125
mean(df$nachher)
[1] 164.125
Der Mittelwert ist nach der Kampagne höher.
# t-Tests durchführen
<- t.test (df$vorher, df$nachher, paired=TRUE, conf.level=0.95)
a5 <- t.test (df$vorher, df$nachher, paired=TRUE, conf.level=0.99)
a1
# nur Konfidenzintervalle anzeigen
as.numeric(a5$conf.int)
[1] -8.8129585 0.8129585
as.numeric(a1$conf.int)
[1] -11.122852 3.122852
Beide Intervalle “reißen” die \(0\). Das bedeutet, dass der wahre Unterschied auch 0
sein könnte.
# Daten neu eingeben
<- data.frame(
df vorher = c(147, 163, 121, 205, 132, 190, 176, 147),
nachher = c(150, 171, 132, 208, 141, 184, 190, 165)
)# t-Tests durchführen
<- t.test (df$vorher, df$nachher, paired=TRUE, conf.level=0.95)
a5 <- t.test (df$vorher, df$nachher, paired=TRUE, conf.level=0.99)
a1
# nur Konfidenzintervalle anzeigen
as.numeric(a5$conf.int)
[1] -13.740228 -1.259772
as.numeric(a1$conf.int)
[1] -16.735113 1.735113
Das 95%-Intervall lässt einen Unterschied vermuten. Das 99%-Intervall hingegen enthält immer noch die 0
.
53.2 Lösung zur Aufgabe 44.9.2
Hof1
und Hof2
.
# Daten übertragen
<- data.frame(Fett = c(0.34, 0.34,
Hof1 0.32, 0.35,
0.33, 0.33,
0.32, 0.32,
0.33, 0.30,
0.31, 0.32))
$Hof <- "Hof 1"
Hof1
<- data.frame(Fett = c(0.28, 0.29,
Hof2 0.30, 0.32,
0.32, 0.31,
0.29, 0.29,
0.31, 0.32,
0.29, 0.31,
0.33, 0.32,
0.32, 0.33))
$Hof <- "Hof 2"
Hof2
<- rbind(Hof1, Hof2)
milch $Hof <- factor(milch$Hof) milch
Hof1
und Hof2
.
# Daten übertragen
# zuvor auf gleiche Varainz prüfen
var.test(Hof1$Fett, Hof2$Fett)$p.value
[1] 0.626044
Der Test ist nicht signifikant, die Varianz ist in beiden Höfen gleich.
# t.Test
<- t.test(Fett ~ Hof, data=milch, var.equal=TRUE)
d # Konfidenzintervall anzeigen
as.numeric(d$conf.int)
[1] 0.00584816 0.02956851
Hof1
als die Milch von Hof2
?
<- t.test(Fett ~ Hof, data=milch, var.equal=TRUE)
d d
Two Sample t-test
data: Fett by Hof
t = 3.0691, df = 26, p-value = 0.004973
alternative hypothesis: true difference in means between group Hof 1 and group Hof 2 is not equal to 0
95 percent confidence interval:
0.00584816 0.02956851
sample estimates:
mean in group Hof 1 mean in group Hof 2
0.3258333 0.3081250
# Unterschied
$estimate[1] - d$estimate[2] d
mean in group Hof 1
0.01770833
Hof1 hat 0.0177083 mehr Fett in der Milch als Hof2. Da das Intervall die 0 nicht mit einschließt, können wir von einem Signifikanten Unterschied ausgehen.
53.3 Lösung zur Aufgabe 44.9.3
Antwort
und Geschlecht
.
# Daten übertragen
<- data.frame(
df Antwort = c("nein", "ja", "nein", "nein", "nein", "ja", "nein",
"ja", "ja", "ja", "ja", "nein", "ja", "nein", "ja",
"nein", "nein", "nein", "ja", "ja", "ja", "nein",
"nein", "ja", "nein", "nein", "ja", "ja", "nein",
"nein", "ja", "nein", "ja", "nein"),
Geschlecht = c("m", "w", "w", "m", "m", "m", "w", "w", "w", "w",
"m", "m", "w", "m", "w", "m", "m", "w", "m", "w",
"w", "w", "m", "w", "m", "m", "w", "w", "m", "m",
"w", "w", "w", "m")
)
<- table(df)
freq prop.test(c(freq[["ja","m"]], freq[["ja","w"]]),
c(sum(freq[,"m"]), sum(freq[,"w"])),
alternative="two.sided", conf.level=0.95)
2-sample test for equality of proportions with continuity correction
data: c(freq[["ja", "m"]], freq[["ja", "w"]]) out of c(sum(freq[, "m"]), sum(freq[, "w"]))
X-squared = 7.6937, df = 1, p-value = 0.005541
alternative hypothesis: two.sided
95 percent confidence interval:
-0.8755141 -0.1939304
sample estimates:
prop 1 prop 2
0.1875000 0.7222222
Das Konfidenzintervall schließt die 0 nicht mit ein. Wir können von einem signifikanten Unterschied ausgehen.
53.4 Lösung zur Aufgabe 44.9.4
<- data.frame(course = c(rep("bestanden", 55), rep("durchgefallen", 25),
df rep("bestanden", 32), rep("durchgefallen", 58)),
time = c(rep("morgens", 80), rep("abends", 90))
)
<- table(df)
freq prop.test(c(freq[["bestanden","morgens"]], freq[["bestanden","abends"]]),
c(sum(freq[,"morgens"]), sum(freq[,"abends"])),
alternative="two.sided", conf.level=0.95)
2-sample test for equality of proportions with continuity correction
data: c(freq[["bestanden", "morgens"]], freq[["bestanden", "abends"]]) out of c(sum(freq[, "morgens"]), sum(freq[, "abends"]))
X-squared = 17.372, df = 1, p-value = 3.072e-05
alternative hypothesis: two.sided
95 percent confidence interval:
0.1783764 0.4855125
sample estimates:
prop 1 prop 2
0.6875000 0.3555556
Das Konfidenzintervall enthält nicht die 0. Wir können also von einem signifikanten Unterschied ausgehen.
53.5 Lösung zur Aufgabe 44.9.5
<- data.frame(vorher = c(182, 232, 191, 200, 148, 249, 276, 213, 241, 280, 262),
df nachher = c(198, 210, 194, 220, 138, 220, 219, 161, 210, 213, 226)
)
t.test(df$vorher, df$nachher, paired=TRUE, conf.level=0.95)
Paired t-test
data: df$vorher and df$nachher
t = 2.756, df = 10, p-value = 0.02027
alternative hypothesis: true mean difference is not equal to 0
95 percent confidence interval:
4.614342 43.567477
sample estimates:
mean difference
24.09091
t.test(df$vorher, df$nachher, paired=TRUE, conf.level=0.99)
Paired t-test
data: df$vorher and df$nachher
t = 2.756, df = 10, p-value = 0.02027
alternative hypothesis: true mean difference is not equal to 0
99 percent confidence interval:
-3.61228 51.79410
sample estimates:
mean difference
24.09091
<- t.test(df$vorher, df$nachher, paired=TRUE, conf.level=0.99)
d as.numeric(d$conf.int)
[1] -3.61228 51.79410
Das 99% Intervall enthält die 0. Auf diesem Niveau können wir den Unterschied nicht bestätigen.
53.6 Lösung zur Aufgabe 44.9.6
<- data.frame(satisf = c(rep("zufrieden", 140), rep("unzufrieden", 60),
df rep("zufrieden", 180), rep("unzufrieden", 120)),
haus = c(rep("Haus 1", 200), rep("Haus 2", 300))
)
<- table(df)
freq prop.test(c(freq[["zufrieden","Haus 1"]], freq[["zufrieden","Haus 2"]]),
c(sum(freq[,"Haus 1"]), sum(freq[,"Haus 2"])),
alternative="two.sided", conf.level=0.95)
2-sample test for equality of proportions with continuity correction
data: c(freq[["zufrieden", "Haus 1"]], freq[["zufrieden", "Haus 2"]]) out of c(sum(freq[, "Haus 1"]), sum(freq[, "Haus 2"]))
X-squared = 4.7833, df = 1, p-value = 0.02874
alternative hypothesis: two.sided
95 percent confidence interval:
0.01153209 0.18846791
sample estimates:
prop 1 prop 2
0.7 0.6
prop.test(c(freq[["zufrieden","Haus 1"]], freq[["zufrieden","Haus 2"]]),
c(sum(freq[,"Haus 1"]), sum(freq[,"Haus 2"])),
alternative="two.sided", conf.level=0.99)
2-sample test for equality of proportions with continuity correction
data: c(freq[["zufrieden", "Haus 1"]], freq[["zufrieden", "Haus 2"]]) out of c(sum(freq[, "Haus 1"]), sum(freq[, "Haus 2"]))
X-squared = 4.7833, df = 1, p-value = 0.02874
alternative hypothesis: two.sided
99 percent confidence interval:
-0.01495727 0.21495727
sample estimates:
prop 1 prop 2
0.7 0.6
Wenn \(\alpha = 0,01\) verwendet wird, enthält das Intervall die 0. Auf diesem Niveau können wir keinen signifikanten Unterschied zeigen.
53.7 Lösung zur Aufgabe 44.9.7
# lade Datensatz
load(url("https://www.produnis.de/R/data/neonates.RData"))
# subsets
<- subset(neonates, smoke=="Yes")
k1 <- subset(neonates, smoke=="No")
k2
# t-Test
<- t.test(k1$weight, k2$weight, conf.level = 0.95)
d
# Konfidenzgrenzen
as.numeric(d$conf.int)
[1] -0.3714943 -0.2179094
# Unterschied
$estimate[2] - d$estimate[1] d
mean of y
0.2947018
Der Unterschied beträg 0.29kg.
# subsets
<- subset(neonates, smoke=="No")
k <- subset(k, smoke.before=="Yes")
k1 <- subset(k, smoke.before=="No")
k2
# t-Test
<- t.test(k1$weight, k2$weight, conf.level = 0.95)
d
# Konfidenzgrenzen
as.numeric(d$conf.int)
[1] -0.23226491 0.03252437
# Unterschied
$estimate[2] - d$estimate[1] d
mean of y
0.09987027
Das Konfidenzintervall enthält die 0, das heisst, wir können nicht von einem signifikanten Unterschied ausgehen.
# t-Test
<- t.test(neonates$apgar1, neonates$apgar5, conf.level = 0.95)
d
# Konfidenzgrenzen
as.numeric(d$conf.int)
[1] -0.8093862 -0.3593638
# Unterschied
$estimate[2] - d$estimate[1] d
mean of y
0.584375
Nach 5 Minuten haben die Neugeborenen einen im Schnitt 0,58 Punkte höheren APGAR-Wert.
# neue Variable "kritisch"
$kritisch <- "normal"
neonates# nur solche mit APGAR<4 sind kritisch
$kritisch[neonates$apgar1<4] <- "kritisch"
neonates
<- table(neonates$kritisch, neonates$smoke)
freq
<- prop.test(c(freq[["kritisch","No"]], freq[["kritisch","Yes"]]),
d c(sum(freq[,"No"]), sum(freq[,"Yes"])),
alternative="two.sided", conf.level=0.90)
# Konfidenzgrenzen
as.numeric(d$conf.int)
[1] -0.22157738 -0.07478626
# Unterschied
$estimate[2] - d$estimate[1] d
prop 2
0.1481818
Bei Raucherinnen sind durchschnittlich 15% mehr Neugeborene im kritischen Zustand zu finden als bei Nichtraucherinnen.
# neue Variable "kritisch"
$kritisch <- "normal"
neonates# nur solche mit APGAR<4 sind kritisch
$kritisch[neonates$apgar1<4] <- "kritisch"
neonates
<- table(neonates$kritisch, neonates$age)
freq
<- prop.test(c(freq[["kritisch","greater than 20"]],
d "kritisch","less than 20"]]),
freq[[c(sum(freq[,"greater than 20"]),
sum(freq[,"less than 20"])),
alternative="two.sided", conf.level=0.95)
# Konfidenzgrenzen
as.numeric(d$conf.int)
[1] -0.151048570 0.006238353
# Unterschied
$estimate[2] - d$estimate[1] d
prop 2
0.07240511
Das 95% Intervall enthält die 0. Wir können keinen signifikanten Unterschied feststellen.