SAS程序結(jié)構(gòu)

2018-12-13 16:39 更新

將SAS編程首先需要?jiǎng)?chuàng)建/讀取數(shù)據(jù)集到存儲(chǔ)器,然后做該數(shù)據(jù)的分析。我們需要了解在其中一個(gè)程序被寫入實(shí)現(xiàn)這一目標(biāo)的流程。

SAS程序結(jié)構(gòu)

下圖顯示了按給定順序?qū)懭胍詣?chuàng)建SAS程序的步驟。

每個(gè)SAS程序必須具有所有這些步驟才能完成讀取輸入數(shù)據(jù),分析數(shù)據(jù)和給出分析輸出。 此外,每個(gè)步驟結(jié)束時(shí)的RUN語(yǔ)句都需要完成該步驟的執(zhí)行。

DATA步驟

此步驟涉及將所需數(shù)據(jù)集加載到SAS存儲(chǔ)器中并識(shí)別數(shù)據(jù)集的變量(也稱為列)。 它還捕獲記錄(也稱為觀察或主體)。 DATA語(yǔ)句的語(yǔ)法如下。

句法

DATA data_set_name;		#Name the data set.
INPUT var1,var2,var3; 		#Define the variables in this data set.
NEW_VAR;			#Create new variables.
LABEL;			      	#Assign labels to variables.
DATALINES;		      	#Enter the data.
RUN;

以下示例顯示了命名數(shù)據(jù)集,定義變量,創(chuàng)建新變量和輸入數(shù)據(jù)的簡(jiǎn)單情況。 這里字符串變量在結(jié)尾有一個(gè)$,數(shù)字值沒(méi)有它。

DATA TEMP;
INPUT ID $ NAME $ SALARY DEPARTMENT $;
comm = SALARY*0.25;
LABEL ID = 'Employee ID' comm = 'COMMISION';
DATALINES;
1 Rick 623.3 IT
2 Dan 515.2 Operations
3 Michelle 611 IT
4 Ryan 729 HR
5 Gary 843.25 Finance
6 Nina 578 IT
7 Simon 632.8 Operations
8 Guru 722.5 Finance
;
RUN;

PROC步驟

該步驟包括調(diào)用的SAS內(nèi)置程序來(lái)分析數(shù)據(jù)。

句法

PROC procedure_name options; #The name of the proc.
RUN;

以下示例顯示使用MEANS過(guò)程打印數(shù)據(jù)集中數(shù)值變量的平均值。

PROC MEANS;
RUN;

輸出步驟

可以使用條件輸出語(yǔ)句顯示數(shù)據(jù)集中的數(shù)據(jù)。

句法

PROC PRINT DATA = data_set;
OPTIONS;
RUN;

下面的示例顯示在輸出中使用where子句從數(shù)據(jù)集中只產(chǎn)生少數(shù)記錄。

PROC PRINT DATA=TEMP;
WHERE SALARY > 700;
RUN;

完整的SAS程序

下面是每個(gè)上述步驟的完整代碼。

程序輸出

上面代碼的輸出在RESULTS選項(xiàng)卡中可見。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)