Я не уверен, правильно ли я понимаю ваш запрос, поэтому, пожалуйста, дайте мне знать, если это не то, что вы ищете.
Вы можете использовать target_ cc, чтобы присоединиться к df, но она должна быть той же длины, что и df.
Использование dplyr
:
library(dplyr)
country <- rep(c("AT","BE","CY","DE","EE"), 10)
value <- seq(1, 50)
df <- data.frame(country, value)
target <- data.frame(
country = rep(c("DE","CY","BE","AT","EE"), times = 5)
)
df2 <- df %>%
right_join(target, by = "country") %>%
distinct()
head(df2)
#> country value
#> 1 DE 4
#> 2 DE 9
#> 3 DE 14
#> 4 DE 19
#> 5 DE 24
#> 6 DE 29
tail(df2)
#> country value
#> 45 EE 25
#> 46 EE 30
#> 47 EE 35
#> 48 EE 40
#> 49 EE 45
#> 50 EE 50
Создано в 2020-02-07 пакетом Представить (v0.3.0)
Поскольку это приведет к перекрестному произведению, используйте distinct
, чтобы сохранить только уникальные строки.