如何解决合并两个长度不等的数据帧,并用NA填充缺失值
我有两个数据帧A和B,它们的列col1相同。
数据框A:
col1<-c(1,2,3,4,5,)
col2<-c("a","a","b","b")
A<-data.frame(col1,col2)
A
col1 col2
1 a
2 a
3 a
4 b
5 b
数据框B:
col1<-c(1,4)
col2b<-c("a","b")
B<-data.frame(col1,col2)
B
col1 col2b
1 a
3 b
4 b
如您所见,与数据帧A相比,数据帧B在col1中缺少一些值。 我想使用col1合并A和B,并用NA填充B列中的缺失值(因此,没有回收!)。 我想要的输出是这样的:
col1 col2 col2b
1 a a
2 a <NA>
3 a b
4 b b
5 b <NA>
到目前为止,我还尝试过使用cbind和cbind.na,但没有运气。任何帮助或建议,将不胜感激!
解决方法
使用dplyr::left_join
:
library(dplyr)
A %>%
left_join(B,by = c("col1"))
col1 col2 col2b
1 1 a a
2 2 a <NA>
3 3 a b
4 4 b b
5 5 b <NA>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。