Erforderliche Pakete laden

library(lsr)    # Umwandlung des Datensatzes von wide in long
library(coin)   # Friedmantest
library(PMCMR)  # Post-hoc-Tests
library(crank)  # Trendtest nach Page

Datensatz einlesen und Variablen spezifizieren

# 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

Signifikanztest und mittlere Rangsummen

# 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)]))


Grafiken

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.