Tabulate Frequency Counts for Multiple Vectors

Usage

mtabulate(vects)

Arguments

vects
A vector, list, or data.frame of named/unnamed vectors.

Value

Returns a 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.

Description

Similar to tabulate that works on multiple vectors.

Examples

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 1
mtabulate(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 0
mtabulate(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 0
dat <- data.frame(matrix(sample(c("A", "B"), 30, TRUE), ncol=3)) mtabulate(dat)
A B X1 4 6 X2 4 6 X3 8 2
t(mtabulate(dat))
X1 X2 X3 A 4 4 8 B 6 6 2
counts2list(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

See also

tabulate, counts2list

Author

Joran Elias and Tyler Rinker .