Не могли бы вы попробовать fuzzy_join
? Вы также можете настроить максимальное расстояние (max_dist
) для использования при присоединении.
library(fuzzyjoin)
stringdist_join(df1, df2, by = "Name_district", distance_col = NULL, max_dist = 3)
Выход
Name_district.x Unmployment_rate Name_district.y Shape_polygon
1 Amatali 1 Amtali a
2 Amtli 2 Amtali a
3 Aamatali 3 Amtali a
4 Bamna 4 Bamuna b
5 Baamna 5 Bamuna b
6 Baamuuna 6 Bamuna b
7 Brahammanbaria 8 Bramhanbaria c
Данные
df1 <- data.frame(
Name_district = c("Amatali", "Amtli", "Aamatali", "Bamna", "Baamna", "Baamuuna", "B.Baria", "Brahammanbaria"),
Unmployment_rate = 1:8
)
df2 <- data.frame(
Name_district = c("Amtali", "Bamuna", "Bramhanbaria"),
Shape_polygon = letters[1:3]
)