如何在 R 数据框中取消拆分?

要在 R 数据框中取消拆分,我们可以按照以下步骤操作 -

  • 首先,创建一个数据框。

  • 然后,使用 split 函数来拆分数据帧。

  • 之后,使用do.call函数和 rbind 函数解开数据帧。

示例

创建数据框

让我们创建一个数据框,如下所示 -

x<-rpois(25,5)
y<-rpois(25,5)
z<-rpois(25,5)
df<-data.frame(x,y,z)
df
输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

   x y z
1  4 3 3
2  5 2 3
3  5 6 3
4  9 2 5
5  8 5 5
6  3 6 5
7  6 3 4
8  2 2 5
9  2 6 4
10 6 6 4
11 2 9 5
12 4 11 4
13 5 3 5
14 6 4 6
15 3 6 4
16 4 6 5
17 6 2 8
18 3 6 5
19 5 7 6
20 2 5 3
21 3 8 5
22 7 5 6
23 1 6 3
24 7 3 6
25 4 3 5

拆分数据框

使用拆分功能拆分数据框 -

x<-rpois(25,5)
y<-rpois(25,5)
z<-rpois(25,5)
df<-data.frame(x,y,z)
new_df<-split(df,df$x)
new_df
输出结果
$ `2`
   x y z
12 2 4 6

$`3`
   x y z
14 3 6 4
15 3 5 5
21 3 6 5

$`4`
    x  y z
 2  4 10 6
 4  4  7 3
 7  4  7 7
 8  4  2 3
11  4  4 4
13  4  3 4
16  4  3 4
19  4  2 2
23  4  3 6

$`5`
   x y z
1  5 3 4
25 5 9 3

$`6`
  x y z
5 6 7 0
6 6 1 8

$`7`
    x y z
3  7 7 1
9  7 3 0
18 7 2 4
22 7 9 4
24 7 9 2

$`8`
   x y z
10 8 3 4

$`9`
   x y z
20 9 2 2

$`10`
    x y z
17 10 7 9

取消拆分数据框

使用do.call函数和 rbind 函数解开数据框 df -

x<-rpois(25,5)
y<-rpois(25,5)
z<-rpois(25,5)
df<-data.frame(x,y,z)
new_df<-split(df,df$x)
do.call("rbind",new_df)
输出结果
      x y z
2.13  2 7 6
2.24  2 9 5
3.5   3 2 5
3.9   3 7 2
3.11  3 3 2
3.19  3 3 8
3.20  3 5 3
4.2   4 2 4
4.3   4 3 6
4.4   4 4 1
4.25  4 8 6
5.7   5 2 5
5.8   5 4 8
5.14  5 4 5
5.15  5 4 4
5.21  5 9 2
6.1   6 8 5
6.17  6 6 5
6.18  6 2 4
7     7 8 3
8.10  8 5 4
8.16  8 6 6
9.12  9 3 4
9.22  9 4 6
9.23  9 8 5

猜你喜欢