Вы можете объединить первые пять символов. Вам нужно будет установить stringr
пакет
, реплицирующий ваши данные
a<- data.frame( Continent=c("Europe","Asia","africa","africa","africa"), Country=c("Russia","Myanmar (Burma)","Benin","Botswana","Burkina"))
b <- data.frame( Continent=c("Europe","Asia","africa","africa","africa"), Country=c("Russian Federation","Myanmar","Benin,new","Botswana","Burkina"))
создать переменную, состоящую из первых пяти букв нижнего регистра
a$key <- stringr::str_extract(tolower(a$Country), "\\b[a-z]{0,5}")
b$key <- stringr::str_extract(tolower(b$Country), "\\b[a-z]{0,5}")
, а затем объединить на новый ключ (вы, вероятно, захотите переименовать ваши столбцы до этого слияния
merge( a , b , by="key")