You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R的reclin2等记录匹配包中自定义数值相似度计算?

R记录匹配:自定义数值相似度计算及NA处理方案求助

我希望使用R中的reclin2或其他记录匹配包,基于数量、价格、位置、地址等数值与分类属性,匹配两位市场参与者上报的交易记录。

核心需求是在包中集成自定义函数,计算两条记录间每个属性的相似度:比如比较数值90和100时,相似度按90/100=0.9计算,而非因不完全匹配返回FALSE。具体场景为:对同一Block_ID下的所有Report_ID进行两两比较,计算各属性的相似度得分。

示例数据

数据结构

structure(list(Report_ID = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
Block_ID = c(1, 1, 1, 2, 2, 2, 3, 3, 3, 3), Number = c(5,
3, 2, 10, 11, 100, 2, NA, 8, 2), Character = c("A", "A",
"B", "A", "B", "C", "D", "A", "D", "A")), class = "data.frame", 
row.names = c(NA, -10L))

数据表格

Report_IDBlock_IDNumberCharacter
115A
213A
312B
4210A
5211B
62100C
732D
83NAA
938D
1032A

期望输出

期望得到如下相似度数据框:

Report_ID_combinationSimilarity_NumberSimilarity_Character
1_20.601
1_30.400
2_30.670
4_50.910
4_60.100
5_60.110
7_8NA0
7_90.251
7_101.000
8_9NA0
8_10NA1
9_100.250

当前困境

我了解到reclin2、RecordLinkage、StatMatch、fedmatch等常用记录匹配/去重包,针对分类特征提供了Jaccard、Levenshtein、Cosine等多种距离度量,但针对包含NA的数值进行相对相似度比较的场景,尚未找到合适的现成方案。

恳请R记录匹配领域的从业者提供相关解决方案建议。


内容的提问来源于stack exchange,提问作者Marius

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 06:03:16