# Daten einlesen
setwd("~/Methodenberatung/Lehrportal/t.test -neu")
dat <- read.csv("ttest_example.csv")
# head(dat)
## t-tests
### 1-sample t-test mean =/= 0 (selten verwendet):
ttest1 <- t.test(dat$DV, mu = 0)
ttest1
##
## One Sample t-test
##
## data: dat$DV
## t = 53.195, df = 108, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## 46.67969 50.29314
## sample estimates:
## mean of x
## 48.48641
### zweiseitiger Welch t-test für unabhängige Stichproben
# (robust bei Heteroskedastizität)
ttest2 <- t.test(dat$DV ~ dat$Group,
var.equal = F)
ttest2
##
## Welch Two Sample t-test
##
## data: dat$DV by dat$Group
## t = 4.4058, df = 106.93, p-value = 2.513e-05
## alternative hypothesis: true difference in means between group Gr1 and group Gr2 is not equal to 0
## 95 percent confidence interval:
## 3.979247 10.489524
## sample estimates:
## mean in group Gr1 mean in group Gr2
## 51.53946 44.30507
# Mittelwerte per group:
m1 = ttest2[["estimate"]][["mean in group Gr1"]]
m1
## [1] 51.53946
m2 = ttest2[["estimate"]][["mean in group Gr2"]]
m2
## [1] 44.30507
# Standardabweichung per group:
sd1 = aggregate(dat$DV ~ dat$Group, FUN = sd)[1,2]
sd1
## [1] 9.815275
sd2 = aggregate(dat$DV ~ dat$Group, FUN = sd)[2,2]
sd2
## [1] 7.326906
# cohens d:
cohensd = (m1 - m2)/sqrt((sd1^2 + sd2^2)/2)
# Korrekter Berichtssatz:
cat("Die Gruppen unterscheiden sich (nicht) signifikant in ihren Mittelwerten (M1 =", m1,
", M2 = ", m2,
", SD1 = ", sd1,
", SD2 = ", sd2,
"; t(", ttest2[["parameter"]][["df"]],
") = ", ttest2[["statistic"]][["t"]],
", p = ", ttest2[["p.value"]],
", d = ", cohensd, ".")
## Die Gruppen unterscheiden sich (nicht) signifikant in ihren Mittelwerten (M1 = 51.53946 , M2 = 44.30507 , SD1 = 9.815275 , SD2 = 7.326906 ; t( 106.9339 ) = 4.40578 , p = 2.512651e-05 , d = 0.8352904 .
# Einseitiger Welch-t-Test für unabhängige Stichproben
ttest2.b <- t.test(dat$DV ~ dat$Group,
alternative = "greater", # hier: Gr1 > Gr2 (alternativ: "less")
var.equal = F)
ttest2.b
##
## Welch Two Sample t-test
##
## data: dat$DV by dat$Group
## t = 4.4058, df = 106.93, p-value = 1.256e-05
## alternative hypothesis: true difference in means between group Gr1 and group Gr2 is greater than 0
## 95 percent confidence interval:
## 4.509897 Inf
## sample estimates:
## mean in group Gr1 mean in group Gr2
## 51.53946 44.30507
### t-Test für abhängige Stichproben (= paired t-Test)
# daten einlesen (müssen im wide format sein, siehe unten für Beispiel mit long format)
dat_wide <- read.csv("ttest_example2.csv")
View(dat_wide)
# head(dat)
# t-test für abhängige Stichproben
ttest3 <- t.test(dat_wide$DV, dat_wide$DV_post, paired = T)
ttest3
##
## Paired t-test
##
## data: dat_wide$DV and dat_wide$DV_post
## t = 3.3598, df = 45, p-value = 0.001597
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
## 2.674638 10.680881
## sample estimates:
## mean difference
## 6.67776
# t-Test für abhänge Stichproben und long format
library(tidyr)
dat_long2<-gather(dat_wide,pre_post,DV,DV,DV_post) # Erstelle long format aus wide format
View(dat_long2)
ttest3.b <- with(dat_long2,t.test(x=DV[pre_post=="DV"]#*
, y=DV[pre_post=="DV_post"],
paired= T))
ttest3.b
##
## Paired t-test
##
## data: DV[pre_post == "DV"] and DV[pre_post == "DV_post"]
## t = 3.3598, df = 45, p-value = 0.001597
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
## 2.674638 10.680881
## sample estimates:
## mean difference
## 6.67776
#* x gibt die Spalte in der die Messungen (nummerisch) stehen an und [] z.B. wie hier den Messzeitpunkt