假设我们有2个 Dataframe ,每个 Dataframe 有2个列和6行,我们只想在左边的日期(lhs)比右边的日期(rhs)旧的时候才绑定这两个 Dataframe ,同时确保每行都没有重复的日期(在lhs和rhs中):例如..
x = cbind(data.frame(lhs_date = seq(Sys.Date()-5, Sys.Date(),2)), letter=c("A","B","C","D","E","F") )
Y = cbind(data.frame(rhs_date = seq(Sys.Date()-5, Sys.Date(),1)), letter=c("X","Y","Y","X","J","J") )
我们怎样才能只在lhs date〈rhs date的情况下cbind或left join x到y,并保持每一行的唯一性?
3条答案
按热度按时间t3irkdon1#
我不确定我是否理解了你的问题,但你在寻找这样的东西吗?
创建于2019-11-26由reprex package(v0.3.0)
2nc8po8w2#
我找到的解决方案是基于最初的agila输入:在模糊连接dplyr之后,管道操作符可以完成其余的操作:
我可以很容易地在SQL中复制,但与R.谢谢@Agila.虽然不完整,你的答案指向正确的方向,并在很大程度上
bvn4nwqk3#
由于'dplyr'现在在变异连接中获得了
joined_by
参数,因此我们现在可以在dplyr
中执行此操作创建于2023-03-29带有reprex v2.0.2