楼主: 按时地方
45997 11

[原创博文] 数值型与字符型相互转换 [推广有奖]

  • 0关注
  • 1粉丝

博士生

30%

还不是VIP/贵宾

-

威望
0
论坛币
352 个
通用积分
0
学术水平
11 点
热心指数
9 点
信用等级
6 点
经验
4299 点
帖子
190
精华
0
在线时间
270 小时
注册时间
2005-7-28
最后登录
2022-8-11

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我有两组月度数据,一边里面的year month是字符型Length 12., Format$12,informat$12.。另一个是数值型length 8  Format Best12.,informat Best32.这两个要怎么转换成一个类型然后用merge呢?我用书上的input和put试了几次都不行
二维码

扫码加我 拉你入群

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

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

关键词:相互转换 数值型 字符型 informat informa

回帖推荐

Rock2000 发表于9楼  查看完整内容

数字转成字符型较少用,但是字符--->数字多见,下面例子希望有用。 data a1; input a $ b $ @@; cards; 23 45 34 34 54 34 ; run; data _null_; set a1; array tmp[*] _character_; call symputx("nvar",dim(tmp)); run; data tmp; set a1 end=eof; array tmp[*] _character_; length vars $ 32767; retain vars ""; array num[&n ...
已有 1 人评分热心指数 收起 理由
eijuhz + 2 精彩帖子

总评分: 热心指数 + 2   查看全部评分

本帖被以下文库推荐

沙发
zhangzachary 发表于 2011-9-14 17:37:14 |只看作者 |坛友微信交流群
不可转换,除非新建一个variable...
寒冰凤凰 My blog: http://blog.sina.com.cn/u/1058955485

使用道具

藤椅
wangyf0218 发表于 2011-9-14 17:39:14 |只看作者 |坛友微信交流群
用input生成新的变量

data a;
   set a;
   year_new=input(year,12.);
   month_new=input(month,12.);
   rename year_new=year;
   rename month_new=month;
   drop year month;
run;

使用道具

板凳
按时地方 发表于 2011-9-14 20:57:00 |只看作者 |坛友微信交流群
LS的是把字符转成数值的吧,非常感谢

使用道具

报纸
按时地方 发表于 2011-9-15 14:57:03 |只看作者 |坛友微信交流群
wangyf0218 发表于 2011-9-14 17:39
用input生成新的变量

data a;
再问下LS,这种情况要把数值的转成字符的要怎么处理呢?

使用道具

地板
wangyf0218 发表于 2011-9-15 15:48:30 |只看作者 |坛友微信交流群
按时地方 发表于 2011-9-15 14:57
再问下LS,这种情况要把数值的转成字符的要怎么处理呢?
原理上一样
year_new=input(year,$12.);
month_new=input(month,$12.);

使用道具

7
suzhzh 发表于 2011-9-20 21:22:45 |只看作者 |坛友微信交流群
建一个新的变量,在使用sas函数

使用道具

8
情迷仲夏夜 发表于 2011-9-21 04:16:12 |只看作者 |坛友微信交流群

使用道具

9
Rock2000 发表于 2011-9-21 21:19:19 |只看作者 |坛友微信交流群
数字转成字符型较少用,但是字符--->数字多见,下面例子希望有用。

data a1;
input a $ b $ @@;
cards;
23 45 34 34 54 34
;
run;
data _null_;
         set a1;
         array tmp[*] _character_;
         call symputx("nvar",dim(tmp));
run;

data tmp;
         set a1 end=eof;
         array tmp[*] _character_;
         length vars $ 32767;
         retain vars "";
         array num[&nvar.];
         do i=1 to dim(tmp);
                 num[i]=input(tmp[i],best.);
                 if eof then vars=catx(" ",vars,cats(vname(num[i]),"=",vname(tmp[i])));
         end;
         if eof then call symputx ("vars",vars);
         drop _character_ i;
run;

data a4;
         set tmp;
         rename &vars.;
run;

proc contents data=a4; title "字符型批量变成数字型"; run;

已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

使用道具

10
pingguzh 发表于 2016-9-11 16:55:17 |只看作者 |坛友微信交流群
这个程序又看到了,很感谢论坛

使用道具

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

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

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

GMT+8, 2024-4-25 06:31