Erforderliche Pakete laden
library(EMT) # Multinomialtest bei kleinen Stichproben
Datensatz einlesen und Variablen spezifizieren
# Datensatz 'data': pro Versuchsperson eine Zeile
# Häufigkeitstabellen zuerst umwandeln, vgl. Umwandlung von Datenstrukturen
Persönlichkeitsmerkmal <- rep(c("A", "B", "C"), c(40, 5, 15))
data <- data.frame(Persönlichkeitsmerkmal)
# Variablen spezifizieren
Faktor <- "Persönlichkeitsmerkmal" # Name des Faktors eingeben
p <- c(.50, .25, .25) # Unter H0 erwartete Wahrscheinlichkeiten gemäss Abfolge der Stufen: levels(data[,Faktor])
Häufigkeitstabelle und Signifikanztest
# Häufigkeitstabelle
data2 <- na.omit(data[, Faktor, drop=FALSE])
tab <- xtabs(paste("~", Faktor), data2)
# Signifikantest
test <- chisq.test(tab, p=p)
# Für kleine Stichproben kann der Multinomialtest als exakte Variante gerechnet werden.
# library(EMT); multinomial.test(observed=as.vector(tab), prob=p)
list(Häufigkeitstabelle=tab, Signifikanztest=test)
## $Häufigkeitstabelle
## Persönlichkeitsmerkmal
## A B C
## 40 5 15
##
## $Signifikanztest
##
## Chi-squared test for given probabilities
##
## data: tab
## X-squared = 10, df = 2, p-value = 0.006738