查找 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
我有一个包含一系列二进制变量的数据框:
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