如何在 R 数据框中创建 0 和 1 的组合,并且每行都具有固定数量的 1?
要创建 0 和 1 的组合数据框,我们可以使用 expand.grid 函数以及 rep 函数。如果我们想要创建 0 和 1 的组合,并且每行都具有固定数量的 1,那么可以使用 rowSums 函数以及相应的求和值。例如,要获取包含少于三个 1 的行,则将从网格中提取 rowSums 以进行相同操作。
示例 1
First<−expand.grid(rep(list(0:1),3)) First
输出
Var1 Var2 Var3 1 0 0 0 2 1 0 0 3 0 1 0 4 1 1 0 5 0 0 1 6 1 0 1 7 0 1 1 8 1 1 1
创建每行中 1 的数量小于或等于 2 的组合 -
示例
First<−First[rowSums(First)<3,] First
输出
Var1 Var2 Var3 1 0 0 0 2 1 0 0 3 0 1 0 4 1 1 0 5 0 0 1 6 1 0 1 7 0 1 1
示例 2
Second<−expand.grid(rep(list(0:1),4)) Second
输出
Var1 Var2 Var3 Var4 1 0 0 0 0 2 1 0 0 0 3 0 1 0 0 4 1 1 0 0 5 0 0 1 0 6 1 0 1 0 7 0 1 1 0 8 1 1 1 0 9 0 0 0 1 10 1 0 0 1 11 0 1 0 1 12 1 1 0 1 13 0 0 1 1 14 1 0 1 1 15 0 1 1 1 16 1 1 1 1
示例
Second<−Second[rowSums(Second)<4,] Second
输出
Var1 Var2 Var3 Var4 1 0 0 0 0 2 1 0 0 0 3 0 1 0 0 4 1 1 0 0 5 0 0 1 0 6 1 0 1 0 7 0 1 1 0 8 1 1 1 0 9 0 0 0 1 10 1 0 0 1 11 0 1 0 1 12 1 1 0 1 13 0 0 1 1 14 1 0 1 1 15 0 1 1 1
示例 3
Third<−expand.grid(rep(list(0:1),5)) Third
输出
Var1 Var2 Var3 Var4 Var5 1 0 0 0 0 0 2 1 0 0 0 0 3 0 1 0 0 0 4 1 1 0 0 0 5 0 0 1 0 0 6 1 0 1 0 0 7 0 1 1 0 0 8 1 1 1 0 0 9 0 0 0 1 0 10 1 0 0 1 0 11 0 1 0 1 0 12 1 1 0 1 0 13 0 0 1 1 0 14 1 0 1 1 0 15 0 1 1 1 0 16 1 1 1 1 0 17 0 0 0 0 1 18 1 0 0 0 1 19 0 1 0 0 1 20 1 1 0 0 1 21 0 0 1 0 1 22 1 0 1 0 1 23 0 1 1 0 1 24 1 1 1 0 1 25 0 0 0 1 1 26 1 0 0 1 1 27 0 1 0 1 1 28 1 1 0 1 1 29 0 0 1 1 1 30 1 0 1 1 1 31 0 1 1 1 1 32 1 1 1 1 1
示例
Third<−Third[rowSums(Third)<3,] Third
输出
1 0 0 0 0 0 2 1 0 0 0 0 3 0 1 0 0 0 4 1 1 0 0 0 5 0 0 1 0 0 6 1 0 1 0 0 7 0 1 1 0 0 9 0 0 0 1 0 10 1 0 0 1 0 11 0 1 0 1 0 13 0 0 1 1 0 17 0 0 0 0 1 18 1 0 0 0 1 19 0 1 0 0 1 21 0 0 1 0 1 25 0 0 0 1 1
广告