合并R中的数据帧

时间:2013-07-10 16:47:48

标签: r join dataframe finance

我有一个大型数据框,其财务数据如下所示:

id      Tradedate    name          hour open    close
19897   2013-01-30   instrument1   1   18.01   13.50
19898   2013-01-30   instrument2   2   15.72    8.99
19899   2013-01-30   instrument3   3   12.80   11.42
19900   2013-01-30   instrument4   4   12.71   12.85

上述数据框中有数千种乐器。我有另外一个“待交易”的数据框架,其中包含十几个这样的工具:

id    name   hour 
1 instrument3 17     
2 instrument4 24    
3 instrument5 15    
4 instrument6 19

我遇到的问题是我无法让subset返回一个数据框,其中只包含“待交易”向量中的工具小时组合。我试过这个:subset(financial_data, subset= paste(name, hour) %in% paste(to_be_traded$name, portfolio$hour)),但它会返回完整的财务数据框。我知道这可以在sql中用类似INNER JOIN的东西来完成,但我不知道如何在R中执行此操作。任何和所有帮助都非常感谢。

2 个答案:

答案 0 :(得分:2)

R中的INNER JOIN由merge完成。与这两列匹配的数据的唯一组合没有重叠,但如果有,则会随附:

merge(dat1, dat2, by=c("name", "hour"))

如果您想要OUTER JOIN(左或右),可以通过在merge电话中指定all.x或all.y来发送它们。

答案 1 :(得分:0)

在这种情况下,简单的merge(financial_data, trade_data)可以完成工作。