如何解决如何在R中使用inner_join,dplyr将应按2列匹配的两个数据帧连接在一起?
- 目标是在R中使用
inner_join
来匹配2个长数据帧,分别按 ID 和 year
>data_1
ID year fee health
1 0 100 1
1 1 50 2
2 0 50 2
2 1 80 3
・
・
・
>data_2
ID year religion
1 0 5
1 1 8
2 0 3
2 1 2
・
・
・
目标就是这样
>data_join
ID year fee health religion
1 0 100 1 5
1 1 50 2 8
2 0 50 2 3
2 1 80 3 2
・
・
・
我在页面https://dplyr.tidyverse.org/reference/join.html上进行了浏览,并尝试运行下面的代码,但无法匹配。
data_join <- inner_join(data_1,data_2,by = ID & year )
如何解决此问题?谢谢。
解决方法
您只缺少要用于连接的变量中名称的向量。这应该做。
data_join
### Here is your example ###
Data_1<-matrix(c(1,100,1,50,2,80,3),ncol=4,byrow = T)
Data_2<-matrix(c(1,5,8,3,2),ncol=3,byrow = T)
Data_1<-as.data.frame(Data_1)
Data_2<-as.data.frame(Data_2)
names(Data_1)<-c("ID","Year","Fee","Health")
names(Data_2)<-c("ID","Religion")
data_join <- inner_join(Data_1,Data_2,by = c("ID","Year") )
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。