如何合并两个不相等的数据帧并将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