R 基于ID和日期合并数据集

R 基于ID和日期合并数据集,r,merge,R,Merge,我有两个数据集,每个数据集都是家庭不同变量的月度总结。我想根据家庭ID和月份将两者合并 df1 one看起来像这样: hh_ids date total <chr> <chr> <dbl> 1 KELDK13 2013-8-1 1 2 KMOMB02 2013-2-1 1 3 KMOMB02 2013-5-1 2 4 KMOMB04 2013-7-1 2 5 KMOMB04

我有两个数据集,每个数据集都是家庭不同变量的月度总结。我想根据家庭ID和月份将两者合并

df1 one看起来像这样:

     hh_ids      date total
     <chr>     <chr> <dbl>
1  KELDK13  2013-8-1     1
2  KMOMB02  2013-2-1     1
3  KMOMB02  2013-5-1     2
4  KMOMB04  2013-7-1     2
5  KMOMB04  2013-9-1     1
6  KMOMB06  2013-6-1     1
7  KMOMB14  2013-8-1     1
8  KMOMB16  2013-6-1     1
9  KMOMB17 2012-10-1     1
10 KMOMB17 2012-11-1     2
我希望将中的“total”列添加为df2中的一列,并带有匹配的hh_ID和日期

我已尝试做以下工作:

df3<-merge(df2,df1,by=c("hh_ids","date")) 

df3如果要保留
df2
中的所有行,即使它们与
df1
中的任何行不匹配,也可以在合并中使用
all
参数:

df3 <- merge(df2, df1, by=c("hh_ids","date"), all.x=TRUE)

df3呜呜……18秒:)这没什么……如果你想对一个R人感到惊讶,去看看阿伦的吧:-)是的,但他不算数。。。他在另一个联盟踢球:)如果你问我的话,戈登是个骗局之王……其实每个R问题本身都是一个独立的问题,但就这样吧。谢谢你的帮助。不幸的是,我仍然有问题。。出于某种原因,当我执行上述公式时,df2中的“total”列返回所有“NA”。你有没有想过为什么会发生这种情况?你预计会有多少行?如果重叠仅为14,则结果很好。两个data.frames中可能只有14个HH月。另一件需要检查的事情是,两个数据集的变量类型是相同的,因此在合并过程中因子/变量转换不会出现任何奇怪的情况。@Jimbou:我希望所有53个hh/date组合都会出现在较大的data.frame中,所以我希望有53行。为不够清晰而道歉
df3 <- merge(df2, df1, by=c("hh_ids","date"), all.x=TRUE)