从多个向量中生成类似布尔的矩阵

时间:2014-04-30 12:56:08

标签: r

假设

xx.1 <- c("a", "b", "d")
xx.2 <- c("a", "d", "e")
xx.3 <- c("b", "e", "d", "f")

如何制作一个布尔矩阵:

xx.1 xx.2 xx.3
a    1    1   NA
b    1   NA    1
d    1    1    1
e   NA    1    1
f   NA   NA    1

1 个答案:

答案 0 :(得分:2)

尝试tablestack

table(stack(list(xx.1 = xx.1, xx.2 = xx.2, xx.3 = xx.3)))
#       ind
# values xx.1 xx.2 xx.3
#      a    1    1    0
#      b    1    0    1
#      d    1    1    1
#      e    0    1    1
#      f    0    0    1

更方便的是,您可以尝试:

table(stack(mget(ls(pattern = "xx"))))