library(lsr) # Umwandlung des Datensatzes von wide in long
library(coin) # Friedmantest
library(PMCMR) # Post-hoc-Tests
library(crank) # Trendtest nach Page
# Datensatz in der wide-version anlog SPSS, d.h. pro Proband eine Zeile. Logik der Variablennamen beachten!
Leistung_BI0 <- c(10,10,8,7,9,9,9,8)
Leistung_BI10 <- c(5,8,8,2,4,10,3,6)
Leistung_BI20 <- c(6,2,1,0,1,2,2,4)
Leistung_BI40 <- c(1,0,1,1,1,0,1,0)
data <- data.frame(Leistung_BI0,Leistung_BI10,Leistung_BI20,Leistung_BI40)
# Variablen spezifizieren
Spaltennummern <- c(1,2,3,4) # Spaltennummern der für die Analyse benötiten Variablen
Faktor <- "Behaltensintervall" # Name des Faktors mit abhängigen Stichproben eingeben
AV <- "Leistung" # Name der abhängigen Variable eingeben: gleich wie in obigem Datensatz
# Listwise Deletion
data2 <- na.omit(data[, Spaltennummern, drop=FALSE])
# Der Datensatz muss eine Spalte "Block" mit den Probanden-IDs enthalten.
data2$Block <- as.factor(1:nrow(data2))
# Datensatz von wide in long umwandeln
library(lsr)
data.long <- wideToLong(data2, within=Faktor)
# Signifikanzrest
library(coin)
model <- as.formula(paste(AV,"~",Faktor, "|Block"))
test <- friedman_test(model, data = data.long)
# Mittlere Ränge
rr <- tapply(data.long[,AV], INDEX=list(data.long$Block), rank)
data.long$Rank <- 0
for (i in 1:nlevels(data.long$Block)) data.long$Rank[which(data.long$Block==i)] <- rr[i][[1]]
mrs <- tapply(data.long$Rank, data.long[,Faktor], mean)
# Post-hoc-Tests
library(PMCMR)
post.hoc <- posthoc.friedman.conover.test(y=as.matrix(data2[,-ncol(data2)]), p.adjust="holm")
list("Mittlere Rangsummen"=mrs, Signifikanztest=test, "Post-hoc-Tests"=post.hoc)
## $`Mittlere Rangsummen`
## BI0 BI10 BI20 BI40
## 3.8125 3.0625 1.8750 1.2500
##
## $Signifikanztest
##
## Asymptotic Friedman Test
##
## data: Leistung by
## Behaltensintervall (BI0, BI10, BI20, BI40)
## stratified by Block
## chi-squared = 19.909, df = 3, p-value = 0.0001773
##
##
## $`Post-hoc-Tests`
##
## Pairwise comparisons using Conover's test for a two-way
## balanced complete block design
##
## data: as.matrix(data2[, -ncol(data2)])
##
## Leistung_BI0 Leistung_BI10 Leistung_BI20
## Leistung_BI10 0.01658 - -
## Leistung_BI20 1.1e-06 0.00045 -
## Leistung_BI40 1.3e-08 2.4e-06 0.02422
##
## P value adjustment method: holm
Hinweis: Trendtest nach Page
# library(crank)
# page.trend.test(as.matrix(data2[,-ncol(data2)]))
Für Boxplots, Histogramme und Liniendiagramme (Interaktionsplots) müssen Sie den Datensatz “data.long” verwenden! Speichern Sie Ihren Originaldatensatz unter data4: data4 <- data
Setzen Sie data <- data.long
Spezifizieren Sie die Variablen gemäss Vorlage des gewünschten Plots. Beispiel für den Boxplot:
data4 <- data # Originaldatensatz unter data4 speichern
data <- data.long
# Variablen spezifizieren
Faktor <- "Behaltensintervall" # Name des Faktors eingeben
AV <- "Leistung" # Name der abhängigen Variable eingeben
# Anschliessend können Sie alle Befehle nach 'Variablen spezifizieren' ausführen.