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

Grafiken