首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何限制模糊连接只返回一个匹配

如何限制模糊连接只返回一个匹配
EN

Stack Overflow用户
提问于 2019-09-12 15:07:35
回答 1查看 536关注 0票数 4

我正在尝试用R语言创建一个程序,将城市名称或机场名称替换为三位数的机场代码。我希望进行模糊匹配,以获得更大的灵活性,因为我要替换的城市/机场名称的数据来自许多不同的来源。我的问题是,在模糊匹配左连接的情况下,我似乎找不到一种方法,只将最接近的匹配从右表(代码)带回左表(名称)。

例如: GA的奥古斯塔与GA的奥古斯塔和ME的奥古斯塔都进行了匹配,并复制了数据。我不想限制最大距离,因为我仍然希望允许灵活性,但我不能让我的数据被复制。我想找到一种方法来进行部分字符串匹配,但只返回最接近的结果。

我尝试过使用fuzzyjoin包,但从我所看到的情况来看,没有办法限制只有一个匹配或只有最佳匹配。我知道在pmatch中有一个禁止重复的调用,但我找不到一种方法来使pmatch作为连接工作。

代码语言:javascript
运行
AI代码解释
复制
data <- stringdist_left_join(data, orig, ignore_case = TRUE)

这是我正在使用的代码,字符串是R中的fuzzyjoin包的函数。数据集"data“包含城市名称、航班数量和其他乘客信息。orig数据集包含一列城市/机场名称和机场代码

代码语言:javascript
运行
AI代码解释
复制
SAMPLE INPUT
**data table:**
City Name       Passenger Name    Fare Paid
Augusta, GA         Jon            $100
Dallas, TX          Jane           $200
Spokane, WA         Chris          $300

**orig table:**
City Name      Code
Augusta, GA    JCL
Dallas, TX     DAL
Denver, CO     DEN
Seattle, WA    SEA
Spokane, WA    GEG
Austin, TX     AUS
Augusta, ME    PEA
Portland, ME   MEW
Portland, OR   PDX



Desired Result
City Name       Passenger Name    Fare Paid   Code
Augusta, GA         Jon            $100        JCL
EN

回答 1

Stack Overflow用户

发布于 2020-10-20 06:56:31

在没有reprex的情况下很难判断,但一般来说,您可以使用以下命令处理fuzzyjoin结果

%>% group_by(column_you_joined_by) %>% slice_min(dist)

得到一个“最好”的结果。

参考文献:

https://github.com/dgrtwo/fuzzyjoin/issues/18

How can I match fuzzy match strings from two datasets?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57909676

复制
相关文章
全选或者单选checkbox的值动态添加到div
图片.png <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <link rel="stylesheet" href="./css/bootstrap.css" /> <style> html,body{ width:100% } .bg_g
王小婷
2018/06/05
1.9K0
浅谈javascript中的回调函数javascript中的函数匿名函数回调函数回调函数的使用回调函数实例总结
要理解javascript中的回调函数,首先我们就要对javascript中的函数有一定的理解,所以我们先从javascript中函数谈起,讲讲它与其他语言中的函数有什么不同。
desperate633
2018/08/22
2.9K0
浅谈javascript中的回调函数javascript中的函数匿名函数回调函数回调函数的使用回调函数实例总结
【Android 逆向】函数拦截实例 ( ③ 刷新 CPU 高速缓存 | ④ 处理拦截函数 | ⑤ 返回特定结果 )
【Android 逆向】函数拦截实例 ( 函数拦截流程 | ① 定位动态库及函数位置 ) 博客中简单介绍了 hook 函数 ( 函数拦截 ) 的流程 , 本系列博客介绍函数拦截实例 ;
韩曙亮
2023/03/29
1.6K0
go: 配置golangci-lint 与 precommit配合检查函数是否超过特定行数
最近代码规范很烦人。要求一个函数不能超过80行。只能在git pre-commit钩子上检查下了。 这里使用golangci-lint,里面包含了funlen检查器 config.yaml
超级大猪
2021/06/29
1.9K0
如何将回调和中断服务函数进行结合?
使用回调的方法可用于轻松创建灵活且可扩展的中断服务程序。开发人员可以使用多种方法以这种方式使用回调。 可以是以动态的形式分配回调,也可以以静态的形式分配回调,静态分配的回调的好处是不能在运行时进行更改,但动态分配对于在执行期间可能需要更改中断行为的应用程序非常有用。
杨源鑫
2022/03/24
1K0
如何将回调和中断服务函数进行结合?
回调函数的工作机制 回调函数的用途
在一般人的眼中,对回调函数并不是十分的了解。实际上,在现在的互联网技术上这种函数有着十分重要的地位。这种函数不仅仅可以使得编程的效率大大提升,还是实现一些特殊功能的必须组成部分。那么什么是回调函数?这样的函数究竟有什么作用?下面就来为大家介绍一下。
用户8739405
2021/07/09
6.9K0
tkinter -- Place
注意 bt2放置的位置是在 root 的(0,0)处,而 button1放置的位置是在 lb1的(0,0)处,原因是由于 bt1使用了 in 来指定放置的窗口为 lb1
py3study
2018/08/03
1K0
用回调函数调用异步流回调函数内的数据
本文的标题看起来也许比较绕,看不懂也没关系,后面会慢慢说明。写这篇文章是为了记录一下前几天我碰到的一个问题。
凌虚
2020/07/18
2K0
用回调函数调用异步流回调函数内的数据
jquery判断一个div的边界是否超出另外一个div的边界
摘要:本文简单介绍jquery判断一个div的边界是否超出另外一个div的边界,如果超出边界做出相应的处理。
牛老师讲GIS
2018/10/23
1.6K0
jquery判断一个div的边界是否超出另外一个div的边界
Javascript判断数组是否包含特定元素方法汇总
判断数组是否包含某一特定元素是很常见的需求,javascript中有很多实现方法,今天有空汇总了一下,按兼容性由强到弱排序,返回类型一律为boolean:
MudOnTire
2019/05/26
2.1K0
js函数的回调
以上只能回调没有参数的(除法你事先知道回调的函数的参数),如果函数有未知的函数,就不能如此简单的调用了。
全栈程序员站长
2022/08/25
4.6K0
回调函数的理解
把A理解成客户端,把B理解成服务器。 A要访问B,让B做事。但是B做的慢,于是B就先返回给A一个正在处理的状态,等处理完了再通知A处理结果,那么这个A通知B的手段就是回调了。通常为了加强适配性(因为服务器只有一个,而客户端有多个),客户端都会实现接口C,再把C注入到服务器,那么服务器对外提供带有参数C的方法即可。
全栈程序员站长
2022/08/09
1.6K0
了不起的回调函数
关于js的回调函数,在各大平台已经被写烂了,我也看了很多别的大神写的帖子,我也在想怎么可以比较明白的将这个东西讲明白,今天我就尝试一下,认真看完,相信是有一些用处的。 想搞明白回调函数之前,先看懂我下面说的这段话, 有几个概念需要搞明白js中的同步和异步,或者叫阻塞和延迟,这就是为什么同步的函数有概率卡死,说直白一些,同步就是代码由上而下执行,中间如果有问题,那就等着,直到问题解决掉代码才会接着执行,但是我们在写js的过程中,其实很少有这种情况,原因是js本身就是一个异步编程语言,所谓的异步就是你慢没
何处锦绣不灰堆
2023/01/14
1.3K0
回调函数
  有点类似模板的功能,可以使用函数指针作为参数,当调用函数时,使用void *进行传递参数,细致比较时,再用int *之类的进行强制转换。回调函数,其实就是在参数中定义函数,调用时,回到主函数去调用这个函数。仔细用法如下: 首先定义查找函数 Node * search_list(Node *node, void const *value, int (*compare)(void const *,void const *)){ while(node!=NULL){ if(compar
用户1154259
2018/01/17
3.4K0
回调函数
回调函数
什么是回调函数,上面的问题说的是不是很空洞,不是太形象,下面是知乎上的一位网友给的答案:
LiosWong
2018/10/29
3.9K0
回调函数
原文链接:https://note.noxussj.top/?source=cloudtencent 什么是回调函数? 简单的来说,一个函数作为另外一个函数的参数,可以称为回调函数。这个理解其实不完全
菜园前端
2023/05/20
1.8K0
使用FSO修改文件特定内容的函数
大家好,又见面了,我是你们的朋友全栈君。function FSOchange(filename,Target,String) Dim objFSO,objCountFile,FiletempData Set objFSO = Server.CreateObject(“Scripting.FileSystemObject”) Set objCountFile = objFSO.OpenTextFile(Server.MapPath(filename),1,True) FiletempData = objCountFile.ReadAll objCountFile.Close FiletempData=Replace(FiletempData,Target,String) Set objCountFile=objFSO.CreateTextFile(Server.MapPath(filename),True) objCountFile.Write FiletempData objCountFile.Close Set objCountFile=Nothing Set objFSO = Nothing End Function ””使用FSO读取文件内容的函数
全栈程序员站长
2022/09/02
1.2K0
【说站】python如何导入模块的特定函数
1、可以导入模块中的特定函数: from pygame import make_bullet。
很酷的站长
2022/11/24
2K0
【说站】python如何导入模块的特定函数
Failed to place enough replicas
如果DataNode的dfs.datanode.data.dir全配置成SSD类型,则执行“hdfs dfs -put /etc/hosts hdfs:///tmp/”时会报如下错误:
一见
2018/08/02
2K0
点击加载更多

相似问题

将回调添加到函数-始终

32

将回调函数作为特定的pointertype提供

12

将回调函数结果与调用限制合并

11

将回调附加到发布

31

将回调结果写入页面

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档