楼主: 少才
6992 9

[数据管理求助] stata14中一个汉字占3个字符吗?附代码示例和截图 [推广有奖]

  • 7关注
  • 6粉丝

已卖:1212份资源

讲师

95%

还不是VIP/贵宾

-

威望
0
论坛币
9671 个
通用积分
607.3959
学术水平
35 点
热心指数
43 点
信用等级
26 点
经验
5652 点
帖子
201
精华
0
在线时间
1034 小时
注册时间
2012-7-16
最后登录
2024-6-11

楼主
少才 发表于 2017-9-13 16:26:08 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
今天在stata14中运用substr()函数,突然发现了一个小问题,好像1个汉字占3个字符,于是编写代码进行实验:
clear
set obs 10
gen v1 = "您好"
gen lv1 = length(v1)
gen v2 = "Hello"
gen lv2 = length(v2)
browse

上述代码在stata14中运行,lv1 的数值为6,如下图
14.png

然后在stata12.1中运行,lv1的数值为4,如下图
12.png
不知道为何会出现上述情况,其他人也是这样子吗?


二维码

扫码加我 拉你入群

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

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

关键词:Stata14 Stata tata 代码示例 stata12

回帖推荐

蓝色 发表于4楼  查看完整内容

沙发
黃河泉 在职认证  发表于 2017-9-13 16:27:24
尔后建議用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。并请参考 https://bbs.pinggu.org/thread-5048204-1-1.htmlhttps://bbs.pinggu.org/thread-5917273-1-1.html

藤椅
少才 发表于 2017-9-14 15:09:26
有没有人尝试一下,因为这对于字符串类函数的使用非常关键。如substr()函数

板凳
蓝色 发表于 2017-9-14 15:33:27
  1. clear
  2. set obs 10
  3. gen v1  = "您好"
  4. gen lv1 = length(v1)
  5. gen v2 = "Hello"
  6. gen lv2 = length(v2)

  7. gen lv3 = udstrlen(v1)

  8. gen v3=udsubstr(v1,1,2)
  9. gen v4=udsubstr(v1,2,2)
  10. gen v5=udsubstr(v1,1,4)

  11. gen v6=substr(v1,1,3)
  12. gen v7=substr(v1,4,3)
  13. gen v8=substr(v1,1,6)
  14. list
复制代码


已有 3 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
115861 + 5 + 1 + 1 精彩帖子
黃河泉 + 5 + 5 + 5 观点有启发
少才 + 5 + 1 + 1 + 1 精彩帖子,解释和代码非常清晰

总评分: 论坛币 + 10  学术水平 + 7  热心指数 + 7  信用等级 + 6   查看全部评分

报纸
蓝色 发表于 2017-9-14 15:34:22
Unicode 编码了
相应的有对应的命令了

地板
少才 发表于 2017-9-14 15:41:08
蓝色 发表于 2017-9-14 15:34
Unicode 编码了
相应的有对应的命令了
能否具体说明一下?相应的对应的命令有哪些呢?如何利用帮助系统查找?
或者举一个命令,如截取中文字符串前两个汉字,substr(v1,1,6),需要截取6个字符。那么相应的命令是什么呢

7
蓝色 发表于 2017-9-14 15:45:39
少才 发表于 2017-9-14 15:41
能否具体说明一下?相应的对应的命令有哪些呢?如何利用帮助系统查找?
或者举一个命令,如截取中文字符 ...
我上面例子不是写了吗
ud开头的函数就没有问题
你可以查看stata的函数里面关于unicode相关的函数

8
黃河泉 在职认证  发表于 2017-9-14 15:45:45
少才 发表于 2017-9-14 15:09
有没有人尝试一下,因为这对于字符串类函数的使用非常关键。如substr()函数
我试了 Stata 15,也发现一个中文字占 3 个字符!
已有 1 人评分论坛币 热心指数 收起 理由
115861 + 2 + 1 热心帮助其他会员

总评分: 论坛币 + 2  热心指数 + 1   查看全部评分

9
少才 发表于 2017-9-14 20:46:19
蓝色 发表于 2017-9-14 15:45
我上面例子不是写了吗
ud开头的函数就没有问题
你可以查看stata的函数里面关于unicode相关的函数
非常感谢,那会用手机登录,未及时看到您的代码。感谢您的热心指导。
解释的非常好,代码示例也很清晰。

10
少才 发表于 2017-9-14 20:49:02
黃河泉 发表于 2017-9-14 15:45
我试了 Stata 15,也发现一个中文字占 3 个字符!
请看“蓝色”在4楼回复的代码,解答的非常清晰,需要使用ud开头的函数

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-26 20:00