如何解决非平等加入 tidyverse
我想知道是否有人知道 //
扩展包(dplyr
和 dbplyr
)是否允许在通常的 dplyr 工作流程中进行非对等连接?我很少需要 dtplyr
,但快速非对等联接是我总是需要 data.table
,然后执行联接,然后用 setDT
切换回来的唯一时刻。我浏览了 github 上软件包中的问题,但没有发现这是计划中的还是已经实施的。
解决方法
对于 dbplyr:虽然 SQL 支持非对等连接,但我还没有找到等效的 dplyr 方法。我通常的解决方法与@Waldi 发布的 r-bloggers 链接非常相似,用于加入等式条件,然后过滤不等式条件。
例如:
output = join(df1,df2,by = c("df1_id" = "df2_id")) %>%
filter(df1_date <= df2_date)
这转化为 SQL 类似于:
SELECT *
FROM df1
JOIN df2
ON df1_id = df2_id
WHERE df1_date <= df2_date
与以下没有什么不同:
SELECT *
FROM df1
JOIN df2
ON df1_id = df2_id
AND df1_date <= df2_date
,
我喜欢 dplyr 的简单性。但是,我需要根据工作中的日期 >、
我发现您正在使用相同的方法。如果您的数据适中,我认为这是最好的。 dplyr 中的模糊连接和过滤方法都花费了太多时间。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。