【发布时间】:2021-03-03 19:52:04
【问题描述】:
我想通过匹配两列合并两个不相等的数据框并用 0 替换缺失值来创建一个新的数据框。 这是我拥有的数据框的两个示例:
df1
ID YEAR INTERVIEW ID_HOUSEHOLD
1 2017 300
1 2018 300
1 2019 300
2 2017 150
2 2018 150
2 2019 150
3 2017 420
3 2018 420
df2
ID YEAR INTERVIEW YEARS_EDU
1 2017 10
1 2018 10
1 2019 10
3 2017 3
3 2018 3
*请注意,在第二个数据框中,我没有个人 2 的信息 我想得到以下数据框:
df3
df1
ID YEAR INTERVIEW ID_HOUSEHOLD YEARS_EDU
1 2017 300 10
1 2018 300 10
1 2019 300 10
2 2017 150 0
2 2018 150 0
2 2019 150 0
3 2017 420 3
3 2018 420 3
我正在尝试:
df3<-merge(df1,df2, by="ID", all=TRUE)
df3<-merge(df1,df2, by="ID","YEAR_INTERVIEW", all=TRUE)
第一个选项通过多年的采访复制了数百个 ID 观察结果,而第二个选项给了我 0 个值。
任何帮助将不胜感激 :) 谢谢
【问题讨论】: