如何在 R 中合併兩個大小不同的資料幀,並用 0 替換缺失值?


很多時候,我們得到的資料幀大小不一致,這意味著某些行或列在任何資料幀中都缺失。因此,為了合併這些型別的資料幀,我們可以合併它們的所有值,並在必要時將缺失值轉換為零。可以使用 merge 函式來完成此操作,將缺失值 NA 替換為零則應使用單個方括號。

示例

考慮以下資料幀 -

> C1<-LETTERS[1:10]
> df1<-data.frame(C1)
> df1
C1
1 A
2 B
3 C
4 D
5 E
6 F
7 G
8 H
9 I
10 J
> x1<-c(1,2,3,4,5)
> C1<-LETTERS[1:5]
> df2<-data.frame(x1,C1)
> df2
x1 C1
1 1 A
2 2 B
3 3 C
4 4 D
5 5 E

合併資料幀 df1 和 df2 -

> df<-merge(df1,df2,all=TRUE)
> df
C1 x1
1 A 1
2 B 2
3 C 3
4 D 4
5 E 5
6 F NA
7 G NA
8 H NA
9 I NA
10 J NA

由於我們在 df 中有 NA,我們可以用 0 替換它,如下所示 -

> df[is.na(df)]<-0
> df
C1 x1
1 A 1
2 B 2
3 C 3
4 D 4
5 E 5
6 F 0
7 G 0
8 H 0
9 I 0
10 J 0

更新時間: 12-Aug-2020

984 次瀏覽

啟動您的 職業生涯

完成課程並獲得認證

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