楼主: mamahe
6494 11

[一般统计问题] stata中如何处理12位数的数字 [推广有奖]

  • 0关注
  • 0粉丝

小学生

85%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
105 点
帖子
7
精华
0
在线时间
9 小时
注册时间
2011-3-11
最后登录
2013-10-31

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
stata中如何处理12位数的数字?
例如:
IID
110101003101
110101007102
...
...

只想保留最后的三位数,101、102..,stata中该如何写命令?

二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 如何写 IID 如何

沙发
小斜 学生认证  发表于 2013-7-1 12:24:54 |只看作者 |坛友微信交流群
在excel中先处理一下吧,有个字符函数,可以取一串字符中制定位长的字符串。

使用道具

藤椅
bbwade 发表于 2013-7-2 16:03:14 |只看作者 |坛友微信交流群
先确保变量为字符型,若为数字型则用tostring命令转成字符型;
gen newvar=substr(IID,-3,3)
已有 2 人评分学术水平 热心指数 信用等级 收起 理由
Stakiny + 2 + 2 + 2 热心帮助其他会员
h3327156 + 1 + 1 + 1 回答地很好。给力!

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

使用道具

板凳
mamahe 发表于 2013-7-9 12:29:32 |只看作者 |坛友微信交流群
bbwade 发表于 2013-7-2 16:03
先确保变量为字符型,若为数字型则用tostring命令转成字符型;
gen newvar=substr(IID,-3,3)
非常谢您!

tostring IID,replace  后,显示红色字体:IID cannot be converted reversibly; no replace
gen newvar=substr(IID,-3,3)   后,显示红色字体:type mismatch

该怎么解决呢?

使用道具

报纸
mamahe 发表于 2013-7-9 12:30:47 |只看作者 |坛友微信交流群
小斜 发表于 2013-7-1 12:24
在excel中先处理一下吧,有个字符函数,可以取一串字符中制定位长的字符串。
嗯嗯,好的!谢谢您!

使用道具

地板
蓝色 发表于 2013-7-9 12:40:38 |只看作者 |坛友微信交流群
************************************************
*方法1
clear
input ///
double IID
110101003101
110101007102
end

format IID %20.0f
tostring IID,replace  usedisplayformat

gen newvar=substr(IID,-3,3)
list
************************************************
*方法2
clear
input ///
str20 IID
110101003101
110101007102
end

gen newvar=substr(IID,-3,3)
list
************************************************


************************************************
*结果
. clear

. input ///
> double IID

            IID
  1. 110101003101
  2. 110101007102
  3. end

.
. format IID %20.0f

. tostring IID,replace  usedisplayformat
IID was double now str12

.
. gen newvar=substr(IID,-3,3)

. list

     +-----------------------+
     |          IID   newvar |
     |-----------------------|
  1. | 110101003101      101 |
  2. | 110101007102      102 |
     +-----------------------+

.

.
. clear

. input ///
> str20 IID

                      IID
  1. 110101003101
  2. 110101007102
  3. end

.
. gen newvar=substr(IID,-3,3)

. list

     +-----------------------+
     |          IID   newvar |
     |-----------------------|
  1. | 110101003101      101 |
  2. | 110101007102      102 |
     +-----------------------+

.
end of do-file



已有 2 人评分学术水平 热心指数 信用等级 收起 理由
Stakiny + 3 + 3 + 3 热心帮助其他会员
mamahe + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 4  热心指数 + 4  信用等级 + 4   查看全部评分

使用道具

7
mamahe 发表于 2013-7-9 13:27:35 |只看作者 |坛友微信交流群
蓝色 发表于 2013-7-9 12:40
************************************************
*方法1
clear
非常感谢啊!成功了!

使用道具

8
mamahe 发表于 2013-7-9 13:28:43 |只看作者 |坛友微信交流群
mamahe 发表于 2013-7-9 12:29
非常谢您!

tostring IID,replace  后,显示红色字体:IID cannot be converted reversibly; no repla ...
已解决,谢谢!!

使用道具

9
mamahe 发表于 2013-7-9 13:30:01 |只看作者 |坛友微信交流群

已解决

已解决

使用道具

10
windtalker312 发表于 2020-3-28 09:27:04 |只看作者 |坛友微信交流群
学习啦,受益匪浅

使用道具

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

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

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

GMT+8, 2024-4-28 10:58