我有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
最后,如果您可以演示一种方法来做到这一点,那就太好了。非常感谢你。
答案 0 :(得分:0)
此问题的解决方案是使用dplyr inner_join。我能够指定两个要加入的列。
#solution
inner_join(df1, df2, by = c("Ticker", "Date"))
您实际上可以将列向量传递给by函数。感谢divibisan