在R中,我有一个包含10列的数据集。这些列是二进制的,其中1表示真,2表示假。我需要对数据进行子集化,以找出只有2列等于1,只有3列等于1等的次数问题是--我不在乎哪个3等于1,我只需要3的任何组合等于1的次数的数据。
这是我找到这个的唯一方法,但是我必须为每个组合编写所有这些代码,这对于1023种可能的组合来说太繁琐了。a1x3 <- filter(ALL_STATES_TBL, ace3 == "1" & ace4 == "2" & ace5 == "2" & ace6 == "2" & ace7 == "2" & ace8 == "2" & ace9 == "2")
a1x3t <- filter(a1x3, ace1 == "3")
a1x3tt <- filter(a1x3, ace1 == "4")
a1x3 <- rbind(a1x3t, a1x3tt)
任何帮助将不胜感激![另外,代码是这样写的,因为ace 1有4个选项而不是2个]。
1条答案
按热度按时间xytpbqjk1#
我们可以通过
n
列迭代子集,等于== 1
,并计算rowSums
是n
的次数。combn
执行所有组合工作。考虑此数据框。
或者这一个