R 如何在多个二进制列中获得最常见的组合
这是一个矩阵100*54,包含100条记录、53个二进制变量和一个因变量-Y/N 部分独立数据如下: 当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
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