【发布时间】:2019-06-24 22:10:24
【问题描述】:
我有 2 个数据框。第一个数据框有 2 列(代码、日期),第二个数据框有 3 列(代码、日期、价格)。第一个数据框每个 Ticker 只有 1 行,而第二个数据框每个 Ticker 有很多行。例如。
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
最后,如果你能在 purrr 中展示一种方法,那就太棒了。非常感谢你。
【问题讨论】:
-
看来你需要
inner_joininner_join(df1, df2) -
哦!我明白你在说什么。 2列内连接!谢谢你。我不知道我能做到这一点!
-
您是否有不想使用 JOIN 的特定原因?这可能有助于我们找出您所面临的具体限制,并帮助我们做出更好的回答
-
我不知道我可以加入 2 列。 akrun 最初发布的链接帮助解决了我的问题
-
太棒了!对于以后来的人,您可以通过将向量传递给
by=参数来加入多个列
标签: r dplyr data.table tidyverse purrr