R:按日期从一个表到另一个表的附加值(连接表)

时间:2016-09-30 17:32:30

标签: r datetime merge

美好的一天!请帮我! 我要将表“D”(“xts”“zoo”)中的值“Open”添加到日期表中的“d”(“data.frame”)(“D”中的“index”,“dateOpen”in “d”)。我想在相应日期的“d”中添加一个新列。我怎么能用R?

这样做

谢谢!

"d"
             dateOpen priceOpen           dateClose priceClose  res cumres
1 2016-01-13 11:55:00     70670 2016-01-13 12:46:00      69853 -817   -817
2 2016-01-13 16:20:00     70670 2016-01-13 18:31:00      69853 -817  -1634
3 2016-01-14 21:55:00     70090 2016-01-14 23:49:00      69940 -150  -1784

"D"
            Open  High   Low Close  Volume
2016-01-11 16811 73560 68230 68710  656176
2016-01-12 68700 70720 67800 69050  766788
2016-01-13 69130 70930 68140 68470  798137
2016-01-14 68420 70220 67980 70060  757285
2016-01-15 69970 69970 64020 64970 1147526




    The answer is:
            dateOpen priceOpen           dateClose priceClose  res cumres Open   
1 2016-01-13 11:55:00     70670 2016-01-13 12:46:00      69853 -817   -817 69130 
2 2016-01-13 16:20:00     70670 2016-01-13 18:31:00      69853 -817  -1634 69130 
3 2016-01-14 21:55:00     70090 2016-01-14 23:49:00      69940 -150  -1784 68420 

1 个答案:

答案 0 :(得分:0)

使用merge功能。

df <- merge(d,
            D[, c("index", "Open")],
            by.x = "dateOpen",
            by.y = "index")

这假设您在D中的日期列被命名为“index”,该部分在您的问题中有点不清楚。