?? denf_new_variable.sas
字號:
***********************************
* Dr. Baokun Li *
* Creating New Variables *
* June 28th, 2007 *
***********************************;
*定義3個新變量 ;
DATA tdata;
INFILE 'd:\data\tomhs4.dat' ;
INPUT ptid $ educ sbp12;
* 這樣的話,缺失值被變換為2;
if educ < 7 then grad1 = 2 ; else
if educ >=7 then grad1 = 1 ;
* 下面的兩種方法結果一樣且是正確的;
if educ < 7 and educ ne . then grad2 = 2; else
if educ >=7 then grad2 = 1;
* IN 是SAS的一個特殊函數;
if educ IN(1,2,3,4,5,6) then grad3 = 2; else
if educ IN(7,8,9) then grad3 = 1;
*象下面的新變量定義,如果發生錯誤就慘了 ;
if sbp12 = . then sbp12c = . ; else
if sbp12 < 120 then sbp12c = 1 ; else
if sbp12 < 140 then sbp12c = 2 ; else
if sbp12 >=140 then sbp12c = 3 ;
run;
PROC FORMAT;
VALUE grad 1-6 = '< College Graduate'
7-9 = 'College Graduate';
VALUE sbpcat LOW - 119 = '< 120'
120-139 = '120-139'
140-HIGH = '140+' ;
run;
*Proc Freq 是常用的檢查新變量是否定義得對的方法 ;
PROC FREQ DATA=tdata;
TABLES grad1 grad2 grad3 educ ;
FORMAT educ grad.;
RUN;
PROC FREQ DATA=tdata;
TABLES sbp12c sbp12;
FORMAT sbp12 sbpcat.;
RUN;
quit;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -