Diese Tabelle ist eigentlich ein Array.
x <- c(0,1,1,1,0,2,2,4,1,2,3,2,1,2,3,1,1,1,2,3,4,1,1,0)
(a <- table(x))
#
# 0 1 2 3 4
# 3 10 6 3 2
class(unclass(a))
# [1] "array"
Die Namen sind oben und die Werte unten.
names(a)
[1] "0" "1" "2" "3" "4"
Sie können auf seine Elemente auf verschiedene Arten zugreifen.
a[1] ## access named element by index
# 0
# 3
a[[1]] ## access unnamed element by index
# [1] 3
a["0"] ## access named element by name
# 0
# 3
a[["0"]] ## access unnamed element by name
# [1] 3
as.vector(a) ## as.vector() drops table down to unnamed vector
# [1] 3 10 6 3 2
c(a)[2:4] ## c() drops table down to named vector
# 1 2 3
# 10 6 3
class(a[2:4])
# [1] "array"
class(c(a)[2:4])
# [1] "integer"
Es hat auch ein nrow
und dim
Attribut, das in den letzten paar Zeilen table
eingerichtet ist.
y <- array(tabulate(bin, pd), dims, dimnames = dn)
class(y) <- "table"
Obwohl es mir wirklich nicht klar, warum nrow(a)
5 ist aber a[1,]
einen Fehler zurück.
ich vermeiden empfehlen dringend, würde mit ' Tabelle "zusammen und mit' dplyr': 'x%>% tally()'. Dies gibt eine Tabelle zurück, in der diese Art von Operationen einfach ist. – Hugh