如何用 R 创建值组合的数据框?


假设我们有两个取值为 0、1,那么这些值共有多少组合,答案是 8,这些组合为 (0,0)、(1,0)、(0,1)、(1,1)。在 R 中,我们可以使用 expand.grid 函数创建这些组合,但要将它们保存在数据框中,我们需要使用 as.data.frame 函数。

实例

 在线演示

df1<-as.data.frame(expand.grid(c(0,1),c(0,1)))
df1

输出

   Var1 Var2
1   0   0
2   1   0
3   0   1
4   1   1

实例

 在线演示

df2<-as.data.frame(expand.grid(c(0,1),c(0,1),c(0,1)))
df2

输出

 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

实例

 在线演示

df3<-as.data.frame(expand.grid(c(0,1,2),c(0,1,2),c(0,1,2)))
df3

输出

  Var1 Var2 Var3
1  0    0    0
2  1    0    0
3  2    0    0
4  0    1    0
5  1    1    0
6  2    1    0
7  0    2    0
8  1    2    0
9  2    2    0
10 0    0    1
11 1    0    1
12 2    0    1
13 0    1    1
14 1    1    1
15 2    1    1
16 0    2    1
17 1    2    1
18 2    2    1
19 0    0    2
20 1    0    2
21 2    0    2
22 0    1    2
23 1    1    2
24 2    1    2
25 0    2    2
26 1    2    2
27 2    2    2

实例

 在线演示

df4<-as.data.frame(expand.grid(c(0,1,2),c(0,1,2)))
df4

输出

Var1 Var2
1 0 0
2 1 0
3 2 0
4 0 1
5 1 1
6 2 1
7 0 2
8 1 2
9 2 2

实例

 在线演示

df5<-as.data.frame(expand.grid(c(1,2),c(1,2),c(1,2)))
df5

输出

  Var1 Var2 Var3
1  1    1    1
2  2    1    1
3  1    2    1
4  2    2    1
5  1    1    2
6 2     1    2
7 1     2    2
8 2     2    2

更新于: 2020-10-07

499 次浏览

职业生涯起航

完成本课程获得认证

开始学习
广告