根据来自不同df的条件在df中指定列

时间:2014-03-07 12:35:18

标签: r dataframe

可能是一个简单的问题,但作为一个相对初学者,我正在努力解决它。我有两个dfs,其中df1和df 2是子集:

#df1
ID1 = c("1","2","3","4","5") 
DisDate1 = c("2010-05-11","2010-07-16","2010-10-25","2010-12-04","2011-03-18") 
ReAdLim1 = c("2010-06-10","2010-08-15","2010-10-24","2011-01-03","2011-04-17") 
df1 = data.frame(ID1,DisDate1,ReAdLim1) 

#df2
ID2 = c("1","1","1","2","2","2") 
DisDate2 = c("2010-09-19","2010-11-16","2011-04-17","2011-06-04","2011-10-11","2011-12-04") 
df2 = data.frame(ID2,DisDate2) 

我只想在df2中创建一个额外的列,其中df1的ReAdLim1日期被分配给每个唯一ID以创建df3所描述的内容:

#df3 
ID3 = c("1","1","1","2","2","2") 
DisDate3 = c("2010-09-19","2010-11-16","2011-04-17","2011-06-04","2011-10-11","2011-12-04")
ReAdLim3 = c("2010-06-10","2010-06-10","2010-06-10","2010-08-15","2010-08-15","2010-08-15") 
df3 = data.frame(ID3,DisDate3,ReAdLim3)

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:0)

这是你要找的吗?

merge(df2, df1, by.x = 'ID2', by.y = 'ID1')