楼主: lizhewenbei
7153 14

希望把stkcd从字符型变成数值型,我的方法是否太笨了? [推广有奖]

  • 15关注
  • 5粉丝

已卖:668份资源

副教授

38%

还不是VIP/贵宾

-

威望
0
论坛币
304 个
通用积分
11.3270
学术水平
4 点
热心指数
13 点
信用等级
5 点
经验
9728 点
帖子
614
精华
0
在线时间
502 小时
注册时间
2008-2-6
最后登录
2025-11-27

楼主
lizhewenbei 学生认证  发表于 2014-11-22 01:09:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
1.jpg
1.jpg

如果按照+0, 或者*1,则得到的结果仍然是字符型,并没有真正转化为数值型啊。
proc import out=c datafile="C:\Users\Administrator\Desktop\c.xls" dbms=excel replace;getnames=yes;run;

data c1;set c;
stkcd=stkcd*1;
run;

二维码

扫码加我 拉你入群

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

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

关键词:stkcd 数值型 STK 字符型 replace replace Desktop import excel Users

沙发
heguima 发表于 2014-11-22 13:26:32
哈哈,我都是stkcd=stkcd*1;不用drop,不过老师说过这种方法可能会出错,他说一般建议用a=input(stkcd,8.)来转换,不过我目前用那么多次没有碰到直接+0或*1会有出错的,还有,如果你想直接保留前面的几个0的话,可以先在excel里转
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
lizhewenbei + 1 + 1 + 1 精彩帖子
crystal8832 + 5 + 1 鼓励积极发帖讨论

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

藤椅
lizhewenbei 学生认证  发表于 2014-11-22 17:11:46
heguima 发表于 2014-11-22 13:26
哈哈,我都是stkcd=stkcd*1;不用drop,不过老师说过这种方法可能会出错,他说一般建议用a=input(stkcd,8.) ...
谢谢!我按照*1的方法试了试,虽然看起来像是转成了数值型,但是双击该列,显示出来的仍然是字符型(+1也是这样)。另外,数值后面还有一个空格,给以后的处理造成了不小的麻烦。另外,input好像也只能到另外一个变量中,a=input(stkcd,8.),stkcd变成了a,为了保持格式,还是要删去stkcd,把a重命名为stkcd

板凳
teqel 发表于 2014-11-23 12:39:26
试了一下,A是字符,B和C是数字
data c1;
input a $;
b=a*1;
c=a+0;
cards;
0001
0002
;

报纸
teqel 发表于 2014-11-23 12:43:28
lizhewenbei 发表于 2014-11-22 17:11
谢谢!我按照*1的方法试了试,虽然看起来像是转成了数值型,但是双击该列,显示出来的仍然是字符型(+1也 ...
这个问题的原因是stkcd依旧是字符型变量,所以你原来用stkcd1=stkcd,然后drop stkcd,再rename stkcd1=stkcd的方法是正确的

地板
lizhewenbei 学生认证  发表于 2014-11-23 19:59:51
teqel 发表于 2014-11-23 12:43
这个问题的原因是stkcd依旧是字符型变量,所以你原来用stkcd1=stkcd,然后drop stkcd,再rename stkcd1=s ...
试了一下,A是字符,B和C是数字
data c1;
input a $;
b=a*1;
c=a+0;
cards;
0001
0002
;为何你的这个举例就能较好地避免我所遇到的困惑呢?该例中stkcd也是字符型变量啊。

7
teqel 发表于 2014-11-24 00:38:43
lizhewenbei 发表于 2014-11-23 19:59
试了一下,A是字符,B和C是数字
data c1;
input a $;
因为这里b c 是新定义的变量。而你原来的stkcd已经被定义为字符型变量了,没办法改变属性

8
lizhewenbei 学生认证  发表于 2014-11-24 14:36:03
teqel 发表于 2014-11-24 00:38
因为这里b c 是新定义的变量。而你原来的stkcd已经被定义为字符型变量了,没办法改变属性
嗯!换句话说,必须用一个新变量(没有确定字符型或者数值型)来过渡一下,对吧?

9
teqel 发表于 2014-11-25 01:22:06
lizhewenbei 发表于 2014-11-24 14:36
嗯!换句话说,必须用一个新变量(没有确定字符型或者数值型)来过渡一下,对吧?
看来是这样。
如何改变一个变量的类型(num/char)我还不会做:(

10
心在♀天际 发表于 2014-11-25 13:33:18
可以用input命令进行转化

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-27 05:19