ID码调整

回复
lyccxd
帖子: 3
注册时间: 周四 1月 28, 2016 9:45 am

ID码调整

帖子 lyccxd » 周四 1月 28, 2016 10:06 am

 请问我在stata上试图把2011年的基线数据的ID码按照命令“ replace householdID= householdID+0”,结果显示为mismatch, 当我把householdID转换成数值型变量后,还是没有成功,结果显示为,0 real changes made。请问我如何调整2011年基线数据的ID码?

yufangfang
帖子: 8
注册时间: 周四 1月 28, 2016 10:07 am

Re: ID码调整

帖子 yufangfang » 周四 1月 28, 2016 10:10 am

try this:
replace householdID = householdID + "0"
replace ID = householdID + substr(ID,-2,2)

It will match with 2013 wave

huangyg
帖子: 7
注册时间: 周四 1月 28, 2016 10:20 am

Re: ID码调整

帖子 huangyg » 周四 1月 28, 2016 10:41 am

householdID:家庭编号householdID从2011年的9位增加到10位,第十位标识离婚后家庭拆分。如果没有离婚的家庭,第十位是0。
inidividualID:相应的,2013年数据的个人编号也增加到12位,最后两位标识个人在家庭内的序号。因此,2011年ID需要调整后才能与2013年ID匹配。

比如对于两次调查期间没有离婚的家庭来说,R语言代码是:

# 读入2011年demographic_background数据。
ch113 <- ch11(3)
# 生成2013年格式的ID,新ID规则是:householeID + "0" + ID的最后两位。
ch113$ID <- paste(ch113$householdID,substr(ch113$ID,10,11) ,sep="0")

lyccxd
帖子: 3
注册时间: 周四 1月 28, 2016 9:45 am

Re: ID码调整

帖子 lyccxd » 周四 1月 28, 2016 11:03 am

yufangfang 写了:try this:
replace householdID = householdID + "0"
replace ID = householdID + substr(ID,-2,2)

It will match with 2013 wave

谢谢你的解答,我按照你所说读入demographic_background数据,输入上述命令两条命令后,成功调整。我以前之所以出现错误,是因为我合并demographic_background和work_retirement_and_pension两个子数据后,再输入上述两条命令,结果不成功,再次感谢!

回复