mtabulate(vects)
vector
, list
, or
data.frame
of named/unnamed vectors.data.frame
with columns equal to
number of unique elements and the number of rows equal to the the original
length of the vector
, list
, or
data.frame
(length equals ncols in
data.frame
). If list of vectors is named
these will be the rownames of the dataframe.
Similar to tabulate
that works on multiple vectors.
mtabulate(list(w=letters[1:10], x=letters[1:5], z=letters))a b c d e f g h i j k l m n o p q r s t u v w x y z w 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 z 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1mtabulate(list(mtcars$cyl[1:10]))4 6 8 1 3 5 2## Dummy coding mtabulate(mtcars$cyl[1:10])4 6 8 1 0 1 0 2 0 1 0 3 1 0 0 4 0 1 0 5 0 0 1 6 0 1 0 7 0 0 1 8 1 0 0 9 1 0 0 10 0 1 0mtabulate(CO2[, "Plant"])Qn1 Qn2 Qn3 Qc1 Qc3 Qc2 Mn3 Mn2 Mn1 Mc2 Mc3 Mc1 1 1 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 4 1 0 0 0 0 0 0 0 0 0 0 0 5 1 0 0 0 0 0 0 0 0 0 0 0 6 1 0 0 0 0 0 0 0 0 0 0 0 7 1 0 0 0 0 0 0 0 0 0 0 0 8 0 1 0 0 0 0 0 0 0 0 0 0 9 0 1 0 0 0 0 0 0 0 0 0 0 10 0 1 0 0 0 0 0 0 0 0 0 0 11 0 1 0 0 0 0 0 0 0 0 0 0 12 0 1 0 0 0 0 0 0 0 0 0 0 13 0 1 0 0 0 0 0 0 0 0 0 0 14 0 1 0 0 0 0 0 0 0 0 0 0 15 0 0 1 0 0 0 0 0 0 0 0 0 16 0 0 1 0 0 0 0 0 0 0 0 0 17 0 0 1 0 0 0 0 0 0 0 0 0 18 0 0 1 0 0 0 0 0 0 0 0 0 19 0 0 1 0 0 0 0 0 0 0 0 0 20 0 0 1 0 0 0 0 0 0 0 0 0 21 0 0 1 0 0 0 0 0 0 0 0 0 22 0 0 0 1 0 0 0 0 0 0 0 0 23 0 0 0 1 0 0 0 0 0 0 0 0 24 0 0 0 1 0 0 0 0 0 0 0 0 25 0 0 0 1 0 0 0 0 0 0 0 0 26 0 0 0 1 0 0 0 0 0 0 0 0 27 0 0 0 1 0 0 0 0 0 0 0 0 28 0 0 0 1 0 0 0 0 0 0 0 0 29 0 0 0 0 0 1 0 0 0 0 0 0 30 0 0 0 0 0 1 0 0 0 0 0 0 31 0 0 0 0 0 1 0 0 0 0 0 0 32 0 0 0 0 0 1 0 0 0 0 0 0 33 0 0 0 0 0 1 0 0 0 0 0 0 34 0 0 0 0 0 1 0 0 0 0 0 0 35 0 0 0 0 0 1 0 0 0 0 0 0 36 0 0 0 0 1 0 0 0 0 0 0 0 37 0 0 0 0 1 0 0 0 0 0 0 0 38 0 0 0 0 1 0 0 0 0 0 0 0 39 0 0 0 0 1 0 0 0 0 0 0 0 40 0 0 0 0 1 0 0 0 0 0 0 0 41 0 0 0 0 1 0 0 0 0 0 0 0 42 0 0 0 0 1 0 0 0 0 0 0 0 43 0 0 0 0 0 0 0 0 1 0 0 0 44 0 0 0 0 0 0 0 0 1 0 0 0 45 0 0 0 0 0 0 0 0 1 0 0 0 46 0 0 0 0 0 0 0 0 1 0 0 0 47 0 0 0 0 0 0 0 0 1 0 0 0 48 0 0 0 0 0 0 0 0 1 0 0 0 49 0 0 0 0 0 0 0 0 1 0 0 0 50 0 0 0 0 0 0 0 1 0 0 0 0 51 0 0 0 0 0 0 0 1 0 0 0 0 52 0 0 0 0 0 0 0 1 0 0 0 0 53 0 0 0 0 0 0 0 1 0 0 0 0 54 0 0 0 0 0 0 0 1 0 0 0 0 55 0 0 0 0 0 0 0 1 0 0 0 0 56 0 0 0 0 0 0 0 1 0 0 0 0 57 0 0 0 0 0 0 1 0 0 0 0 0 58 0 0 0 0 0 0 1 0 0 0 0 0 59 0 0 0 0 0 0 1 0 0 0 0 0 60 0 0 0 0 0 0 1 0 0 0 0 0 61 0 0 0 0 0 0 1 0 0 0 0 0 62 0 0 0 0 0 0 1 0 0 0 0 0 63 0 0 0 0 0 0 1 0 0 0 0 0 64 0 0 0 0 0 0 0 0 0 0 0 1 65 0 0 0 0 0 0 0 0 0 0 0 1 66 0 0 0 0 0 0 0 0 0 0 0 1 67 0 0 0 0 0 0 0 0 0 0 0 1 68 0 0 0 0 0 0 0 0 0 0 0 1 69 0 0 0 0 0 0 0 0 0 0 0 1 70 0 0 0 0 0 0 0 0 0 0 0 1 71 0 0 0 0 0 0 0 0 0 1 0 0 72 0 0 0 0 0 0 0 0 0 1 0 0 73 0 0 0 0 0 0 0 0 0 1 0 0 74 0 0 0 0 0 0 0 0 0 1 0 0 75 0 0 0 0 0 0 0 0 0 1 0 0 76 0 0 0 0 0 0 0 0 0 1 0 0 77 0 0 0 0 0 0 0 0 0 1 0 0 78 0 0 0 0 0 0 0 0 0 0 1 0 79 0 0 0 0 0 0 0 0 0 0 1 0 80 0 0 0 0 0 0 0 0 0 0 1 0 81 0 0 0 0 0 0 0 0 0 0 1 0 82 0 0 0 0 0 0 0 0 0 0 1 0 83 0 0 0 0 0 0 0 0 0 0 1 0 84 0 0 0 0 0 0 0 0 0 0 1 0dat <- data.frame(matrix(sample(c("A", "B"), 30, TRUE), ncol=3)) mtabulate(dat)A B X1 4 6 X2 4 6 X3 8 2t(mtabulate(dat))X1 X2 X3 A 4 4 8 B 6 6 2counts2list(mtabulate(dat))X1 X2 X3 [1,] "A" "A" "A" [2,] "A" "A" "A" [3,] "A" "A" "A" [4,] "A" "A" "A" [5,] "B" "B" "A" [6,] "B" "B" "A" [7,] "B" "B" "A" [8,] "B" "B" "A" [9,] "B" "B" "B" [10,] "B" "B" "B" attr(,"names") [1] "X1" "X2" "X3" NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [25] NA NA NA NA NA NA