全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
14245 8
2017-08-08
如图所示,地址中有的含省份,有的不含,城市名长度也不同,怎么用substr提取城市名呢?code怎么写呢

stata小白,求大神们解答时尽量详细,无限感激 image0.jpg
二维码

扫码加我 拉你入群

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

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

全部回复
2017-8-9 08:49:14
从你的数据可以看出,城市名分布有两种情况,一是在某某省后面,如安徽省安庆市,所以用
gen city=substr(address,7,6) if substr(address,5,2)=="省"
二是直接的直辖市,如北京市,用
replace city=substr(address,1,6) if substr(address,5,2)!="省"
二维码

扫码加我 拉你入群

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

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

2017-8-9 17:06:51
也是晴天 发表于 2017-8-9 08:49
从你的数据可以看出,城市名分布有两种情况,一是在某某省后面,如安徽省安庆市,所以用
gen city=substr( ...
你的建议很不错,只是担心不知道所有资料都有此规则!是否省或市的名字都是两个字呢?
二维码

扫码加我 拉你入群

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

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

2017-8-9 18:49:03
黃河泉 发表于 2017-8-9 17:06
你的建议很不错,只是担心不知道所有资料都有此规则!是否省或市的名字都是两个字呢?
老师说得有理!有些省名是三个字的,如黑龙江省,有的省可能习惯上不加省字,如内蒙古。
二维码

扫码加我 拉你入群

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

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

2017-8-9 18:54:54
wshf666666 发表于 2017-8-9 18:49
老师说得有理!有些省名是三个字的,如黑龙江省,有的省可能习惯上不加省字,如内蒙古。
谢谢你的 confirm;但即使是这样,如果我们有中国所有省的名字(一个档)与所有市的名字(另一个档) ,应该还是有方法可以区隔出来!
二维码

扫码加我 拉你入群

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

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

2017-8-10 13:52:00
黃河泉 发表于 2017-8-9 17:06
你的建议很不错,只是担心不知道所有资料都有此规则!是否省或市的名字都是两个字呢?
像黑龙江省这种你就替换时加上一个或者:
replace city=substr(address,1,6) if substr(address,5,2)!="省"& substr(address,5,2)=="市"
表示将第三个字不是省且第第三个是"市"的替换为某某市
replace city=substr(address,9,6) if substr(address,7,2)=="省"  将第四个字为省的替换为后面三个字的市,类似的你可以考虑四个字省份四个字市名的这种,这种应该比较少
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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