r - 使用常用词逐行合并两个数据框
问题描述
df1 <- data.frame(freetext = c("open until monday night", "one more time to insert your coin"), numid = c(291,312))
df2 <- data.frame(freetext = c("open until night", "one time to insert your be"), aid = c(3,5))
我会使用自由文本列作为选项来合并两个数据框。但是,文本与删除或显示的某些单词并不完全相同。
是否有任何选项可以找到行之间相同单词的最大数量并根据此合并它们?
这是预期输出的示例
df3 <- data.frame(freetext = c("open until night", "one time to insert your be"), aid = c(3,5), numid = c(291,312))
解决方案
也许,您可以查看stringdist
连接fuzzyjoin
并使用max_dist
适合您数据的参数。
fuzzyjoin::stringdist_inner_join(df1, df2, by = 'freetext', max_dist = 10)
# freetext.x numid freetext.y aid
# <chr> <dbl> <chr> <dbl>
#1 open until monday night 291 open until night 3
#2 one more time to insert your coin 312 one time to insert your be 5
推荐阅读
- python - 尝试正则表达式所有大写的单词,除了那些紧跟在 Python 中的一段时间之后
- java - Java包装方法练习的问题
- r - R 自动回归
- reactjs - React Natve 中的上下文
- .net-core - NHibernate Profiler 在 .NET Core 3.1 中不起作用
- angular - Angular 8 HttpClient GET忽略responseType:来自swagger API的'blob'返回{}
- java - IntelliJ IDEA 的默认项目结构和运行配置
- mongodb - 安装 MongoDB 后尝试启动 Mongod 时出错
- vb.net - 如何从输入到vb.net文本框中的句子中提取最后一个单词
- javascript - Power Bi Javascript API - 修改视觉对象