这是一个矩阵100 * 54,其中包含100条记录和53个二进制变量以及一个因变量-Y / N
部分独立数据如下:
当dependent == Y
aa <- NULL
for (i in 1 : ncol(data1)) {
aa[i] <- length(which(data1[which(data1$Output == 'Y'), i] !=0))
}
现在,我想找到构成dependent == Y
的变量的最常见组合,组合中元素的数量无关紧要。
例如,当dependent == Y
时,
Combination Count
V1 = 1 & V2 = 1 30
V1 = 1 & V2 = 1 & V3= 1 25
V4 = 1 & V5 = 1 24
...
答案 0 :(得分:0)
我们可以粘贴所有列,然后计数:
# example data
set.seed(1); m1 <- matrix(sample(c(0, 1), 1000, replace = TRUE), ncol = 4)
# all freqs
sort(table(apply(m1, 1, paste, collapse = "")))
# 1100 1111 1101 1001 0100 0101 0000 0001 0010 0011 0110 1110 0111 1011 1000 1010
# 8 8 12 13 14 14 16 16 16 16 16 16 18 18 22 27
如果我们假设1st col是我们的“是/否”列:
# 0 = No freqs
sort(table(apply(m1[ m1[,1] == 0, -1], 1, paste, collapse = "")))
# 100 101 000 001 010 011 110 111
# 14 14 16 16 16 16 16 18
# 1 = Yes freqs
sort(table(apply(m1[ m1[,1] == 1, -1], 1, paste, collapse = "")))
# 100 111 101 001 110 011 000 010
# 8 8 12 13 16 18 22 27