You need to enable JavaScript to run this app. R语言scholar包get_impactfactor返回错误期刊名与影响因子问题排查
优惠活动
大模型
产品
解决方案
定价
更多

R语言scholar包get_impactfactor返回错误期刊名与影响因子问题排查

scholar包get_impactfactor()函数匹配错配问题

复现场景

调用scholar::get_impactfactor()函数时,传入三个学术界通用的期刊名称标识"JAMA"、"Kidney Int"、"American Society of Nephrology",在不同max.distance参数配置下,均返回了与输入不匹配的期刊名称、影响因子数值,具体运行表现如下:

  1. 设置max.distance = .1时的输出:
scholar::get_impactfactor(c("JAMA", "Kidney Int", "American Society of Nephrology"), max.distance = .1)
#> # A tibble: 3 x 4
#>   Journal                            Cites ImpactFactor Eigenfactor
#>   <chr>                              <dbl>        <dbl>       <dbl>
#> 1 CA-A CANCER JOURNAL FOR CLINICIANS 28839         245.      0.0660
#> 2 CA-A CANCER JOURNAL FOR CLINICIANS 28839         245.      0.0660
#> 3 CA-A CANCER JOURNAL FOR CLINICIANS 28839         245.      0.0660
  1. 设置max.distance = .5时的输出:
scholar::get_impactfactor(c("JAMA", "Kidney Int", "American Society of Nephrology"), max.distance = .5)
#> # A tibble: 3 x 4
#>   Journal                  Cites ImpactFactor Eigenfactor
#>   <chr>                    <dbl>        <dbl>       <dbl>
#> 1 LANCET                  233269         53.3      0.436 
#> 2 NATURE REVIEWS GENETICS  35680         41.5      0.0943
#> 3 NATURE                  710766         41.6      1.36
  1. 设置max.distance = .8时的输出:
scholar::get_impactfactor(c("JAMA", "Kidney Int", "American Society of Nephrology"), max.distance = .8)
#> # A tibble: 3 x 4
#>   Journal                                         Cites ImpactFactor Eigenfactor
#>   <chr>                                           <dbl>        <dbl>       <dbl>
#> 1 JAMA-JOURNAL OF THE AMERICAN MEDICAL ASSOCIAT~ 148774        47.7      0.300  
#> 2 JOURNAL OF THE AMERICAN SOCIETY OF NEPHROLOGY   37796         8.65     0.0568 
#> 3 Annual Review of Nutrition                       5528         8.89     0.00523

上述可复现代码由R语言reprex包v1.0.0于2021-03-02生成。

错配原因

  • max.distance参数控制字符串模糊匹配的宽松阈值,数值越小匹配规则越严格。当阈值为.1、.5时,因为匹配严格度过高,函数无法找到对应期刊条目,会自动返回内置影响因子库中排名最靠前的高分期刊作为兜底结果,因此出现三行返回值完全相同、和输入期刊毫无关联的情况。
  • 即使把阈值放宽到.8,模糊匹配依然存在固有偏差:
    1. 输入的"Kidney Int"是期刊《国际肾脏》的通用缩写,函数没有内置缩写映射规则,因此误匹配到同领域的《美国肾病学会杂志》
    2. 输入的"American Society of Nephrology"是学术机构名称,本身不是期刊名,因此被误匹配到完全不相关的《营养学年评》
  • 函数的匹配逻辑是基于内置库中的期刊全称计算字符串编辑距离,对学术界通用缩写、非期刊类机构名没有专门的映射规则,仅靠调整匹配阈值无法实现100%精准命中。

优化方案

  • 输入参数时优先使用期刊标准全称替代通用缩写或机构名:
    • JAMA对应标准全称:"JAMA-Journal of the American Medical Association"
    • Kidney Int对应标准全称:"Kidney International"
    • 原输入的美国肾病学会机构名不属于期刊范畴,若需查询该学会主办的期刊,需替换为对应期刊名"Journal of the American Society of Nephrology"
  • 模糊匹配阈值建议设置在.6-.7区间,平衡缩写容错能力和匹配准确率,避免阈值过高引入完全不相关的错配结果
  • 获取返回结果后逐行核对Journal字段内容,确认匹配结果和预期一致后再使用对应的影响因子数值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.01 21:54:06