楼主: thomaszt
4551 5

[数据管理求助] 将字符型变成数值型变量问题,在线等。 [推广有奖]

  • 1关注
  • 1粉丝

已卖:28份资源

本科生

53%

还不是VIP/贵宾

-

威望
0
论坛币
1460 个
通用积分
0.0838
学术水平
1 点
热心指数
2 点
信用等级
1 点
经验
6100 点
帖子
83
精华
0
在线时间
84 小时
注册时间
2011-9-19
最后登录
2017-3-9

楼主
thomaszt 学生认证  发表于 2013-10-1 16:48:49 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
使用destring命令将证券代码由字符型变成数值型变量,可是对于例如“000001”这类变量转变类型后变成了“1”前面的零全部省略了,有什么办法使转换后的数字变量依旧显示前面的零?

谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:数值型 字符型 在线等 destring string 在线 证券

回帖推荐

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

. clear . input /// > str20 y y 1. 00000001 2. 00000002 3. 00000003 4. end . . . destring y,gen(y1) y has all characters numeric; y1 generated as byte . . format y1 %09.0f . des Contains data obs: 3 vars: 2 size: 63 ...

沙发
xingxf 发表于 2013-10-1 20:37:22
你这个问题,恐怕没有必要把证券代码转变成数值变量吧。数值变量顾名思义就是数值,000001,这种显示方式就不是数值,数值就是1。
如果本身是字符型变量,想在1前面补0,是很方便的。但是在数值前面补0,我个人觉得在定义上就有问题。

藤椅
蓝色 发表于 2013-10-1 21:07:55
clear
input   ///
str20 y
00000001
00000002
00000003
end


destring y,gen(y1)

format  y1 %09.0f
list

板凳
蓝色 发表于 2013-10-1 21:08:39
. clear

. input   ///
> str20 y

                        y
  1. 00000001
  2. 00000002
  3. 00000003
  4. end

.
.
. destring y,gen(y1)
y has all characters numeric; y1 generated as byte

.
. format  y1 %09.0f

. des

Contains data
  obs:             3                          
vars:             2                          
size:            63                          
------------------------------------------------------------------------------------------------------------
              storage  display     value
variable name   type   format      label      variable label
------------------------------------------------------------------------------------------------------------
y               str20  %20s                  
y1              byte   %09.0f
               
------------------------------------------------------------------------------------------------------------
Sorted by:  
     Note:  dataset has changed since last saved

. list

     +----------------------+
     |        y          y1 |
     |----------------------|
  1. | 00000001   000000001 |
  2. | 00000002   000000002 |
  3. | 00000003   000000003 |
     +----------------------+

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

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

报纸
thomaszt 学生认证  发表于 2013-10-1 23:24:15
蓝色 发表于 2013-10-1 21:08
. clear

. input   ///
你好,我想继续提个问题,如何将时间的字符型转变成数值型,例如将“2000-12-31”变成数字型,以方便进行面板数据回归。

我输入:destring Accper,gen( Accper1)
显示:Accper contains nonnumeric characters; no generate

地板
thomaszt 学生认证  发表于 2013-10-1 23:31:35
蓝色 发表于 2013-10-1 21:08
. clear

. input   ///
问题已解决,使用ignore.

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-1 12:17