我在下面提到了两个数据框:
DF1
ID Value
AL-1 Adf "& ert
AL-2 new '? rti
AL-3 oll- drt/
AL-4 plr -rte-
DF2
Value Type
Adf & ert AA
new rti AA
oll-drt& AB
plr-rte AC
要求的输出:
ID Value Type
AL-1 Adf "& ert AA
AL-2 new '? rti AA
AL-3 oll- drt/ AB
AL-4 plr -rte- AC
我想将 Value 列中 DF1 的字符与 DF2 Value 列中的字符进行匹配,并导出 Type
。
尝试使用拼音库但还没有完成,需要一些建议。
最佳答案
您可以使用 adist
函数为 df1$Value
与 df2$Value< 中的每个值获取字符串之间的近似“距离”/
。然后你可以取最小距离的那个(所以精确匹配将被优先考虑):
library(utils)
df1$Type <- df2$Type[apply(adist(df1$Value, df2$Value), 1, which.min)]
df1
# ID Value Type
#1 AL-1 Adf "& ert AA
#2 AL-2 new '? rti AA
#3 AL-3 oll- drt/ AB
#4 AL-4 plr -rte- AC
关于r - 通过字符串匹配从其他数据框中查找特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50121776/