使用dplyr或Purrr

时间:2019-06-24 22:10:24

标签: r dplyr data.table tidyverse purrr

我有2个数据帧。第一个数据帧具有2列(股票行情,日期),第二个数据帧具有3列(股票行情,日期,价格)。每个第一个数据帧只有一个行,而第二个数据帧有多个行。例如。

df1

Ticker   Date
GS       2019-01-01
AAPL     2019-02-19
GE       2019-02-14

df2

Ticker  Date        Price
GS      2019-01-01  100
GS      2019-10-10  105
AAPL    2019-02-19  210
AAPL    2019-05-05  225
GE      2019-02-14  28
GE      2019-02-21  27

我想按代码分类,仅提取具有相同日期和代码的行。

例如这样的东西。

df2 %>% group_by(Ticker, Date) %>% slice(#match df1 Ticker and Date)%>% un_group()

Ticker   Date        Price
GS       2019-01-01   100
AAPL     2019-02-19   210
GE       2019-02-14    28

最后,如果您可以演示一种方法来做到这一点,那就太好了。非常感谢你。

1 个答案:

答案 0 :(得分:0)

此问题的解决方案是使用dplyr inner_join。我能够指定两个要加入的列。

#solution
inner_join(df1, df2, by = c("Ticker", "Date"))

您实际上可以将列向量传递给by函数。感谢divibisan