我正在寻找生成虚拟变量的方法,这些变量将给定的类别分成所有可能的分组组合。例如,如果我们有三个类别(例如 A、B 和 C),则有五种可能的分组:
Three groups: A / B / C
Two groups: A&B / C
Two groups: A&C / B
Two groups: A / B&C
One group: A&B&C
然后每个分组的虚拟变量将输出到数据帧的不同列。所以我想要的最终输出如下表所示:
sample_num category grouping1 grouping2 grouping3 grouping4 grouping5
A; B; C A&B; C A&C; B A; B&C A&B&C
-----------+---------+------------+-----------+-----------+-----------+----------
1 A 1 1 1 1 1
2 A 1 1 1 1 1
3 A 1 1 1 1 1
4 A 1 1 1 1 1
5 B 2 1 2 2 1
6 B 2 1 2 2 1
7 B 2 1 2 2 1
8 C 3 2 1 2 1
9 C 3 2 1 2 1
10 C 3 2 1 2 1
11 C 3 2 1 2 1
12 C 3 2 1 2 1