1、身份证信息说明

15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期,第15位代表性别,奇数为男,偶数为女。

18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。

2、R语言实现

#出生日期处理函数
afunc<-function(id){if(nchar(id)==15)paste('19',substr(id,7,12),sep="")elsesubstr(id,7,14)
}#性别处理函数
bfunc<-function(id){if(nchar(id)==15)ifelse(as.numeric(substr(id,15,15)) %% 2 ==1,'M','F')elseifelse(as.numeric(substr(id,17,17)) %% 2 ==1,'M','F')
}

3、测试

(1)测试数据

330622810725323
110221290815224
431021197306142736
431128197009055759
440700197510019150
360731196804216811
150123195103126841
222424195110306886
61102319591227666X
141182195505236567
220182196410190862
14062219620604034X
341124196902230765

(2)测试

#测试数据
ids<-c("330622810725323","110221290815224","431021197306142736","431128197009055759","440700197510019150","360731196804216811","150123195103126841","222424195110306886","61102319591227666X","141182195505236567","220182196410190862","14062219620604034X","341124196902230765")

#转换为矩阵
m.testdat<-matrix(ids,ncol=1)

#提取出身日期和性别
birthday<-apply(m.testdat,1,afunc)
gendor<-apply(m.testdat,1,bfunc)

result<-data.frame(ids,birthday,gendor)
print(result)

输出结果:

ids birthday gendor
1     330622810725323 19810725   M
2     110221290815224 19290815   F
3  431021197306142736 19730614   M
4  431128197009055759 19700905   M
5  440700197510019150 19751001   M
6  360731196804216811 19680421   M
7  150123195103126841 19510312   F
8  222424195110306886 19511030   F
9  61102319591227666X 19591227   F
10 141182195505236567 19550523   F
11 220182196410190862 19641019   F
12 14062219620604034X 19620604   F
13 341124196902230765 19690223   F

R语言实例-身份证信息提取相关推荐

  1. 【R语言实例】igraph — 网络分析与可视化包(1)

    作者简介: 本文作者系大学统计学专业教师,多年从事统计学的教学科研工作,在随机过程.统计推断.机器学习领域有深厚的理论积累与应用实践. igraph是一套用于网络分析与可视化的r包,它以高效.便捷.使 ...

  2. 数据ETL——使用R语言对身份证进行校验,排序筛选等操作

    数据ETL--使用R语言对身份证进行校验,排序筛选等操作 CSV格式如图所示 1.分别查询:  吉林省的身份证号码(参考GB/T2260-2007标准)  校验码不正确的无效身份证号码  50岁 ...

  3. 语言abline画不出线_教材中定性分析的R语言实例

    我们的年级由于疫情,统计这一章被甩在了高二,和前一个版本的教材<必修三>相比,也发生了一些变化. 对于统计图表的呈现,由于个人学艺不精,Geogebra有统计功能,但自己的使用存在着局限性 ...

  4. 手把手教线性回归分析(附R语言实例)

    本文长度为8619字,建议阅读15分钟 本文为你介绍线性回归分析. 通常在现实应用中,我们需要去理解一个变量是如何被一些其他变量所决定的. 回答这样的问题,需要我们去建立一个模型.一个模型就是一个公式 ...

  5. 机器学习中的K-means算法原理与R语言实例

    聚类是将相似对象归到同一个簇中的方法,这有点像全自动分类.簇内的对象越相似,聚类的效果越好.支持向量机.神经网络所讨论的分类问题都是有监督的学习方式,现在我们所介绍的聚类则是无监督的.其中,K均值(K ...

  6. WOE信用评分卡--R语言实例

    目录(?)[-] 信用卡评分 一数据准备 二数据处理 三变量分析 四切分数据集 五Logistic回归 六WOE转换 七评分卡的创建和实施 转载自:http://blog.csdn.net/csqaz ...

  7. 机器学习中的EM算法具体解释及R语言实例(1)

    最大期望算法(EM) K均值算法很easy(可參见之前公布的博文),相信读者都能够轻松地理解它. 但以下将要介绍的EM算法就要困难很多了.它与极大似然预计密切相关. 1 算法原理 最好还是从一个样例開 ...

  8. 【R语言实例】物种分布模型介绍

    作者简介: 本文作者系大学统计学专业教师,多年从事统计学的教学科研工作,在随机过程.统计推 断.机器学习领域有深厚的理论积累与应用实践.个人主页 1. 背景知识 物种分布模型(species dist ...

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

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

最新文章

  1. 《权力的游戏》最终季上线!谁是你最喜爱的演员?这里有一份Python教程 | 附源码...
  2. 谷歌DeepMind联合创始人被架空
  3. 测试新版FCKeditor编辑器精简版
  4. 按部就班——图解配置IIS5的SSL安全访问
  5. 新加坡樟宜机场将进入“刷脸”时代 自助通关是亮点
  6. 《天天数学》连载46:二月十五日
  7. linux如何做bond4,linux系统做bond
  8. Sublime Merge for Mac(git客户端软件)
  9. AD快捷键及常用操作
  10. 视觉三维重建核心算法讲解和代码实现(sfm构建稀疏地图和mvs构建稠密地图)...
  11. 6.5-6.7 理解线性方程组解的结构
  12. android的充电线,充电线和数据线的区别
  13. 直观理解深度学习中的反卷积、导向反向传播
  14. 显卡掉驱动 不用重启
  15. 面试了 15 位来自 985/211 高校的 2020 届研究生,思考许久,熬夜赶出了这篇文章...
  16. 下载 | mqtt4aliyun 阿里云 IoT 物联网 设备模拟器 Mac , Windows版本
  17. 什么是BEPI认证?
  18. 数据库系统原理 - - (6)数据库安全与保护
  19. OpenDDS Java开发(一):理解Messenger示例
  20. Access2002-2003数据库合并工具

热门文章

  1. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java智能物流管理系统k852w
  2. js:字符串(string)转json
  3. R数据分析:跟随top期刊手把手教你做一个临床预测模型
  4. 深入浅出Pytorch函数——torch.zeros
  5. FilterConfig的用法是什么
  6. 阿里云与海底捞合作QA
  7. Windows构建Flutter环境,无法访问maven.google.com
  8. Microsoft Excel 单元格行高和列宽
  9. android打地鼠案例
  10. 树与图在索引上的区别