楼主: davidchendh
82172 34

[数据管理求助] 请问Stata用什么命令提取字符串变量前2个汉字或前n个汉字?   [推广有奖]

21
卢冲 学生认证  发表于 2019-3-6 09:03:18 |只看作者 |坛友微信交流群

使用道具

22
卢冲 学生认证  发表于 2019-3-6 09:08:10 |只看作者 |坛友微信交流群

使用道具

23
疯哥哥哥哥 发表于 2019-4-15 15:50:23 |只看作者 |坛友微信交流群
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个。
如有错误,请多多指教!

使用道具

24
疯哥哥哥哥 发表于 2019-4-15 15:53:07 |只看作者 |坛友微信交流群
葫芦娃大王 发表于 2018-1-2 10:11
请问大家,为什么我在stata中提取汉字的时候,发现一个字是占3个字符的啊?
你是对的,就是三个字节的。

使用道具

25
sannian_ 发表于 2019-9-24 08:40:34 |只看作者 |坛友微信交流群
感谢!

使用道具

26
山河涧库 发表于 2019-11-18 21:22:47 |只看作者 |坛友微信交流群
dxystata 发表于 2011-9-4 10:53
sungmoo版主好啊!
那如何提取后俩位呢?

使用道具

27
山河涧库 发表于 2019-11-18 21:23:44 |只看作者 |坛友微信交流群
葫芦娃大王 发表于 2018-1-2 10:11
请问大家,为什么我在stata中提取汉字的时候,发现一个字是占3个字符的啊?
我的也是

使用道具

28
杜佳艺 发表于 2020-3-19 16:07:46 |只看作者 |坛友微信交流群
sungmoo 发表于 2011-9-4 05:39
一个汉字占两位。

g x=substr(province,1,4)
请问1和4分别代表什么含义呢

使用道具

29
艾维尼亚 发表于 2020-7-15 15:21:40 |只看作者 |坛友微信交流群
huchengchun 发表于 2014-12-2 15:48
请问将汉字改为数字用什么命令呢
encode

使用道具

30
zyingx820 发表于 2020-12-4 09:59:41 |只看作者 |坛友微信交流群
sungmoo 发表于 2011-9-4 05:39
一个汉字占两位。

g x=substr(province,1,4)
谢谢谢谢!!!十分实用!!!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-13 02:32