全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
561 4
2024-03-04
求助!我想生成一个定类变量SoSec,当居民拥有五险一金(养老保险、医疗保险、失业保险、住房公积金、生育保险、工伤保险)中的任意一种或多种时SoSec=1,当居民五险一金中一个都没有时SoSec=0
以下为我的代码:
//户主有无社保(f1001a养老保险、f2001a医疗保险、f3001失业保险、f4001住房公积金、f4013生育保险、f4012工伤保险)
gen SoSec=.
replace SoSec=1 if f1001a!=7|f2001a!=12|f3001!=2|f4001!=2|f4012!=2|f4013!=2
replace SoSec=0 if f1001a==7&f2001a==12&f4013==2&f4012==2&f3001==2&f4001==2
label var SoSec"户主有社保1,无社保0,社保包括养老保险、医疗保险、生育保险、工伤保险、失业保险和住房公积金"

结果却显示type mismatch(如下图)
屏幕截图 2024-03-04 121650.png

二维码

扫码加我 拉你入群

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

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

全部回复
2024-3-4 12:45:47
你需要检查一下数据
这里不是code问题

应该是有些数据 比如 f4001 它是数值型的么? 这种方面的检查
二维码

扫码加我 拉你入群

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

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

2024-3-4 13:53:55
wdlbcj 发表于 2024-3-4 12:45
你需要检查一下数据
这里不是code问题
我检查了以下,确实f2001a这个变量是str15的格式。f2001a中有些值为 “1-7” “3-7”这种形式,而不是只有一个数字,请问怎么将“1-7”转化为数值型1、2、3、4、5、6、7从而实现匹配?或者还有什么别的办法?感谢!
二维码

扫码加我 拉你入群

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

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

2024-3-4 17:24:13
sherryeeee 发表于 2024-3-4 13:53
我检查了以下,确实f2001a这个变量是str15的格式。f2001a中有些值为 “1-7” “3-7”这种形式,而不是只有 ...
那你可以考虑
条件中 就写成   

f2001a!="3-7"
二维码

扫码加我 拉你入群

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

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

2024-3-5 15:06:41
wdlbcj 发表于 2024-3-4 17:24
那你可以考虑
条件中 就写成
解决了,感谢!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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