楼主: duian
5292 5

[原创博文] 如何不增加新变量将字符型转化为数值型? [推广有奖]

  • 0关注
  • 0粉丝

大专生

96%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
538 点
帖子
58
精华
0
在线时间
70 小时
注册时间
2007-12-6
最后登录
2021-10-16

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
RT,有一列数字,用字符型储存的,假设这个变量为x,如何在不增加新变量的情况下将这列变量转化为数值型?

注意,是不增加新变量,诸如y=x+0,input函数之类的都要新增一个变量,因为我的变量名必须保持x不能变

如果要增加新变量才能转换为数值的话,那就要删掉原来的变量,再将新增变量改名为x才可以,太麻烦了

我试过x=x+0.或是x=input(x,8.),或是在前面加上informat,format语句,都不行,结合起来也不行
二维码

扫码加我 拉你入群

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

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

关键词:数值型 字符型 新变量 informat informa 如何

沙发
bobguy 发表于 2010-4-2 06:14:49 |只看作者 |坛友微信交流群
duian 发表于 2010-4-1 21:59
RT,有一列数字,用字符型储存的,假设这个变量为x,如何在不增加新变量的情况下将这列变量转化为数值型?

注意,是不增加新变量,诸如y=x+0,input函数之类的都要新增一个变量,因为我的变量名必须保持x不能变

如果要增加新变量才能转换为数值的话,那就要删掉原来的变量,再将新增变量改名为x才可以,太麻烦了

我试过x=x+0.或是x=input(x,8.),或是在前面加上informat,format语句,都不行,结合起来也不行
What you see is right. A named variable in SAS is either NUM or CHAR. There is no way to do it as in your way.

使用道具

藤椅
jingju11 发表于 2010-4-2 06:53:10 |只看作者 |坛友微信交流群
1# duian

I did not see your ‘太'trouble here. Like the following code, you won’t have any trouble to use either variable X or Y  in the step while the X has been assigned to a different type, meantime. But it is not necessary sometimes.

  1. DATA A;
  2. X = '1';
  3. Y = INPUT(X, 1.);
  4. XX = 'a'||X;
  5. YY = 100*Y;
  6. DROP X;
  7. RENAME Y = X;
  8. RUN;
复制代码



使用道具

板凳
duian 发表于 2010-4-2 08:40:15 |只看作者 |坛友微信交流群
呵呵,谢谢楼上两位,看来,是不可能实现了
主要是有时候这样的变量很多,还涉及到标签,一个一个改,很麻烦的
看来也没有什么其他办法了

使用道具

报纸
soporaeternus 发表于 2010-4-2 09:07:34 |只看作者 |坛友微信交流群
MACRO控制下不会太麻烦的吧
前提是需要修改的变量名可列
Let them be hard, but never unjust

使用道具

地板
醉_清风 发表于 2010-4-2 09:14:57 |只看作者 |坛友微信交流群
楼上说的对 可以用宏试试
从来不需要想起 永远也不会忘记

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

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

GMT+8, 2024-5-4 17:07