2014-09-02 30 views
-1

我想創建一個新的數字變量來將字符設置爲特定的序列。我想通過寫一個數組來完成,如果沒有的話。如何寫數組而不是使用if語句

這是我的數據和代碼。

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。

+0

「_I要做到這一點在array._」 你試過了嗎? – csmckelvey 2014-09-02 20:57:02

回答

2

這是什麼格式/ informats是...

 
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 ;