elements <- c('A','B','C','D','E','F','G','H','I','J','K','L','M','N')
allcomb <- t(combn(elements, 3)) #Returns 364 different combinations
可以过滤出有 2 个相似字母的那些。但是,答案会根据您开始比较的子组而变化。我是按顺序做的。(以A,B,C开头)
for (a in 1:28){
l <- vector("list", nrow(allcomb))
for (b in 1:nrow(allcomb)){
l[[b]] <- sum(allcomb[a,] %in% allcomb[b,])!=2
}
allcomb <- allcomb[unlist(l),]
}
经过反复试验得到 28 个。
> allcomb
[,1] [,2] [,3]
[1,] "A" "B" "C"
[2,] "A" "D" "E"
[3,] "A" "F" "G"
[4,] "A" "H" "I"
[5,] "A" "J" "K"
[6,] "A" "L" "M"
[7,] "B" "D" "F"
[8,] "B" "E" "G"
[9,] "B" "H" "J"
[10,] "B" "I" "K"
[11,] "B" "L" "N"
[12,] "C" "D" "G"
[13,] "C" "E" "F"
[14,] "C" "H" "K"
[15,] "C" "I" "J"
[16,] "C" "M" "N"
[17,] "D" "H" "L"
[18,] "D" "I" "M"
[19,] "D" "J" "N"
[20,] "E" "H" "M"
[21,] "E" "I" "L"
[22,] "E" "K" "N"
[23,] "F" "H" "N"
[24,] "F" "J" "L"
[25,] "F" "K" "M"
[26,] "G" "I" "N"
[27,] "G" "J" "M"
[28,] "G" "K" "L"