全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
8780 5
2018-01-29

如,1-安微,6-广东, 9-中国陕西  ………………。

如何 把   安微、广东,中国陕西等等,这些数字背后的文字提取出来,赋于一个新的变量?

二维码

扫码加我 拉你入群

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

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

全部回复
2018-1-29 23:14:26
可以用正则表达式,比如你给的变量是x,则生成新变量y,gen y = regexr(x, "[^0-9]+", ""), y就是把非数字的字符都替换为空,正则表达式的用法看百度,估计stata的manual里也有
二维码

扫码加我 拉你入群

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

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

2019-4-20 18:29:54
youngphone 发表于 2018-1-29 23:14
可以用正则表达式,比如你给的变量是x,则生成新变量y,gen y = regexr(x, "[^0-9]+", ""), y就是把非数字 ...
尝试了,似乎效果不太好,不知道怎么回事

复制代码



二维码

扫码加我 拉你入群

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

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

2019-9-24 11:15:57
用rdecode 变量名,replace,就可以只保留该变量的文字部分了。
二维码

扫码加我 拉你入群

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

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

2020-12-30 11:09:56
youngphone 发表于 2018-1-29 23:14
可以用正则表达式,比如你给的变量是x,则生成新变量y,gen y = regexr(x, "[^0-9]+", ""), y就是把非数字 ...
很好用,楼主这样是提取出字符型的年月日,如果想直接保留数字型的年份的话,也可以用:gen y = real(substr(regexs(0)), 1, 4) if regexm( x ,"([0-9]+)")
二维码

扫码加我 拉你入群

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

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

2021-11-10 10:33:22
youngphone 发表于 2018-1-29 23:14
可以用正则表达式,比如你给的变量是x,则生成新变量y,gen y = regexr(x, "[^0-9]+", ""), y就是把非数字 ...
博主这个命令,可以实现“把非数字的字符串都替换为空”的目标,这在将字符串中的数字分离出来的过程中很有帮助。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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