查找 R 中多个二进制变量的共现次数

finding the number of co-occurences of multiple binary variables in R

我有一个包含一系列二进制变量的数据框:

df <- cbind (v1 = c(0,1,0,0,0,1), v2 = c(1,1,0,1,0,1), v3 = c(1,1,1,1,1,1))

df

#     v1 v2 v3
#[1,]  0  1  1
#[2,]  1  1  1
#[3,]  0  0  1
#[4,]  0  1  1
#[5,]  0  0  1
#[6,]  1  1  1

对于每对变量,我想知道它们的得分均为“1”的行数。换句话说,我想提取第 n 行,其中 v1 和 v2 == 1,v1 和 v3 == 1,v2 和 v3 == 1。理想情况下,在这种特定情况下,结果将是一个列表指示 (1) 一对变量 (2) 出现了多少行。

#pair   n
#v1-v2  2  
#v1-v3  2 
#v2-v3  4   

我正在处理一个更大的数据集(大约 50 个二进制变量),因此我正在寻找一种直接的方法来执行此操作。非常感谢您的帮助。

尝试crossprod

> crossprod(df)
   v1 v2 v3
v1  2  2  2
v2  2  4  4
v3  2  4  6