要在 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