如何在 R 中创建两个具有相同列的数据框的行组合?
为了在 R 中创建两个具有相同列的数据框的行组合,我们可以按照以下步骤操作:
- 首先,创建两个数据框。
- 然后,使用 expand.grid 和 cbind 与 do.call 将数据框中的行组合起来。
创建数据框
让我们创建一个如下所示的数据框:
Class<-sample(c("I","II","III"),6,replace=TRUE) Score<-sample(1:20,6) df1<-data.frame(Class,Score) df1
执行上述脚本后,将生成以下输出(由于随机化,此输出在您的系统上会有所不同):
Class Score 1 III 1 2 III 13 3 III 10 4 I 2 5 II 7 6 II 17
让我们创建另一个名为 df2 的数据框,如下所示:
示例
Class<-sample(c("I","II","III"),6,replace=TRUE) Score<-sample(1:20,6) df2<-data.frame(Class,Score) df2
Class Score 1 III 2 2 I 1 3 III 7 4 III 15 5 I 12 6 III 13
组合数据框的行
使用 cbind 函数与 expand.grid 和 do.call 函数来组合 df1 和 df2 中的行:
Class<-sample(c("I","II","III"),6,replace=TRUE) Score<-sample(1:20,6) df1<-data.frame(Class,Score) Class<-sample(c("I","II","III"),6,replace=TRUE) Score<-sample(1:20,6) df2<-data.frame(Class,Score) do.call(cbind.data.frame,Map(expand.grid,df1=df1,df2=df2))
输出
Class.df1 Class.df2 Score.df1 Score.df2 1 III III 1 2 2 III III 13 2 3 III III 10 2 4 I III 2 2 5 II III 7 2 6 II III 17 2 7 III I 1 1 8 III I 13 1 9 III I 10 1 10 I I 2 1 11 II I 7 1 12 II I 17 1 13 III III 1 7 14 III III 13 7 15 III III 10 7 16 I III 2 7 17 II III 7 7 18 II III 17 7 19 III III 1 15 20 III III 13 15 21 III III 10 15 22 I III 2 15 23 II III 7 15 24 II III 17 15 25 III I 1 12 26 III I 13 12 27 III I 10 12 28 I I 2 12 29 II I 7 12 30 II I 17 12 31 III III 1 13 32 III III 13 13 33 III III 10 13 34 I III 2 13 35 II III 7 13 36 II III 17 13
广告