全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1385 4
2017-12-14

afunc<-function(id){  
  if(nchar(id)==15)
    paste('19',substr(id,7,12),sep="")  
  else  
    substr(id,7,14)  
}  

如上表示处理15和18位信息的函数如果不存在NA是可以完美运行的,如果出现NA就会报错
Error in if (nchar(id) == 15) paste("19", substr(id, 7, 12), sep = "") else if (nchar(id) ==  :
  missing value where TRUE/FALSE needed

求解如何解决

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-12-14 15:18:54
先判断一把 is.Na(id)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-12-14 15:23:51
jinkelazzz 发表于 2017-12-14 15:18
先判断一把 is.Na(id)
能具体点吗,纯小白
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-12-14 18:46:24
因为你的身份证信息是存在缺失值NA的,所以可以用is.na(id)来忽略掉id里面的NA
也就是说把你代码里面的id换成is.na(id)就可以了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群