如何在 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

更新於: 2021-08-14

309 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.