如何编写数组而不是使用if then语句

时间:2014-09-02 20:51:30

标签: arrays if-statement sas

我想创建一个新的数字变量来将字符设置为特定的序列。我想通过编写一个数组来做到这一点。

这是我的数据和代码。

char  num
OR     1
SU     2
DI     3
DK     4
HJ     5
SYS    6

我创建num的原始代码是:

data v;
set v;
if char='OR' then num=1;
if char='SU' then num=2;
if char='DI' then num=3;
if char='DK' then num=4;
if char='HJ'    then num=5;
if char='SYS'   then num=6;
run;

我想在array.Thanks中做到这一点。

1 个答案:

答案 0 :(得分:2)

这是格式/信息的目的......

proc format ;
  invalue NUM
    'OR'  = 1
    'SU'  = 2
    'DI'  = 3
    'DK'  = 4
    'HJ'  = 5
    'SYS' = 6
    ;
run ;

data want ;
  set have ;
  num = input(char,NUM.) ;
run ;