[R语言]{实例}车辆车架号VIN码校验函数

本文介绍了如何使用R语言编写一个车辆识别号码(VIN码)的校验函数。通过详细背景和需求说明,作者展示了如何利用数组和内置函数简化校验逻辑,实现高效的一行代码解决方案,确保VIN码的准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

车辆识别号码(Vehicle Identification Number,简称VIN码,亦称车架号),是车辆唯一ID标识,也是保险公司用于外部数据合作的主要匹配字段。

VIN码由17位字符(23个大写英文字母+数字,为避免混淆剔除了I、O、Q三个英文字母)组成,3位WMI+5位VDS+1位校验码+8位VIS,详情参考 17位车架号详解 。校验方法参考 车辆VIN码的校验算法 。

需求:

无论是内部管理还是对外合作,VIN码都是主要匹配字段。不过数据库里个别值的录入错误也是难免的,为了确保匹配的准确性,在外捍卫我大甲方的荣誉,清洗校验的过程还是必要的。(当然最简单的办法还是在录入时加一个自动核验)

实现:

#require(magrittr)

p.vin_check <- 
  function(vin){
    vin %>% tapply(.,.,function(x){
      substr(x,9,9) == (sum(c(1:8,NA,1:5,NA,7,NA,9,2:9,0:9)[char
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值