【发布时间】:2020-06-22 14:21:39
【问题描述】:
我有一个我认为应该是微不足道的问题,但我想不出一个优雅的解决方案(或使用正确的函数)。
假设我有一个包含两个因子变量的数据框,我想计算它们的共现情况。这应该很容易:
require(tidyverse)
set.seed(5)
example <- tibble(
Var_1 = sample(letters[1:5], 50, replace = TRUE),
Var_2 = sample(letters[1:4], 50, replace = TRUE)
)
table(example)
输出是:
Var_2
Var_1 a b c d
a 4 0 2 1
b 3 4 2 3
c 3 4 0 6
d 3 5 2 0
e 1 0 3 4
但是,由于Var_1 中的独特因子比Var_2 中的多,因此该表是不对称的,在这种情况下5 与4 是不对称的。我将如何强制表格对称并在两个维度上使用更长的唯一因子向量?
即,在此示例中,5 的 5 表是这样的:
Var_2
Var_1 a b c d e
a 4 0 2 1 0
b 3 4 2 3 0
c 3 4 0 6 0
d 3 5 2 0 0
e 1 0 3 4 0
我唯一能想到的就是手动检查Var_1 中的哪些条目没有出现在Var_2 中并附加一列零,但也许有更好的解决方案?谢谢。
【问题讨论】:
标签: r