Я хочу объединить два разных кадра данных. Эти кадры данных имеют разные размеры. Вот примеры наборов данных,
Основной набор данных
# Main data
id <- c(rep(1, 3), rep(3, 3), rep(10, 1))
time <- c(201601, 201602, 201603, 201601, 201602, 201603, 201601)
data1 <- c(100, 150, 160, 111, 120, 130, 150)
data2 <- c(5, 6, 9, 3, 2, 1, 0)
dataf1 <- data.frame(id, time, data1, data2)
Кадр данных для объединения с основным набором данных
# Additional data
id <- c(3, 10, 2)
time <- c(rep(201604, 3))
data2 <- c(20, 30, 11)
dataf2 <- data.frame(id, time, data2)
Я хочу объединить эти два кадра данных, а именно dataf1
и dataf2
. Я пытался dplyr::full_join(dataf1, dataf2, by = "id")
, но он не дает то, что я хочу. Ожидаемое соединение должно выглядеть следующим образом:
Однако окончательный вывод должен включать отсутствующие временные метки. Окончательный результат должен выглядеть следующим образом:
Есть ли способ, которым я могу достичь этого?