如何在R中将所有子集设置为N.

dan*_*345 5 r

我想生成一个列表,其中包含R中数字1:N的所有2 ^ n个子集.如何可能?

expand.grid( rep( list( 0:4), 2))
Run Code Online (Sandbox Code Playgroud)

返回包含0:4大小2的所有子集的数据框 - 但我想要一个列表,其中包含所有大小的所有子集.

Jam*_*mes 10

怎么样,

lapply(0:4, function(x) combn(4,x))
[[1]]
     [,1]

[[2]]
     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4

[[3]]
     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    1    1    1    2    2    3
[2,]    2    3    4    3    4    4

[[4]]
     [,1] [,2] [,3] [,4]
[1,]    1    1    1    2
[2,]    2    2    3    3
[3,]    3    4    4    4

[[5]]
     [,1]
[1,]    1
[2,]    2
[3,]    3
[4,]    4
Run Code Online (Sandbox Code Playgroud)


42-*_*42- 6

set_power包集中有一个函数应该返回幂集,这是你的单词描述的正确术语.但是,您可能希望修改术语,因为您的代码正在执行不同的操作.expand.grid不返回数学集而是返回有序组合.在集理论中,{1,1}简化为{1}.在这种意义上,展开网格不会创建真正的集合.如果你想要expand.grid可以制作的长度为4的所有data.frames列表,你可以通过以下方式轻松搞定:

lapply(0:4, function(n) expand.grid( rep( list( 0:4), n)) )
Run Code Online (Sandbox Code Playgroud)