2017-04-24 68 views
-4

假設我有數據稱爲數據並且變量的年齡爲 並且我正在尋找一種方法將表示年齡的變量分成一個顯示年齡組含義的新變量18-21,21 -24等等。 我知道如何做到這一點與PROC SQL,如果,但我明白有一種有效的方式來使用循環功能。在sas中劃分一個數字變量

有人知道如何使用round來分割數值變量嗎?

謝謝。

+1

你應該展示一些嘗試將自己做成一個有效的SO問題。你是否也考慮過創建一個顯示數據的格式?這樣你不需要一個新的變量。 – Longfish

回答

0

方法一:使用的if/else
方法2:使用PROC格式
我有共同的方法2中的代碼,你已經知道方法1

proc format; 
value age 
low - 9 = '0 - 9' 
10 - 19 = '10 - 19' 
20 - 29 = '20 - 29' 
30 - 39 = '30 - 39' 
40 - 49 = '40 - 49' 
50 - 59 = '50 - 59' 
60 - high = '60 +++' 
; 
run; 


/**1) If you just want to look at age in bucket form   **/ 
    data abc; 
    set abc; 
    format age age.; 
    run;  

/**2) If you want to create another variable(say age_bucket) **/ 
    data abc; 
    set abc; 
    age_bucket = put(age,age.); 
    run; 

讓我知道有任何疑問的情況。