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