我想在r中生成一个包含其所有子集的集合,但不包含集合本身。
例如,假设我有一套
{1, 2, 3}
我想在r
中生成以下列表 {{}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}}
然而,我在r(powerset和set_power)中尝试的命令正在给出
{{}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}
我想创建一个包含其所有子集的集合。 任何帮助将不胜感激!
答案 0 :(得分:4)
您可以使用sets
包
首先,创建集A:
library(sets)
A <- set(1,2,3)
A
{1, 2, 3}
找到电源组:
PS <- 2^A
PS
{{}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}
从功率集中减去A:
B <- set_symdiff(PS,set(A))
B
{{}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}}
答案 1 :(得分:0)
我已经设法通过
完成了 s <- c(1,2,3)
powerSet(s)[-length(powerSet(s))]
谢谢!