首页 > 解决方案 > 如何将加入行为与回收结合使用?

问题描述

我想加入两个数据帧(x 和 y),它们有一个共享列(时间,它们也应该被排序),并将两个数据帧的所有值保留在结果数据帧(z)中。使用 dplyr::full_join 很容易做到这一点。但是,我想回收行值,而不是通过连接产生的 NA,直到下一个值包含在其中一个列中(在此示例中,生成的 z2 数据框中的月份列)。

library(dplyr)

set.seed(19)

# dummy data
x <- data.frame(time = rnorm(length(month.name))^2, month = month.name)
y <- data.frame(time = rnorm(length(LETTERS))^2, letters = LETTERS)

# join
z <- dplyr::full_join(x, y, by = "time") %>% dplyr::arrange(time)

我将如何实现这一点,最好是在 dplyr/tidyverse 中?

标签: rdplyr

解决方案


推荐阅读