ein- bis dreifaktorieller Designs

Erforderliche Pakete laden

library(ggplot2)  # Grafik

Einfaktoriell

Datensatz einlesen, Variablen spezifizieren und Konfidenzintervallbreiten berechnen

# Datensatz einlesen
Methode <- c(rep(c("Methode A", "Methode B"), c(10,10))) 
Lernerfolg <- c(15,45,16,41,7,48,46,37,40,35,5,36,18,25,10,40,43,30,35,29)
data <- data.frame(Methode, Lernerfolg)

# Variablen spezifizieren
Faktor <- "Methode"   # Name des Faktors eingeben
AV <- "Lernerfolg"    # Name der abhängigen Variable eingeben
CI <- .95             # gewünschtes Konfidenzintervall eingeben. Kein Konfidenzintervall: CI  <- 0

Liniendiagramm

# Konfidenzintervallbreiten berechnen
data2 <- na.omit(data[, c(AV, Faktor), drop=FALSE])
Kennwerte <- function(x) c(lsmean=mean(x), lower.CL=mean(x)-sd(x)/sqrt(length(x))*qt((1+CI)/2, length(x)-1), upper.CL=mean(x)+sd(x)/sqrt(length(x))*qt((1+CI)/2, length(x)-1))
Formel <- as.formula(paste(".~", Faktor))
data.aggr <- aggregate(Formel, data2[,c(Faktor, AV)], Kennwerte)
data.aggr <- data.frame(data.aggr[,Faktor, drop=FALSE],data.aggr[,AV])

# Schwarzweissversion
library(ggplot2)
ggplot(data.aggr, aes_string(x=Faktor, y="lsmean", group=1)) + geom_line(size=1) + geom_point(size=3) + geom_errorbar(aes(ymax = upper.CL, ymin = lower.CL), width=0.25, size=0.4) + ylab(AV) + theme_bw()

# Farbige Version
library(ggplot2)
ggplot(data.aggr, aes_string(x=Faktor, y="lsmean")) + geom_line(aes_string(group=1), size=1, colour="red") + geom_errorbar(aes(ymax = upper.CL, ymin = lower.CL), width=0.25, size=0.4) + ylab(AV) + theme_gray()

Zweifaktoriell

Datensatz einlesen, Variablen spezifizieren und Konfidenzintervallbreiten berechnen

# Datensatz einlesen
Geschlecht <- rep(rep(c("Männer", "Frauen"),3), c(8,6,5,2,4,3))
Therapie <- rep(c("VT", "GT", "PA"), c(14, 7, 7))
GSR <- c(14,16,31,23,28,23,33,28,21,30,35,30,40,35,51,43,48,53,58,28,43,49,56,58,49,37,47,42)
data <- data.frame(Geschlecht, Therapie, GSR)

# Variablen definieren
Faktor1 <- "Therapie"     # Name des ersten Faktors eingeben (Abszisse)
Faktor2 <- "Geschlecht"   # Name des zweiten Faktors eingeben (Farbe)
AV <- "GSR"               # Name der abhängigen Variable eingeben
CI <- .95                 # gewünschtes Konfidenzintervall eingeben. Kein Konfidenzintervall: CI  <- 0

Liniendiagramm

# Konfidenzintervallbreiten berechnen
data2 <- na.omit(data[, c(AV, Faktor1, Faktor2), drop=FALSE])
Kennwerte <- function(x) c(lsmean=mean(x), lower.CL=mean(x)-sd(x)/sqrt(length(x))*qt((1+CI)/2, length(x)-1), upper.CL=mean(x)+sd(x)/sqrt(length(x))*qt((1+CI)/2, length(x)-1))
Formel <- as.formula(paste(".~", paste(c(Faktor1, Faktor2), collapse="+")))
data.aggr <- aggregate(Formel, data2[,c(c(Faktor1, Faktor2), AV)], Kennwerte)
data.aggr <- data.frame(data.aggr[,c(Faktor1,Faktor2)], data.aggr[,AV])

# Schwarzweissversion
library(ggplot2)
ggplot(data.aggr, aes_string(x=Faktor1, y="lsmean", group= Faktor2, shape=Faktor2)) + geom_line(size=0.8) + geom_point(size=3) + geom_errorbar(aes(ymax = upper.CL, ymin = lower.CL), position=position_dodge(width=0.1), width=0.25, size=0.4) + ylab(AV) + theme_bw()

# Farbige Version
library(ggplot2)
ggplot(data.aggr, aes_string(colour=Faktor2, y="lsmean", x=Faktor1)) + geom_line(aes_string(group=Faktor2), size=1) + geom_errorbar(aes(ymax = upper.CL, ymin = lower.CL), position=position_dodge(width=0.1), width=0.25, size=0.4) + ylab(AV) + theme_gray()

Dreifaktoriell

Datensatz einlesen, Variablen spezifizieren und Konfidenzintervallbreiten berechnen

# Datensatz einlesen
Gruppe <- rep(c("fifth Grade", "Seniors"), c(30,30))
Feedback <- rep(c("keines", "positiv", "negativ"), each=10, len=60)
Emotion <- rep(c("hoch","niedrig"), each=5, len=60)
Behaltensleistung <- c(9.5, 9.0, 8.0,7.0,6.5,10.5,10.0,9.0,8.0,7.5,5.5,5.0,4.0,3.0,
2.5,9.5,9.0,8.0,7.0,6.5,5.0,4.5,3.5,2.5,2.0,9.0,8.5,7.5,6.5,6.0,9.0,8.5,7.5,6.5,6.0,
10.5,10.0,9.0,8.0,7.5,8.7,8.2,7.2,6.2,5.7,10.0,9.5,8.5,7.5,7.0,8.5,8.0,7.0,6.0,5.5,9.5,
9.0,8.0,7.0,6.5)
data <- data.frame(Gruppe, Feedback, Emotion, Behaltensleistung)

# Variablen spezifizieren
Faktor1 <- "Feedback"       # Name des ersten Faktors eingeben (Abszisse)
Faktor2 <- "Emotion"        # Name des zweiten Faktors eingeben (Farbe)
Faktor3 <- "Gruppe"         # Unterteilung der Plots
AV <- "Behaltensleistung"   # Name der abhängigen Variable eingeben
CI <- .95                   # gewünschtes Konfidenzintervall eingeben. Kein Konfidenzintervall: CI  <- 0

Liniendiagramm

# Konfidenzintervallbreiten berechnen
data2 <- na.omit(data[, c(AV, Faktor1, Faktor2, Faktor3), drop=FALSE])
Kennwerte <- function(x) c(lsmean=mean(x), lower.CL=mean(x)-sd(x)/sqrt(length(x))*qt((1+CI)/2, length(x)-1), upper.CL=mean(x)+sd(x)/sqrt(length(x))*qt((1+CI)/2, length(x)-1))
Formel <- as.formula(paste(".~", paste(c(Faktor1, Faktor2, Faktor3), collapse="+")))
data.aggr <- aggregate(Formel, data2[,c(c(Faktor1, Faktor2, Faktor3), AV)], Kennwerte)
data.aggr <- data.frame(data.aggr[,c(Faktor1,Faktor2, Faktor3)], data.aggr[,AV])

# Schwarzweissversion
library(ggplot2)
ggplot(data.aggr, aes_string(x=Faktor1, y="lsmean", group=Faktor2, shape=Faktor2)) + geom_line(size=1) + geom_point(size=3) + geom_errorbar(aes(ymax = upper.CL, ymin = lower.CL), position=position_dodge(width=0.1), width=0.25, size=0.4) + facet_grid(paste("~", Faktor3), scales="fixed", drop=TRUE) + ylab(AV) + theme_bw()

# Farbige Version
library(ggplot2)
ggplot(data.aggr, aes_string(x=Faktor1, y="lsmean", colour=Faktor2)) + geom_line(aes_string(group=Faktor2), size=1) + geom_errorbar(aes(ymax = upper.CL, ymin = lower.CL), position=position_dodge(width=0.1), width=0.25, size=0.4) + facet_grid(paste("~", Faktor3), scales="fixed", drop=TRUE) + ylab(AV) + theme_gray()