おそらくcombn
、以下と組み合わせるとlapply
役立つ場合があります。
x <- 1:4
lapply(seq_along(x), function(y) combn(x, y))
# [[1]]
# [,1] [,2] [,3] [,4]
# [1,] 1 2 3 4
#
# [[2]]
# [,1] [,2] [,3] [,4] [,5] [,6]
# [1,] 1 1 1 2 2 3
# [2,] 2 3 4 3 4 4
#
# [[3]]
# [,1] [,2] [,3] [,4]
# [1,] 1 1 1 2
# [2,] 2 2 3 3
# [3,] 3 4 4 4
#
# [[4]]
# [,1]
# [1,] 1
# [2,] 2
# [3,] 3
# [4,] 4
@Roland が指摘しているように、 に設定すると、すべての結果ではなく個々の列ベクトルのネストが作成されるというsimplify
引数もあります。たとえば、上記のリスト項目を として表示する代わりに、 を使用すると、長さ 3 の組み合わせに対して次のようになります。combn
FALSE
list
matrix
[[3]]
matrix
lapply(seq_along(x), function(y) combn(x, y))
# [[3]]
# [[3]][[1]]
# [1] 1 2 3
#
# [[3]][[2]]
# [1] 1 2 4
#
# [[3]][[3]]
# [1] 1 3 4
#
# [[3]][[4]]
# [1] 2 3 4