Мы можем использовать match
, чтобы сопоставить столбец 'tags' в обоих наборах данных и получить соответствующее значение 'freq.Freq' из набора данных 'x'
x$freq.Freq[match(y$tags, x$tags)]
#[1] 11 4 3 5 10 12 1 6 9 13 2 7 8
Или другой вариант factor
as.integer(factor(y$tags, levels = x$tags))
#[1] 11 4 3 5 10 12 1 6 9 13 2 7 8
Или с mutate
library(dplyr)
y %>%
mutate(freq.Freq = match(tags, x$tags))
data
x <- structure(list(tags = c("solar", "solarpanels", "wind", "ClimateChange",
"energy", "renewableenergy", "windfarm", "Suncor", "Solar", "WindTree",
"renewable", "climatecri", "renewables"), freq.Freq = 1:13), class = "data.frame", row.names = c("1",
"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"
))
y <- structure(list(tags = c("renewable", "ClimateChange", "wind",
"energy", "WindTree", "climatecri", "solar", "renewableenergy",
"Solar", "renewables", "solarpanels", "windfarm", "Suncor"),
freq.Freq = c(740L, 722L, 638L, 541L, 525L, 518L, 359L, 326L,
296L, 245L, 1029L, 291L, 282L)), class = "data.frame", row.names = c("1",
"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"
))