数据
考虑以下矩阵。
set.seed(1)
base <- letters[1:4]
mmm <- matrix(sample(base, size=20, replace=TRUE), nrow=4)
print.table(cbind(base, "|", data=mmm))
# base
# [1,] a | a b b a b
# [2,] b | d a b a b
# [3,] c | c c c a b
# [4,] d | a c c b c
预期产量
按底数 x 底数索引的矩阵。
| a b c d
a| 2 3 0 0
b| 2 2 0 1
c| 1 1 3 0
d| 1 1 3 0
如果 y 在 x 行中出现 n 次,则元素 (x,y) 包含 n。
或三胞胎列表
a,a,2
a,b,3
b,a,2
...
与
table
:
table(rep(base, ncol(mmm)), mmm)
#> mmm
#> a b c d
#> a 2 3 0 0
#> b 2 2 0 1
#> c 1 1 3 0
#> d 1 1 3 0
由于
mmm
是一个矩阵,我们可以尝试使用 apply
:
lvls <- sort(unique(c(mmm)))
t(apply(mmm, 1, \(x) table(factor(x, lvls))))
# a b c d
#[1,] 2 3 0 0
#[2,] 2 2 0 1
#[3,] 1 1 3 0
#[4,] 1 1 3 0