【发布时间】:2020-12-06 16:25:52
【问题描述】:
假设我有以下数据:
df <- data.frame(a=c(1,2,3,4))
index <- data.frame(a=c(1,3), data=c('x', 'y'))
我想加入 df 和索引,这样我最终得到的结果包含 df 的行,但 index$data 加入了适当的 index$a。出于某种原因,英语单词让我失望了,但是 'x' 应该应用于 1 和 2(因为 index$a 有 1,而 3 是“下一个”索引值),并且 'y' 应该应用于 3 和 4 .
这是我想要最终得到的数据:
df2 <- data.frame(a=c(1,2,3,4), data=c('x', 'x', 'y', 'y'))
理想情况下,此解决方案与 tidyverse 兼容,无需加载任何其他库。
建议?
【问题讨论】:
-
仅供参考,tidyverse 只是库的集合,因此当您加载 tidyverse 时,您实际上是在加载至少十几个库。如果您想尽量减少开销,
dplyr是唯一需要进行连接的 tidyverse 库。无论如何,您正在寻找左联接,并且已经有很多 SO 帖子涵盖了该内容