R组合子集

R combination subset

我有如下数据。我想获得 2 个和 5 个元素的所有子集(元素的顺序不重要)。

在下面的例子中,因为有 8 个元素 - 总共有 2 个元素的 28 种组合和 5 个元素的 56 种组合。我怎样才能得到每个子集中的元素列表?

element_list =c(0,1,3,4,2,2,7,4)

您想使用 combn,迭代我们选择的 m 值 2 和 5

combos <- lapply(c(2, 5), combn, x = element_list, simplify = FALSE)
lengths(combos)
# [1] 28 56

或者将 simplify 参数放入 return 矩阵列表。