【正文】
出要打印輸出的 SAS數(shù)據(jù)集。 ? N——要求在輸出這個(gè)數(shù)據(jù)集的數(shù)據(jù)列表之后,同時(shí)輸出觀測(cè)的總輸出條數(shù)。 ? LABEL 或 L——使用變量的標(biāo)簽作為輸出數(shù)據(jù)列表中每列的抬頭。 ? SPLIT或 S=‘分隔符’ ——規(guī)定一個(gè)字符(如 *號(hào)或 號(hào))用于將較長(zhǎng)的標(biāo)簽分隔成幾行。另外,選項(xiàng) SPLIT=和 LABEL 不必同時(shí)使用。當(dāng)不用 ID語(yǔ)句且又不要輸出觀測(cè)的序號(hào)時(shí),可使用該選項(xiàng)。 ? ROUND或 R——對(duì)用 FORMAT語(yǔ)句規(guī)定變量的輸出格式中的小數(shù)點(diǎn)位進(jìn)行四舍五入。 H或 HORIZONTAL表示所有列抬頭水平打印, V 或 VERTICAL 表示所有列抬頭垂直打印。 FULL 表示使用變量格式化寬度, MIN或 MINIMUM表示使用可能的最小列寬, U或 UNIFORM表示對(duì)所有頁(yè)一致地使用變量格式化寬度, UBY 或 UNIFORMBY 表示在 BY 組內(nèi)對(duì)所有頁(yè)一致地使用變量格式化寬度。 VAR 語(yǔ)句、 ID語(yǔ)句和 BY 語(yǔ)句我們前面已經(jīng)說(shuō)明過(guò)了,這里不再重復(fù)。 SUM 語(yǔ)句規(guī)定計(jì)算總和的變量, SUM 語(yǔ)句中規(guī)定的變量可以沒(méi)有列在 VAR 語(yǔ)句中,PRINT 過(guò)程將自動(dòng)把 SUM 語(yǔ)句中規(guī)定的變量加到 VAR 變量列表中。每當(dāng) SUMBY變量的值變化或者 BY 語(yǔ)句中列在 SUMBY 變量前的變量值改變時(shí), PRINT 將把對(duì)應(yīng) BY 組中的 SUM語(yǔ)句中的變量求和。 SUMBY 語(yǔ)句的本質(zhì)是通過(guò)指定 BY 變量列表中變量位置而限制 BY 組中SUM 變量求和。報(bào)表之一的要求是:選擇輸出身高小于 米的觀測(cè),同時(shí)給出滿足條件的總輸出條數(shù),自定義要顯示的變量和順序,不顯示觀測(cè)的序873cd3f49b1c15ae658a04021af7cebe SAS 系統(tǒng)和數(shù)據(jù)分析 電子商務(wù)系列 上海財(cái)經(jīng)大學(xué)經(jīng)濟(jì)信息管理系 IS/SHUFE Created by Page 9 of 28 號(hào),求和 INCOME 變量的值,修改 BDATE 變量和 INCOME變量輸出格式,且修改它們的列標(biāo)題并分兩行顯示,加兩個(gè)標(biāo)題和一個(gè)腳注。 PROC PRINT data= noobs n split=39。 round width=min 。 SUM ine 。 TITLE2 “ Information System”。 LABEL Bdate=Date of*Brithday Ine=Total*Ine 。 WHERE heigh= 。 程序運(yùn)行結(jié)果如圖 所示。我們可以用 Globals/Options/Global options命令,調(diào)出 Options 對(duì)話單,修改頁(yè)尺寸 PAGESIZE 參數(shù)為 17 行,然后選擇 Options/Save settings now命令保存當(dāng)前的設(shè)置。要分組求和,指定數(shù)據(jù)集 圖 用 PROC PRINT 過(guò)程輸出的 SURVEY 數(shù)據(jù)集報(bào)表之一 873cd3f49b1c15ae658a04021af7cebe SAS 系統(tǒng)和數(shù)據(jù)分析 電子商務(wù)系列 上海財(cái)經(jīng)大學(xué)經(jīng)濟(jì)信息管理系 IS/SHUFE Created by Page 10 of 28 中的分組變量值必須事先已經(jīng)按升序排序好了,如果沒(méi)有排序過(guò),常常先用 SORT 過(guò)程對(duì)分組變量進(jìn)行排序。程序如下: LIBNAME STUDY “D:\SASDATA\MYDIR”。 By sex 。*39。 VAR name ine bdate heigh weight 。 BY sex 。 TITLE1 “PROCEDURE PRINT”。 FOOTNOTE1 。 FORMAT Bdate DATE7. Ine 。 Run 。 圖 用 PROC PRINT 過(guò)程輸出的分組求和報(bào)表之二 873cd3f49b1c15ae658a04021af7cebe SAS 系統(tǒng)和數(shù)據(jù)分析 電子商務(wù)系列 上海財(cái)經(jīng)大學(xué)經(jīng)濟(jì)信息管理系 IS/SHUFE Created by Page 11 of 28 在使用了 TITLE 和 FOOTNOTE 語(yǔ)句后,所定義的標(biāo)題和腳注將一直保持有效,直到另一個(gè) TITILE 或 FOOTNOTE語(yǔ)句被執(zhí)行。 二、 匯總報(bào)告 PROC TABULATE 過(guò)程 當(dāng)一個(gè) SAS 數(shù)據(jù)集包含不太多的數(shù)據(jù)時(shí),列表報(bào)告可以很好地描述數(shù)據(jù),但是當(dāng)數(shù)據(jù)集包含大量信息時(shí),就需要使用匯總報(bào)告了。每一個(gè)表單元屬于用交叉變量名組成的特殊觀測(cè)類。在通常情況下,產(chǎn)生匯總報(bào)表要先將數(shù)據(jù)根據(jù)需要進(jìn)行分類,然后在分類的基礎(chǔ)上計(jì)算一些統(tǒng)計(jì)量。分類的目的是為了在每一個(gè)類上進(jìn)行計(jì)算和分析。可以計(jì)算的一些統(tǒng)計(jì)量如:頻數(shù)( frequency)、均 值( mean)、標(biāo)準(zhǔn)差( standard deviation)、最小值( minimum)、最大值( maximum)、極差( range)、總和( sum)、百分?jǐn)?shù)( percentages)等。并且可以通過(guò) TABLE語(yǔ)句中的表達(dá)式計(jì)算統(tǒng)計(jì)量,用操作符,如:逗號(hào)、空格、星號(hào)、圓括號(hào)等,來(lái)組織單元集合。 2. PROC TABULATE 語(yǔ)句格式 在 PROC TABULATE過(guò)程中, 常常使用一些控制匯總報(bào)表產(chǎn)生的語(yǔ)句,一般過(guò)程形式如下: PROC TABULATE 選項(xiàng)列表 。 VAR 分析變量列表 。 LABEL 變量 1=“標(biāo)簽 *內(nèi)容 ” 變量 2=“標(biāo)簽 *內(nèi)容 ”…… 。 FORMAT 變量輸出格式 。 … … Run 。用在 TABLE語(yǔ)句的分類變量必須用 CLASS 語(yǔ)句說(shuō)明。同時(shí)出現(xiàn)在 CLASS 語(yǔ)句和 VAR 語(yǔ)句中的變量,只能作為分類變量使用。 3. PROC TABULATE 的選項(xiàng) PROC TABULATE 的選項(xiàng)列表包含許多選項(xiàng),選項(xiàng)之間以空格分隔,幾個(gè)主要的選項(xiàng)說(shuō)明如下: ? DATA=數(shù)據(jù)集名 ——給出要制表輸出的 SAS數(shù)據(jù)集。 ? NOSEPS——要求在表體中不出現(xiàn)水平分隔線。字符串為 11 個(gè)制表字符,用來(lái)定義畫(huà)垂直和水平線的 2個(gè)字符,及畫(huà) 9個(gè)角字符:左上、中上、右上、左中、中中(交叉)、右中、左下、中下、右下。如果要改變邊角線,例如想把 4 個(gè)角換成 *,則可使用FORMCHAR(3 5 9 11)=?* * * *?,如果 FORMCHAR=選項(xiàng)賦了 11 個(gè)空格,則生成沒(méi)有邊框和分隔線的報(bào)表。即匯總時(shí)包含分類變量中有丟失值的觀測(cè)。匯總報(bào)表輸出的表格形狀和所計(jì)算的統(tǒng)計(jì)量都是由 TABLE 語(yǔ)句中的表達(dá)式?jīng)Q定的,這個(gè)表達(dá)式中包含元素和操作符。使用不同的操作符連接會(huì)產(chǎn)生不同的表格形狀。有 SAS數(shù)據(jù)集 ABCX,其中有四個(gè)變量 A、 B、 C 和 X,變量 A、 B、 C 我們將在 PROX TABULATE過(guò)程中用 CLASS 語(yǔ)句定義為分類變量,我們可以理解為它是一個(gè)產(chǎn)品的大類 A、中類 B 和小類 C。假設(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)表格式。程序和輸出匯總報(bào)表形式 如下所示: Proc tabulate Data=ABCX 。 Var X 。 Run 。程序和輸出匯總報(bào)表形式如下所示: Proc tabulate Data=ABCX 。 Var X 。 Run 。程序和輸出匯總報(bào)表形式如下所示: Proc tabulate Data=ABCX 。 Var X 。 Run 。程序和輸出匯總報(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 。 Var X 。 Run 。程序和輸出匯總報(bào)表形式如下所示: Proc tabulate Data=ABCX 。 Var X 。 Run 。在復(fù)合表達(dá)式中,交叉操作符星號(hào)優(yōu)于連接操作符空格,但可以使用圓括號(hào)操作符來(lái)改變它們的次序,如( A B) *C表達(dá)式相當(dāng)于 A*C B*C。 Class A B C 。 Table ( A B) *C 。 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ǔ)句中規(guī)定了分析變量,但沒(méi)有指定統(tǒng)計(jì)量時(shí),如 TABLE A*X,則 SUM作為統(tǒng)計(jì)量。 在 TABLE 語(yǔ)句中如果規(guī)定了分析變量,則可以要求計(jì)算下表所示的一個(gè)或幾個(gè)統(tǒng)計(jì)量。但是所有的分析變量必須出現(xiàn)在某一維中,所有的統(tǒng)計(jì)量也一樣必須出現(xiàn)在同一維中。例如,下面兩條語(yǔ)句都是合法的: TABLE A*( X*MEAN X*MAX), B 873cd3f49b1c15ae658a04021af7cebe SAS 系統(tǒng)和數(shù)據(jù)分析 電子商務(wù)系列 上海財(cái)經(jīng)大學(xué)經(jīng)濟(jì)信息管理系 IS/SHUFE Created by Page 17 of 28