在SAS中對數(shù)據(jù)的處理可分為兩大步驟:
1.將數(shù)據(jù)讀入SAS建立的SAS數(shù)據(jù)集,稱為數(shù)據(jù)步;
2.調(diào)用SAS的模塊處理和分析數(shù)據(jù)集中的數(shù)據(jù),稱為過程步。
每一數(shù)據(jù)步都以DATA語句開始,以RUN語句結(jié)束。而每一過程步都以PROC語句開始,以RUN語句結(jié)束。當(dāng)有多個數(shù)據(jù)步或過程步時,由于后一個DATA或PROC語句可以起到前一步的RUN語句的作用,兩步中間的RUN語句也就可以省略,但是最后一步的后面必須有RUN語句,否則不能運行。
SAS還規(guī)定,每個語句的后面都要用符號“;”作為這個語句結(jié)束的標(biāo)志。
在編輯SAS程式時,一個語句可以寫成多行,多個語句也可以寫成一行,可以從一行的開頭寫起,也可以從一行的任一位置寫起。每一行輸入完成后,用ENTER鍵可以使光標(biāo)移到下一行的開頭處。
DATA語句
DATA語句的作用是表明數(shù)據(jù)步的開始并給出數(shù)據(jù)集的名稱。
數(shù)據(jù)集名稱必須以英文字母開始,最長不超過8個字符。
例如創(chuàng)建一個名為EX的數(shù)據(jù)集的語句是“DATA EX;”
這個數(shù)據(jù)集是臨時的,它僅僅在程式運行期間有效,關(guān)閉SAS系統(tǒng)后它就會被覆蓋,不能重新調(diào)用。
CARDS語句
CARDS語句的作用是與“;”戶型,標(biāo)志數(shù)據(jù)行的開始與結(jié)束。
CARDS;
數(shù)據(jù)行
;
如果使用CARDS語句,在CARDS的后面必須緊跟數(shù)據(jù)行,并且在一個數(shù)據(jù)步中最多只能有一個CARDS語句。
INPUT語句
INPUT語句的作用是描述輸入記錄中的數(shù)據(jù),并把輸入值賦給相應(yīng)的變量。
INPUT語句的格式為 INPUT 數(shù)據(jù)的變量名、順序及類型
用INPUT語句時,外部文件中的數(shù)據(jù)和CARDS語句后面都采取列表輸入的方法,各個變量的值由它們之間的空格來分隔。為從一行讀入多個觀測值,應(yīng)使用行保持符@@限制讀數(shù)指針,使其保持在這一行上讀數(shù),直到數(shù)據(jù)讀完為止。
例:
input x y@@;
cards;
3.16 2.9 5.8 3 4.9 4.17
;
PROC語句
PROC語句的作用是制定需要調(diào)用的程序(或過程)以及該程序的若干選擇項。
PROC語句的格式為 PROC SAS的程序名
例如,調(diào)用PRINT過程,打印數(shù)據(jù)集EX的內(nèi)容:
PROC PRINT DATA=EX
這里的DATA=數(shù)據(jù)集名,用來指定本過程索要處理的數(shù)據(jù)集名,如缺省則處理最新建立的數(shù)據(jù)集。
在PROC步中,還必須確認一些最基本的信息,包括:
1.處理的數(shù)據(jù)集名,格式為 DATA=數(shù)據(jù)集名;
2.所涉及的變量名,格式為 VAR 變量名;
3.分組處理的標(biāo)志,格式為 BY 組變量名;
PRINT過程
PRINT過程可以打印一個SAS數(shù)據(jù)集中的全體或部分觀測值,還可以打印數(shù)值變量的總和或部分和。
在PRINT過程中經(jīng)常使用的語句有:
PROC PRINT[選擇項];
VAR 變量表;
BY 變量表;
SUM 變量表;
在PROC PRINT 語句中可能出現(xiàn)的選擇項有DATA=數(shù)據(jù)集名,如果省略這一選擇,則打印最新建立的數(shù)據(jù)集中的數(shù)據(jù)。
例:計算標(biāo)準正態(tài)分布的概率的程序:
data ex; input x@@; p=probnorm(x); list;
cards;
1.645 1.96 2.576
;
proc print; run;