
概率
|
207
8.2.2 解决方案
使用 combn 函数:
items <- 2:5
k <- 2
combn(items, k)
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 2 2 2 3 3 4
#> [2,] 3 4 5 4 5 5
8.2.3 讨论
我们可以使用 combn(1:5,3) 生成从 1 到 5、一次取 3 个数的所有组合:
combn(1:5, 3)
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
#> [1,] 1 1 1 1 1 1 2 2 2 3
#> [2,] 2 2 2 3 3 4 3 3 4 4
#> [3,] 3 4 5 4 5 5 4 5 5 5
该函数不限于数字。也可以生成字符串组合。以下是从 5 项一次取 3 项的所有组合:
combn(c("T1", "T2", "T3", "T4", "T5"), 3)
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
#> [1,] "T1" "T1" "T1" "T1" "T1" "T1" "T2" "T2" "T2" "T3"
#> [2,] "T2" "T2" "T2" "T3" "T3" "T4" "T3" "T3" "T4" "T4"
#> [3,] "T3" "T4" "T5" "T4" "T5" "T5" "T4" "T5" "T5" "T5"
随着项数
n
的增加,组合的数量可能会剧增,特别是 ...