【文章內(nèi)容簡(jiǎn)介】
和產(chǎn)生用戶化的行標(biāo)題和列標(biāo)題。 2. PROC TABULATE 語(yǔ)句格式 在 PROC TABULATE過(guò)程中, 常常使用一些控制匯總報(bào)表產(chǎn)生的語(yǔ)句,一般過(guò)程形式如下: PROC TABULATE 選項(xiàng)列表 。 CLASS 分類變量列表 。 VAR 分析變量列表 。 TABLE 頁(yè)表達(dá)式, 行表達(dá)式, 列表達(dá)式 /表選項(xiàng) 。 LABEL 變量 1=“標(biāo)簽 *內(nèi)容 ” 變量 2=“標(biāo)簽 *內(nèi)容 ”…… 。 KEYLABEL 統(tǒng)計(jì)量名字 1=“標(biāo)記 1” 統(tǒng)計(jì)量名字 2=“標(biāo)記 2”…… 。 FORMAT 變量輸出格式 。 WHERE 條件表達(dá)式 。 … … Run 。 873cd3f49b1c15ae658a04021af7cebe SAS 系統(tǒng)和數(shù)據(jù)分析 電子商務(wù)系列 上海財(cái)經(jīng)大學(xué)經(jīng)濟(jì)信息管理系 IS/SHUFE Created by Page 12 of 28 PROC TABULATE 語(yǔ)句總是伴隨著 至少一個(gè) TABLE語(yǔ)句 來(lái)規(guī)定如何制表。用在 TABLE語(yǔ)句的分類變量必須用 CLASS 語(yǔ)句說(shuō)明。用在 TABLE 語(yǔ)句的分析變量必須用 VAR 語(yǔ)句說(shuō)明。同時(shí)出現(xiàn)在 CLASS 語(yǔ)句和 VAR 語(yǔ)句中的變量,只能作為分類變量使用。 CLASS、 VAR和 TABLE 語(yǔ)句是構(gòu)成 PROC TABULATE 過(guò)程最基本的三條語(yǔ)句。 3. PROC TABULATE 的選項(xiàng) PROC TABULATE 的選項(xiàng)列表包含許多選項(xiàng),選項(xiàng)之間以空格分隔,幾個(gè)主要的選項(xiàng)說(shuō)明如下: ? DATA=數(shù)據(jù)集名 ——給出要制表輸出的 SAS數(shù)據(jù)集。如果省略,則為最近建立的SAS 數(shù)據(jù)集。 ? NOSEPS——要求在表體中不出現(xiàn)水平分隔線。 ? FORMCHAR(索引表 )=?字符串 ?——規(guī)定用來(lái)構(gòu)造報(bào)表輪廓和分隔線的字符。字符串為 11 個(gè)制表字符,用來(lái)定義畫垂直和水平線的 2個(gè)字符,及畫 9個(gè)角字符:左上、中上、右上、左中、中中(交叉)、右中、左下、中下、右下。缺省值是FORMCHAR=?||+|?。如果要改變邊角線,例如想把 4 個(gè)角換成 *,則可使用FORMCHAR(3 5 9 11)=?* * * *?,如果 FORMCHAR=選項(xiàng)賦了 11 個(gè)空格,則生成沒(méi)有邊框和分隔線的報(bào)表。 ? MISSING——要求把丟失值作為分類變量的有效水平。即匯總時(shí)包含分類變量中有丟失值的觀測(cè)。 4. TABLE 語(yǔ)句的使用和輸出表格結(jié)構(gòu) 如何正確地理解和使用 TABLE語(yǔ)句是掌握 PROC TABULATE過(guò)程的關(guān)鍵所在。匯總報(bào)表輸出的表格形狀和所計(jì)算的統(tǒng)計(jì)量都是由 TABLE 語(yǔ)句中的表達(dá)式?jīng)Q定的,這個(gè)表達(dá)式中包含元素和操作符。元素指分類變量、分析變量和統(tǒng)計(jì)量,當(dāng)表達(dá)式包含多個(gè)元素時(shí),需要用操作符把它們連接起來(lái)。使用不同的操作符連接會(huì)產(chǎn)生不同的表格形狀。下面列 出一些主要的操作符及其作用: TABLE 表達(dá)式中的操作符 作用 逗號(hào) , 轉(zhuǎn)另一維 空格 表格并排連接 星號(hào) * 交叉組合分組 圓括號(hào) ( ) 分組或規(guī)定次序 為了便于理解 TABLE 表達(dá)式中操作符的作用,我們舉一個(gè)假設(shè)的例子來(lái)說(shuō)明。有 SAS數(shù)據(jù)集 ABCX,其中有四個(gè)變量 A、 B、 C 和 X,變量 A、 B、 C 我們將在 PROX TABULATE過(guò)程中用 CLASS 語(yǔ)句定義為分類變量,我們可以理解為它是一個(gè)產(chǎn)品的大類 A、中類 B 和小類 C。而 X變量是一個(gè)數(shù)值型變量,用 VAR 定義為分析變量,我們可以理解為它是一個(gè)產(chǎn)品的銷售數(shù)量或收入金額或價(jià)格等。假設(shè)的數(shù)據(jù)集 ABCX 可能的數(shù)據(jù)值如下表所示: 873cd3f49b1c15ae658a04021af7cebe SAS 系統(tǒng)和數(shù)據(jù)分析 電子商務(wù)系列 上海財(cái)經(jīng)大學(xué)經(jīng)濟(jì)信息管理系 IS/SHUFE Created by Page 13 of 28 變量名 TABLE 中的變量類型 可能的數(shù)據(jù)值 A 分類變量 A1, A2 B 分類變量 B1, B2 C 分類變量 C1, C2, C3 X 分析變量 111~ 223 ABCX 數(shù)據(jù)集中的具體觀測(cè)值見(jiàn)下表所示: OBS A B C X 1 A1 B1 C1 111 2 A1 B1 C2 112 3 A1 B1 C3 113 4 A1 B2 C1 121 5 A1 B2 C2 122 6 A1 B2 C3 123 7 A2 B1 C1 211 8 A2 B1 C2 212 9 A2 B1 C3 213 10 A2 B2 C1 221 11 A2 B2 C2 222 12 A2 B2 C3 223 下面我們給出分析變量 X 和分類變量 A、 B、 C 組成的有效表達(dá)式的輸出報(bào)表格式。 例 1: TABLE 表達(dá)式中只有一個(gè)分類變量 A,既沒(méi)有規(guī)定分析變量,也沒(méi)有指明統(tǒng)計(jì)量,則缺省的統(tǒng)計(jì)量為頻數(shù) N,即分類變量值的交叉頻數(shù)。程序和輸出匯總報(bào)表形式 如下所示: Proc tabulate Data=ABCX 。 Class A 。 Var X 。 Table A 。 Run 。 A A1 A2 N N 6 6 例 2:使用逗號(hào)操作符隔開 TABLE語(yǔ)句的兩個(gè)表達(dá)式將產(chǎn)生一個(gè)兩維表格,第一個(gè)表達(dá)式定義行,第二個(gè)表達(dá)式定義列。程序和輸出匯總報(bào)表形式如下所示: Proc tabulate Data=ABCX 。 873cd3f49b1c15ae658a04021af7cebe SAS 系統(tǒng)和數(shù)據(jù)分析 電子商務(wù)系列 上海財(cái)經(jīng)大學(xué)經(jīng)濟(jì)信息管理系 IS/SHUFE Created by Page 14 of 28 Class A B。 Var X 。 Table A , B 。 Run 。 B B1 B2 N N A 3 3 A1 A2 3 3 例 3:使用兩個(gè)逗號(hào)操作符隔開 TABLE 語(yǔ)句的三個(gè)表達(dá)式將產(chǎn)生一個(gè)三維表格,第一個(gè)表達(dá)式定義頁(yè),第二個(gè)表達(dá)式定義行,第三個(gè)表達(dá)式定義列。程序和輸出匯總報(bào)表形式如下所示: Proc tabulate Data=ABCX 。 Class A B C。 Var X 。 Table A , B , C 。 Run 。 第一頁(yè) A A1 C C1 C2 C3 N N N B 1 1 1 B1 B2 1 1 1 第二頁(yè) A A2 C C1 C2 C3 N N N B 1 1 1 B1 B2 1 1 1 例 4:使用空格操作符隔開 TABLE語(yǔ)句的兩個(gè)表達(dá)式將產(chǎn)生一個(gè)連排表格。程序和輸出匯總報(bào)表形式如下所示: 873cd3f49b1c15ae658a04021af7cebe SAS 系統(tǒng)和數(shù)據(jù)分析 電子商務(wù)系列 上海財(cái)經(jīng)大學(xué)經(jīng)濟(jì)信息管理系 IS/SHUFE Created by Page 15 of 28 Proc tabulate Data=ABCX 。 Class A B 。 Var X 。 Table A B 。 Run 。 A B A1 A2 B1 B2 N N N N 6 6 6 6 例 5:使用星號(hào)操作符隔開 TABLE語(yǔ)句的兩個(gè)表達(dá)式將產(chǎn)生一個(gè)交叉等級(jí)表格。程序和輸出匯總報(bào)表形式如下所示: Proc tabulate Data=ABCX 。 Class A B 。 Var X 。 Table A *B 。 Run 。 A A1 A2 B B B1 B2 B1 B2 N N N N 3 3 3 3 例 6:使用含有圓括號(hào)、空格和星號(hào)操作符的復(fù)合表達(dá)式。在復(fù)合表達(dá)式中,交叉操作符星號(hào)優(yōu)于連接操作符空格,但可以使用圓括號(hào)操作符來(lái)改變它們的次序,如( A B) *C表達(dá)式相當(dāng)于 A*C B*C。程序和輸出匯總報(bào)表形式如下所示: Proc tabulate Data=ABCX 。 Class A B C 。 Var X 。 Table ( A B) *C 。 Run 。 A B A1 A2 B1 B2 C C C C C C C C C C C C C C C C873cd3f49b1c15ae658a04021af7cebe SAS 系統(tǒng)和數(shù)據(jù)分析 電子商務(wù)系列 上海財(cái)經(jīng)大學(xué)經(jīng)濟(jì)信息管理系 IS/SHUFE Created by Page 16 of 28 1 2 3 1 2 3 1 2 3 1 2 3 N N N N N N N N N N N N 2 2 2 2 2 2 2 2 2 2 2 2 5. 匯總報(bào)告中計(jì)算統(tǒng)計(jì)量 在 TABLE 語(yǔ)句中使用星號(hào)操作符連接分析變量和統(tǒng)計(jì)量,如 TABLE A*X*MEAN,其中 A 是分類變量, X 是分析變量, MEAN 是統(tǒng)計(jì)量,則可以對(duì)指定的分析變量 X 計(jì)算指定MEAN 統(tǒng)計(jì)量。在 TABLE語(yǔ)句中如果沒(méi)有規(guī)定分析變量,則 N 或 PCTN(頻數(shù) N 的百分?jǐn)?shù))可作為統(tǒng)計(jì)量使用,如 TABLE A*N 或 TABLE A*PCTN。如果 TABLE 語(yǔ)句中規(guī)定了分析變量,但沒(méi)有指定統(tǒng)計(jì)量時(shí),如 TABLE A*X,則 SUM作為統(tǒng)計(jì)量。如果 TABLE 語(yǔ)句中既沒(méi)有出現(xiàn)分析變量如 X,又沒(méi)有出現(xiàn)統(tǒng)計(jì)量如 MEAN,例如上面的例 1~ 6 中的 TABLE 語(yǔ)句都沒(méi)有規(guī)定分析變量和統(tǒng)計(jì)量,如 TABLE A 語(yǔ)句只規(guī)定了分類變量 A,則每個(gè)表單元將給出分類變量的交叉頻數(shù)。 在 TABLE 語(yǔ)句中如果規(guī)定了分析變量,則可以要求計(jì)算下表所示的一個(gè)或幾個(gè)統(tǒng)計(jì)量。 統(tǒng)計(jì)量 作用 N 確定的子組中含有有效數(shù)據(jù)的觀測(cè)數(shù) NMISS 確定的子組中含有缺失值的觀測(cè)數(shù) MEAN 算術(shù) 平均 STD 標(biāo)準(zhǔn)誤差 MIN 最小值 MAX 最大值 RANGE 極差(取值范圍) SUM 總和 USS 未修正的平方和 CSS 關(guān)于均值修正的平方和(也稱偏差平方和) STDERR 均值的標(biāo)準(zhǔn)誤差 CV 變異系數(shù) T 檢驗(yàn)總體均值為 0 假設(shè)時(shí), t 統(tǒng)計(jì)量的值 PRT 顯著性概率(大于 t 統(tǒng)計(jì)量絕對(duì)值的概率) VAR 方差 SUMWGT 權(quán)數(shù)變量的和 PCTN 某一類中某一小類觀測(cè)所占的百分比 PCTSUM 某一類觀測(cè)在全部觀測(cè)中所占的百分比 多個(gè)分析變量和多個(gè)統(tǒng)計(jì)量能夠出現(xiàn)在 同一維中,也可以出現(xiàn)在不同的維中。但是所有的分析變量必須出現(xiàn)在某一維中,所有的統(tǒng)計(jì)量也一樣必須出現(xiàn)在同一維中。不能用一個(gè)分析變量同另一個(gè)分析變量交叉,統(tǒng)計(jì)量之間也不能交叉。例如,下面兩條語(yǔ)句都是合法的: TABLE A*( X*MEAN X*MAX), B 873cd3f49b1c15ae658a04021af7cebe