007kimmy 发表于 2016-6-7 19:54 
我想请教 变量province的值均为各个省份的中文名称,此时如何将中文字符改为数值? 我尝试了 gen province_ ...
字符串变为数值,用destring命令;数值变为字符串,用tostring命令,具体可以看help.
你这里if后面少了个“=”。正确的是:
gen province_new=1 if province=="北京市"。
提取字符的方法很多,例如本题:
gen province_new=usubstr(province,1,2)
gen province_new1=ustrleft(province,2)
gen province_new2=substr(province,1,6)
以上三种方法都是可以做到新变量province_new为"内蒙"的目的。
另外说一下,gen province_new2=substr(province,1,6),此处不应该是4,汉字字符是utf-8编码,一个汉字3个字节,不是4个。
如有错误,请多多指教!