楼主: 按时地方
46746 11

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

  • 0关注
  • 1粉丝

已卖:185份资源

博士生

30%

还不是VIP/贵宾

-

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

楼主
按时地方 发表于 2011-9-14 17:18:39 |AI写论文

+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
拉您进交流群
GMT+8, 2025-12-30 13:05