Sas*_*ha 3 combinations r frequency
有没有办法计算一组二元变量的组合频率?
a <- c(0,1,0,1,0)
b <- c(1,1,0,1,0)
c <- c(0,1,0,0,0)
> data.frame(a, b, c)
a b c
1 0 1 0
2 1 1 1
3 0 0 0
4 1 1 0
5 0 0 0
Run Code Online (Sandbox Code Playgroud)
在此示例中,组合 a + b 是最常见的,因为 obj. 2和4有这些。我只想计算至少 2 个包含 [1] 的变量的组合。有没有办法计算这个?我将不胜感激任何想法或想法!
我的预期输出应该是这样的:
combinations
1 ab 2
2 ac 1
3 bc 1
4 abc 1
Run Code Online (Sandbox Code Playgroud)
尝试这个:
> X <- data.frame(a, b, c)
> apply(model.matrix(data=X, ~a*b*c), 2, sum)[-(1:4)]
a:b a:c b:c a:b:c
2 1 1 1
Run Code Online (Sandbox Code Playgroud)
model.matrix将对数据集中每行的所有交互进行编码,然后我使用 apply 对行求和。前四个元素是截距和主效应a、b、 以及c您不需要的。