The Little SAS Book 閱讀筆記:
第一章 SAS軟件入門
1.1 SAS語言
許多軟件要么是菜單驅動,要么是命令驅動(輸入命令——看結果)。SAS兩者都不是,在SAS中,你用一個叫做SAS程序的一系列指令語句,這些程序可以表達出你想做的事情,并用SAS語言寫下來。
一個SAS程序就是一個按順序執行的語句序列,一個語句給SAS下達信息和指令,且必須要正確的安放。一個常用來與SAS程序做類比的例子是去銀行取款,你進入銀行、排隊、輪到你,那么你會對柜臺誰你想做的事,敘述語句可能會是這樣:
I would like to make a withdrawal.
My account number is 0937.
I would like$200.
Give me five 20s and two 50s.
注意第一句話說了你想做的事情,之后把相關信息傳遞給柜臺并幫你完成要求。這里信息傳遞的順序不重要,重要的是在你的敘述中,首先要說明你要做什么。你不能先說:“Give me five 20s and two 50s.”這會使柜臺小姐一頭霧水。此外,你必須確保后面的語句都圍繞第一句展開。
SAS語句 像任何語言一樣,SAS語句的編寫也需要遵守一些語法規則。幸運的是,相比英語來說,SAS語句的規則不僅少,而且簡單。
最重要的規則是:
每一個SAS語句都由一個分號結尾
聽起來很簡單,但即使最富有經驗的SAS程序員也會偶然忘記分號。如果你能記住這個規則,再來看看另外兩個規則吧。
SAS程序布局 讓每一條語句看起來整潔、用縮進來表現語句的各個部分,這是很有用的,但不是必須的:
? SAS語句不區分大小寫。
? 一條語句可以持續到第二行(只要不把一個單詞分開)。
? 幾條語句可以用一行。
? 可以在任何一列中開始一條語句
注釋 可以在你的程序中插入一些注釋,讓它更容易明白。即使你插入一些你喜歡的食物品名也不會對程序有所影響,因為SAS不讀取注釋。但不要忘記注釋是為了讓某人更輕松的學習你的程序,并明白你為什么這么做。
*Read animals’weights from file;
DATA animals;
INFILE’c:\MyRawData\Zoo.dat’;
INPUT Lions Tigers;
PROC PRINT DATA=animals; /*Print the results*/
RUN;
有兩種注釋方法,一種是*號和;號;一種是用/* */表示,注意第二種注釋方法不能放在第一列
錯誤 SAS程序通常將執行的錯誤標注為醒目的紅色字母,你可能忘了分號,拼錯了字母,按錯了鍵盤,一個小錯誤會使得整個程序無法運行。
1.2 SAS數據集
在你進行分析、撰寫報告、對你的數據進行任何處理之前,SAS必須能夠處理你的數據,你的數據必須是一種叫SAS數據集的特殊形式。因為SAS非常靈活,能夠讀取任何形式的數據,所以將你的數據變成SAS數據集是一件非常簡單的事。
變量和觀測值 在傳統的SAS術語中,數據包括變量和觀測值。采用相關的數據庫的術語,SAS數據集也被叫做表、觀測值也被叫做行、變量也被叫做列,你可以看到下面這個包含一些數據的表。
數據類型 ?未加工的數據有多種形式,但SAS 將其簡單化。在SAS 中只有兩種數據類型——數值型和字符型。數值型完全是數據,可以被加減乘除、可以是正負且是小數。字符變量是除數值之外的類型,可以是數值、字母、和一些特殊的字符(¥、!),最多可以占用32767個字節長度。如果一個變量既包括數字又包括字符,那么它一定是字符變量。如果只包括數字,可能是字符變量也可能是數值變量。在上面這個表中,姓名是字符變量,身高和體重是數值變量,ID,既可能是數值有可能是字符,依據你的選擇。
缺失值 ? 數據有時會有些不完美,某些變量的個別觀測值會缺失。字符變量的缺失值用空格表示,數值變量的缺失值用句號(.)表示。上表中,體重的第五個觀測值缺失,用.表示。姓名的第六個觀測值缺失,用空格表示。
SAS 數據集的大小 ?在SAS 9.1 之前(prior to SAS 9.1),SAS 數據集可以包含32767 個變量,從SAS 9.1 開始(beginning with SAS 9.1),SAS 可包含的最多變量數由你的電腦可用資源決定(內存,CUP?)。但是超過32767 個變量的SAS 數據集不能用在早期的SAS 版本上。
SAS 命名規則? 為你的變量和數據集命名,使它們容易被辨別。A,B,C 這樣的名字可能看起來很完美,寫程序的時候也很方便,但當你6 個月后再使用這些數據時,你會發現name,height,weight 這樣的名字更有用。為變量和數據集命名時要遵守如下規則:
? 名字的長度要小于等于 32 個字節。
? 以字母或下劃線開頭。
? 可以包含字母、數字、或者是下劃線,不能是%$!*&#@。
? 可以是小寫或大寫字母,且不區分大小寫。
SAS 數據集儲存的文件 SAS 數據集包含了一些類似名稱、創建日期、創建用的SAS 版本等信息。SAS 也儲存了每個變量的信息,包括名稱、類型、長度、數據集中的位置。這些信息叫做數據集的描述部分,它使得數據集可以自我編制(self-documenting)。