SAS-input和put的使用

在SAS中经常会遇到数值型变量与字符型变量之间进行相互转换,如何进行转换呢?

一、字符型转数值型

方法1:字符型变量通过运算进行转换,如Numeric = Character * 1。运算符可以转换,但是会有NOTE提示,不推荐用这种方式。
SAS-input和put的使用_第1张图片
Where语句不能执行字符型的数值计算。
SAS-input和put的使用_第2张图片

data t1;
input id$ name$ sex$ age;
cards;
1001 Tom F 25
1003 Lisa M 20
1005 Anna M 26
1002 Lyli M 21
;
run;

data t2;
  set t1;
  id1 = id * 1;
run;

data t2;
  set t1;
  where id = 1001;
run;

二、input和put

INPUT(source, informat.) 将字符转换为数值型
PUT(source, format.) 将数值转换为字符型
SAS-input和put的使用_第3张图片

proc format;
  value agefmt
  low-<24 = "group1"
  24-high = "group2";
run;

data t3;
  retain id idnum name sex age agec;
  set t1;
  idnum = input(id,8.2);
  agec = put(age,agefmt.);
run;

二、format示例

SAS-input和put的使用_第4张图片
input示例来源:The Little SAS Book 中文版_4th

二、input中忽略无效数据信息

INPUT(source, informat.)
?|?? 忽略无效数据信息
SAS-input和put的使用_第5张图片

你可能感兴趣的:(sas)