dplyr/tidyverse provides a left_join()
library(tidyverse)
#load example data
(df1 <- structure(list(a = 1:4,
b = c("CZ010", "CZ020", "CZ031", "CZ032"),
c = c(NA, NA, NA, NA),
d = c(NA, NA, NA, NA),
e = c(
"median_mezd",
"median_mezd", "median_mezd", "median_mezd"
), f = c(
2019L, 2019L,
2019L, 2019L
), g = c(37602L, 32570L, 29460L, 31985L), h = c(
"Kc",
"Kc", "Kc", "Kc"
)), row.names = c(NA, -4L), class = c(
"tbl_df",
"tbl", "data.frame"
)))
(df2 <- structure(list(x = 1:9, y = c(
"CZ0100", "CZ0201", "CZ0202", "CZ0203",
"CZ0204", "CZ0311", "CZ0312", "CZ0321", "CZ0322"
), z = c(
"CZ010",
"CZ020", "CZ020", "CZ020", "CZ020", "CZ031", "CZ031", "CZ032",
"CZ032"
)), row.names = c(NA, -9L), class = c(
"tbl_df", "tbl",
"data.frame"
)))
#solution
left_join(df1,
df2,
by = c("b" = "z")
) %>% select(
y,
names(df1)
)