R 如何在多个二进制列中获得最常见的组合

R 如何在多个二进制列中获得最常见的组合,r,dplyr,frequency,R,Dplyr,Frequency,这是一个矩阵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)) } 我们可以粘贴所有列,然后获取计数: # example data set.seed(1); m1 <- matrix(sample

这是一个矩阵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))
}
我们可以粘贴所有列,然后获取计数:

# 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 
我们可以粘贴所有列,然后获取计数:

# 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 

apriori算法可能会让您感兴趣:在R中,您使用arules包实现算法不确定速度,但可以运行
dplyr::count()
。e、 g.
df%%>%filter(dependent==1)%%>%group\u by_at(2:54)%%>%count()%%>%arrange(-n)
apriori算法可能会让您感兴趣:在R中,您使用arules包实现算法不确定速度,但可以运行
dplyr::count()。e、 g.
df%%>%filter(dependent==1)%%>%groupby(2:54)%%>%count()%%>%arrange(-n)
# 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