如何在 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 次浏览

启动您的 职业生涯

完成课程并获得认证

开始学习
广告