SAS数值型变量与字符型变量之间的转换
·
之前写过一篇字符变量转换为数值型变量的文章,这次算是总结上次的,在加上一个数值转字符的方法。在一般的情况下,前者用到的可能性药大一点,因为有时候在进行各种不同类型的数据库之间转移的时候经常会出现意外,或者在数据录入的时候的意外字符混入。
字符型变量转数值型变量
这里提供2种方法:
1. 使用运算符转换
原理就是字符型加上一个0,sas就会默认的把这个计算得到的变量设为数值型。
例 字符自动转数值
data b;
input x y$;
datalines ;
1 12
2 13a
3 14
;
run;
data b ;
set b;
z=y+0;
drop y ;
run;
data b ;
set b;
rename z=y ;
run;
2. 函数INPUT将字符转换为数值
INPUT函数的形式:
INPUT (数据源, 输入格式);
其中:
·数据源为要转换为数值的变量,常数或表达式。数据源既可以是数值型,也可以是字符型。
·输入格式指定了对数据源进行转换的输入格式。
例2.17 转换字符变量为数值变量。
data b;
input x y$;
datalines ;
1 12
2 13a
3 14
;
run;
data b;
set b;
z=input(y, 6.);
run;
例2.18 转换字符型常数值为数值常数。
data a;
y=input('55888', 8.1);
put y;
显示结果:56888为字符常数值.
数值型变量转字符型变量
1.函数PUT将数值转换为字符。
例2.21 转换数值变量为字符变量。
data b;
input x y$;
datalines ;
1 12
2 13a
3 14
;
run;
data b ;
set b;
z=put (x ,$3.);
run;
put(数据源, 输出格式)
其中:
数据源为要转换为字符值的变量、常数或表达式。数据x既可以是数值型,也可以是字符型。
输出格式规定对数据源进行转换的输出格式。
2使用运算符合cat函数:
data b;
input x y$;
datalines ;
1 12
2 13a
3 14
;
run;
data b ;
drop z;
set b;
run;
z="";//建立一个空字符变量,用于与变量x合并
new_y=y+0;
new_x=cat(x,z);
run;
SAS字符数字转换
最新推荐文章于 2025-04-10 16:58:41 发布