我写的R语言 代码是 :
 
date_new <- within(raw_data, {
birth_date_new <-ifelse(!is.na(id_number), as.Date(ISOdate(as.numeric(substr(id_number,7,10)), as.numeric(substr(id_number,11,12)), as.numeric(substr(id_number,13,14)) )), birth_date )
})
我有一个原始数据集raw_data,它包含 两列,一个是字符型变量 身份证id_number,一个是变量是出生年月日birth_date,
现在需要做的是:如果id_number非空,则从身份证提取出生年月日,否则用birth_date;
但我这段代码输出的变量bith_date_new不是 正常的日期,数据是一些正负数字,这是为什么呢?