如何合并两个不相等的数据帧并将R中的缺失值替换为0?

通常,我们得到的数据帧大小不同,这意味着在任何数据帧中都缺少某些行或列。因此,要合并这些类型的数据帧,我们可以将它们与所有值合并,并在必要时将丢失的值转换为零。这可以通过使用合并功能来完成,缺失值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