Прежде всего, вы должны рассмотреть Как создать отличный воспроизводимый пример R , в частности, советы о том, что делать, если вы не можете поделиться своими исходными данными.
Поскольку мы понятия не имеемкак на самом деле выглядят ваши данные, сложно предоставить конкретную помощь.Тем не менее, для работы над решением, я смоделирую некоторые фиктивные данные ниже и покажу, как объединить два data.frame
на основе записей в двух столбцах:
set.seed(2018)
data1 <- data.frame(
Country = sample(letters, 10),
Year = sample(1:4, 10, replace = T),
Value = sample(10))
data2 <- data.frame(
Country = sample(letters, 10),
Year = sample(1:4, 10, replace = T),
Value = sample(10))
merge(data1, data2, by = c("Country", "Year"))
# Country Year Value.x Value.y
#1 l 3 6 6
Или, если вы хотите сохранить строкиот каждого data.frame
, у которого нет совпадений
merge(data1, data2, by = c("Country", "Year"), all = TRUE)
# Country Year Value.x Value.y
#1 b 4 2 NA
#2 c 3 9 NA
#3 c 4 NA 3
#4 e 3 1 NA
#5 g 3 10 NA
#6 i 2 3 NA
#7 j 4 7 NA
#8 k 1 NA 1
#9 k 4 5 NA
#10 l 3 6 6
#11 m 2 8 NA
#12 r 3 4 NA
#13 a 3 NA 9
#14 d 4 NA 5
#15 q 1 NA 10
#16 t 1 NA 7
#17 v 4 NA 2
#18 w 3 NA 4
#19 x 4 NA 8