Im Allgemeinen ist die bequemste Funktion zu zählen, wie viele Zeichen Sie von jeder Art haben, ist ?table:
d <- read.table(text="Cat1 Cat2 Cat3
A B A
B A A
A C A
A B A", header=T)
table(d$Cat1)
# A B
# 3 1
Der bequemste Weg table()
für jede kategoriale Variable in einem Datensatz auszuführen ist ?summary.data.frame zu verwenden:
summary(d)
# Cat1 Cat2 Cat3
# A:3 A:1 A:4
# B:1 B:2
# C:1
auf der anderen Seite, wenn Sie einen Tisch bekommen, die alle kategorischen Variablen kollabiert über, können Sie table()
mit ?unlist verwenden:
table(unlist(d))
# A B C
# 8 3 1
Um zu verstehen, was dort passiert, ist die Sache zu erkennen, dass in R
eine besondere Art von Liste ein Datenrahmen ist: vgl jede Variable ein Vektor ist und der Datenrahmen ist eine Liste von Vektoren gleicher Länge (, here). Die unlist()
-Funktion wandelt diese in einen langen Vektor um, der vom ersten bis zum letzten verkettet ist. Beachten Sie, dass wenn Sie einige nicht kategoriale Variablen eingemischt haben, diese mit etwas wie table(unlist(d[,c(<variables to use>)]))
ausgeschlossen werden müssen.
Ist "A" in "Cat1" gleich "A" in "Cat2", zB? Dh, wollen Sie "A" 's in jeder Variablen oder über alle Variablen zählen? – gung
Vielen Dank für die Bearbeitung. Ja bitte migrieren Sie es. –
Ja "A" in cat1 ist gleich wie "A" in anderen Variablen. –