如何在R中組合兩個相同大小的列表以建立資料框?


如果我們有兩個相同大小的列表,我們可以使用這些列表建立一個數據框,這可以透過expand.grid函式輕鬆完成。expand.grid函式根據提供的列表、向量或因子的所有組合建立資料框。例如,如果我們定義了兩個列表List1和List2,則可以使用程式碼expand.grid(List1,List2)建立一個數據框。

示例

 線上演示

考慮以下列表:

List1<-as.list(sample(LETTERS[1:5],5,replace=TRUE))
List1

輸出

[[1]]
[1] "C"
[[2]]
[1] "D"
[[3]]
[1] "E"
[[4]]
[1] "D"
[[5]]
[1] "D"

示例

 線上演示

List2<-as.list(sample(LETTERS[6:10],5,replace=TRUE))
List2

輸出

[[1]]
[1] "I"
[[2]]
[1] "J"
[[3]]
[1] "F"
[[4]]
[1] "I"
[[5]]
[1] "F"

使用List1和List2建立資料框:

示例

df1<-expand.grid(List1,List2)
df1

輸出

  Var1 Var2
1  C I
2  D I
3  E I
4  D I
5  D I
6  C J
7  D J
8  E J
9  D J
10 D J
11 C F
12 D F
13 E F
14 D F
15 D F
16 C I
17 D I
18 E I
19 D I
20 D I
21 C F
22 D F
23 E F
24 D F
25 D F

讓我們來看另一個例子:

示例

 線上演示

List3<-as.list(c("India","China","USA","France","Germany"))
List3

輸出

[[1]]
[1] "India"
[[2]]
[1] "China"
[[3]]
[1] "USA"
[[4]]
[1] "France"
[[5]]
[1] "Germany"

示例

 線上演示

List4<-as.list(1:4)
List4

輸出

[[1]]
[1] 1
[[2]]
[1] 2
[[3]]
[1] 3
[[4]]
[1] 4

使用List3和List4建立資料框:

示例

df2<-expand.grid(List3,List4)
df2

輸出

Var1 Var2
1 India 1
2 China 1
3 USA 1
4 France 1
5 Germany 1
6 India 2
7 China 2
8 USA 2
9 France 2
10 Germany 2
11 India 3
12 China 3
13 USA 3
14 France 3
15 Germany 3
16 India 4
17 China 4
18 USA 4
19 France 4
20 Germany 4

更新於:2020年10月17日

963 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.