|
早说就好了!!这不是ACCESS内容!!我给你转灌水区吧!
那里可以讨论!
资料如下:
第二章 SAS程序設計
2.1 SAS /PC 語法
1.每一敘述字與字間至少一個空白﹐如 INPUT TREAT BREED。
2.每一指令敘述以 「;」作為結束指標。
3.可自由格式輸入指令 (無需如 COBEL 或 FORTRAN 等定位) 亦可多行
令合併一行,或任意留空白行,或將一敘述拆為多行書寫。
4.變數至多 8 個字元,﹐以字母為首不可用 - ˋ ‧ ; , $ ....
等特殊保留符號或包含空格於變數中間。
5.缺值以 '.' 來表示。
6.可自由格式輸入資料,僅需資料間留一空白 (或一個以上的空白)。
7.亦可定格式讀入資料,如整個欄位均為空白則數字視為缺值,文字視
為空白。
8.若資料變數甚少,不想以欄位表示時,可以一行內僅以空格分開橫向
輸入,且輸入@@。
9.文字欄位需於欄位名稱後加 '$ '符號 (欄位名稱與 $ 間留不留空白
皆可)。
10.程式內註解以 '* '號起頭 ';'號結束。
2.2 SAS運算元
如同其它語言之運算元一般,SAS的運算元包括算術,關係和邏輯運算元;除此之外其尚包括特有之符號運算元,以下分別整理說明之。
算術運算元
名 稱
功 能
舉 例
加號(+)
用於數值變數間的相加
A=X+Y+Z;
減號(-)
用於數值變數間的相減
B=X-Y-Z;
乘號(*)
用於數值變數間的相乘
C=X*Y*Z;
除號(/)
用於數值變數間的相除
D=X/Y;
冪次(**)
用於數值變數間的冪次運算
E=X**2;
邏輯關係運算元
Operator
Meaning
Example
EQ =
equal to
a = b
NE ~ =
not equal to
a ne b
LT <
less than
a < b
GT >
greater than
a gt b
GE > =
greater than or equal to
a >= b
LE < =
less than or equal to
a le b
2.3 SAS資料集的基本輸入、輸出語句
輸入語句
INPUT敘述句的作用是將原始資料由程式或所指定的外部檔案讀到資料集內。而該敘述句的格式如下:
INPUT [specification];
其中specification 表示資料輸入的方法,有下列幾種方法:
l 不定格式輸入﹐建立資料集:
DATA A;
INPUT A B $ C;
CARDS;
1 A 11
2 B 10
;
RUN;
l 定格式輸入﹐建立資料集:
DATA A;
INPUT A 1-1 B $ 2-3 C 4-5;
CARDS;
1AB11
2CD12
;
RUN;
l 或不以欄位分開﹐建立資料集:
DATA A;
INPUT A B $ C @@;
CARDS;
1 A 11 2 B 10
;
RUN;
輸出語句
PUT敘述句的作用係將目前欲輸出的資料放到LOG視窗、輸出資料集或是FILE敘述句所指定的部檔案內;而系統內定是將資料寫到LOG視窗或.LOG檔案內。該敘述句的式如下:
PUT [specification];
其中specification表示資料輸出的方法,而輸出方法如同INPUT的格式。
行指標控制
@n
係由第1行開始算起,將指標移到第n行;其中n為正整數。
例如:
PUT @10 AGE @15 NAME $;
說明:該輸出敘述句是經由行指標控制告知系統,到第10行時開始寫出變數AGE數值,而到第15行開始寫出變數NAME的字串資料。
2.4 SAS的資料步驟( DATA STEP )
在分析資料之前首先由SAS程式將欲分析之資料檔建立好。其建立資料檔的方式可有兩種,一為直接在SAS編輯視窗下將資料輸入;另一為利用指令由外部檔案讀入資料。
2.4.1 資料直接輸入
程式檔內含有資料區 (CARDS),即直接在程序行中輸入數據。(少量資料時特別方便)例如:
data fatness;
input age pctfat;
cards;
23 27.9
39 31.4
49 25.2
50 31.1
53 34.7
53 42.0
54 29.1
56 32.5
57 30.3
58 33.0
58 33.8
60 41.1
;
1.DATA語句指明建立一數據集。這裏為臨時數據集fatness。它表明DATA步驟的開始,和其後的一系列語句一起構成一DATA步驟。以上為一完整的DATA步驟。
2.INPUT語句描述SAS數據集中的每條記錄(或稱觀測值)。本例表明每一條記錄由3個變量構成,即變量age, pctfat。變量名由使用者自定,長度不超過8個字元,但不可含有一些特殊字元。
3.CARDS語句表示數據的開始,其後緊隨數據行。
4.“;”表示DATA步驟的結束。
2.4.2 讀取外部數據
自磁碟機錄進已編寫好之程式檔與資料檔 (INCLUDE 、 INFILE ),建立數據集的程序如下:
data motion;
infile ‘A:motion.dat’; |
|