楼主: 无尘第二
6518 12

[求助]stata怎样把字符串变量“600031.SH”转换成“600031”? [推广有奖]

  • 4关注
  • 6粉丝

已卖:1064份资源

副教授

38%

还不是VIP/贵宾

-

威望
1
论坛币
4414 个
通用积分
35.1273
学术水平
14 点
热心指数
11 点
信用等级
13 点
经验
15994 点
帖子
335
精华
1
在线时间
665 小时
注册时间
2007-5-17
最后登录
2025-4-28

楼主
无尘第二 发表于 2011-2-25 22:39:14 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
[求助]STATA怎样把字符串变量“600031.SH”转换成“600031”?
数据库里的股票代码是“600031.SH”等字符串变量,请问用什么命令可以转换成“600031”?试了real命令,不成功。
二维码

扫码加我 拉你入群

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

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

关键词:字符串变量 Stata tata 字符串 股票代码 求助 转换 字符串变量

沙发
sungmoo 发表于 2011-2-26 08:36:02
无尘第二 发表于 2011-2-25 22:39 [求助]STATA怎样把字符串变量“600031.SH”转换成“600031”?
数据库里的股票代码是“600031.SH”等字符串变量,请问用什么命令可以转换成“600031”?试了real命令,不成功。
*字符型a转成数值型b

destring a, g(b) i(".SH")

藤椅
无尘第二 发表于 2011-2-26 09:40:39
多谢sungmoo,赞一个!

板凳
无尘第二 发表于 2011-2-26 10:10:13
附加一个问题,在转换深圳证券交易所时遇到问题了,比如“000001.SZ”,转换之后变成“1”,怎样能够转换成“000001”呢?谢谢啦

报纸
sungmoo 发表于 2011-2-26 12:50:50
无尘第二 发表于 2011-2-26 10:10 附加一个问题,在转换深圳证券交易所时遇到问题了,比如“000001.SZ”,转换之后变成“1”,怎样能够转换成“000001”呢?
你的这个"000001"是字符型吧?

地板
无尘第二 发表于 2011-2-27 11:10:15
是的,就是股票代码,不需要进行计算的

7
sungmoo 发表于 2011-2-27 11:41:30
无尘第二 发表于 2011-2-27 11:10 是的,就是股票代码,不需要进行计算的
*去掉a中最后三个字符

replace a=reverse(substr(reverse(a),4,.))
*或
replace a=subinstr(a,substr(a,-3,.),"",.)
已有 1 人评分学术水平 热心指数 收起 理由
无尘第二 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1   查看全部评分

8
无尘第二 发表于 2011-2-27 12:31:09
谢谢sungmoo,我的变量是股票代码(stkcd),数据是stkcd
000005.SZ
000007.SZ
000008.SZ
000010.SZ
000010.SZ
000017.SZ
000020.SZ
等字符串变量(还有沪市数据,后面是.SH)。学习了sungmoo的方法后,用命令 replace stkcd=substr(stkcd,1,6)
得到(860 real changes made)。即860个字符串变量均已转换为目标格式。

9
sungmoo 发表于 2011-2-27 12:43:39
无尘第二 发表于 2011-2-27 12:31 用命令 replace stkcd=substr(stkcd,1,6)
如果stkcd的各观测值等长度,这种方法直接。

10
陌上秋草 发表于 2011-2-28 10:30:23
mark一下学习了
[img]http://static2.photo.sina.com.cn/middle/49aaa343t80318d

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

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