由上一篇可知,在SAS做資料處理與分析的過程中,是由一連串的DATA STEPPROC STEP所組合而成,而不論是哪一個STEP,又皆是由數個敘述句所組成的,以下將針對敘述句與SAS變數做介紹,以及說明應注意的事項。

 

 

1)敘述句

 

SAS系統中,敘述句為構成STEP的最小單位,是以一個關鍵字為開始,並以一個分號“;”作為結束,像是下方的DATA…;,或是INPUT……;。為了增加語法的易讀性,以下有幾點習慣上的建議供大家參考。

1.盡量一列保持一句敘述句

2.關鍵字的所有字母以大寫表示

3.變數及資料集的名稱則以小寫呈現

4.敘述句中的每個項目之間至少有一空格

5.可配合一些註解說明敘述句,通常呈現的方式有兩種(如下圖)

 

 

2)變數名稱

 

SAS敘述句中所出現的名稱,有以下幾點需注意

1.字元長度不可超過32個字元

2.名稱第一個字元需“a, b, …, z, A, B, …, Z”為字元變數或底線“_

3.變數名稱中間不得有空白或特殊符號

4.欲宣告變數為文字變數時,必須在變數名稱後加上“$”(如下圖name


3)系統提供變數列舉的快速輸寫方式

 

以上圖為例,變數由左至右依序為x1,x2,x3,name,sex,y,z,x4

1.列舉格式「VARm - VARn」,列舉前置字元的相同變數,exx1-x4,包含x1,x2,x3,x4而直接跳過name,sex,y,z

2.列舉格式「VARm -- VARx」,列舉前置字元的相同變數,exx1--x4,包含x1,x2,x3, name,sex,y,z,x4,會將x1x4之間的所有變數納入

3.列舉格式「VARm -NUMERIC- VARx」,列舉變數時所作限制,只列VARmVARn之間數值變數的部分,exx1-NUMERIC-x4,會將x1x4之間的所有數值變數納入,包含x1,x2,x3,y,z,x4

4.列舉格式「VARm -CHARACTER- VARx」,列舉變數時所作限制,只列VARmVARn之間文字變數的部分,exx1-CHARACTER-x4,會將x1x4之間的所有文字變數納入,包含name,sex


 

4)常數

 

SAS中通常被應用在指派、累加、IFSELECT等敘述句中

1.數值常數

通常以10進位的表示方式為主,exx1=100,亦即指派x1等於一常數100。另外也有十六進位的表示方式,是利用0-9A-F組合而成,並以X做為結束,exx2=0B1X0B1X11*16+1*1=177,此處的B代表11

2.字元常數

以單引號或雙引號含括之,exname = ‘TOM’ name = “TOM”

3.時間日期常數

亦以單引號含括之,但必須在期末端加上Ttime)、Ddateor DTtime_date)表示之,ex’1JULY1990’D’12:35’T’1JULY1990:12:35’DT

 

 

5)運算元

 

1.算術運算元

包含加(+)、減(-)、乘(*)、除(/)、冪次(**),冪次表示次方的運算,ex4**4=16

2.關係運算元

包含大於(>)、小於(<)、等於(=)、大於等於(>=)、小於等於(<=)、不等於(^=

3.邏輯運算元

包含且(&AND);或(|OR);非(^NOT

 

 

 

arrow
arrow
    全站熱搜

    晨晰部落格新站 發表在 痞客邦 留言(0) 人氣()