在前面的文章中介紹了運用MEANS過程計算描述性統(tǒng)計量的基本用法,文本介紹一下MEANS過程的更多功能和用法。 MEANS過程的更多功能 統(tǒng)計量列表 下面列出了MEANS過程中各種描述性統(tǒng)計量和位置統(tǒng)計量的關(guān)鍵字及計算方法。MEANS過程在處理數(shù)據(jù)時,數(shù)據(jù)可以是詳細數(shù)據(jù),即每條數(shù)據(jù)代表一個個體或者觀測,也可是分組數(shù)據(jù),即每條數(shù)據(jù)代表一組個體或者觀測,這種分組數(shù)據(jù)在醫(yī)學統(tǒng)計上非常常見。 描述性統(tǒng)計量如表9.2所示。 表9.2 常見描述性統(tǒng)計量 表9.3 常見位置統(tǒng)計量 選項WEIGHT=和WEIGHT語句 若計算描述性統(tǒng)計量(均值、標準差、標準誤差、總和、權(quán)重和等)時,需要使用權(quán)重變量,可以通過兩種方法指定權(quán)重變量,一種是在VAR語句中使用選項WEIGHT=,第二種是直接在PROC步中使用WEIGHT語句來指定權(quán)重變量。如果既使用了WEIGHT語句,又在VAR語句中使用了選項WEIGTH=,那么系統(tǒng)優(yōu)先使用選項WEIGHT=中指定的變量作為VAR語句中變量的權(quán)重變量。極差、極值和缺失值個數(shù)等統(tǒng)計量不受權(quán)重變量影響。 需要注意的是,權(quán)重變量必須是數(shù)值型變量。
當權(quán)重變量的取值等于0時,系統(tǒng)會將該條觀測計入非缺失值個數(shù)N中。 當權(quán)重變量的取值小于0時,系統(tǒng)將自動將取值轉(zhuǎn)換成0,并將該條觀測計入非缺失值個數(shù)N中。 當權(quán)重變量的取值為缺失時,系統(tǒng)在處理過程中將自動忽略該條觀測。 FREQ語句也可以用來指定觀測的頻數(shù),如果FREQ語句指定的變量的取值為非整數(shù),系統(tǒng)只取其整數(shù)部分;當該變量的取值小于1或者缺失時,系統(tǒng)在進行分析時會自動忽略該條觀測。 注意:當MEANS過程或者UNIVARIATE過程中使用WEIGTH語句時,系統(tǒng)將不會計算偏度系數(shù)和峰度系數(shù),輸出的偏度系數(shù)和峰度系數(shù)都為缺失值。 輸出SAS數(shù)據(jù)集 默認情況下,MEANS過程中計算的各種描述性統(tǒng)計量都是輸出到結(jié)果窗口的。但往往在實際應用中,計算描述性統(tǒng)計量只是進行數(shù)據(jù)分析的第一步,在得到各種統(tǒng)計量后,需要對其做進一步的加工分析。在這種情況下,將輸出結(jié)果保存成SAS數(shù)據(jù)集是非常必要的。OUTPUT語句使得用戶可以自行選擇需要存儲成SAS數(shù)據(jù)集的統(tǒng)計量。使用方法為: OUTPUT OUT=輸出數(shù)據(jù)集<統(tǒng)計量關(guān)鍵字1<變量列表1><=列名1> <統(tǒng)計量關(guān)鍵字2<變量列表2><=列名2>…>>/<AUTONAME>; 其中:
選項OUT=指定了輸出數(shù)據(jù)集的名稱,統(tǒng)計量關(guān)鍵字指定需要輸出到數(shù)據(jù)集中的統(tǒng)計量關(guān)鍵字,變量列表指定需要計算描述性統(tǒng)計量并輸出到數(shù)據(jù)集中的變量的名稱,等號右邊的列名表示存儲到數(shù)據(jù)集中時統(tǒng)計量關(guān)鍵字的變量名稱。OUTPUT語句中指定統(tǒng)計量關(guān)鍵字只影響輸出到數(shù)據(jù)集中的統(tǒng)計量,而PROC MEANS語句中的統(tǒng)計量關(guān)鍵字序列則影響輸出到結(jié)果窗口的統(tǒng)計量,兩者不相互影響。 使用選項AUTONAME時,系統(tǒng)自動為存儲到數(shù)據(jù)集中的統(tǒng)計量指定變量名稱,變量名稱自動置為“分析變量_統(tǒng)計量關(guān)鍵字”。 例9.4:數(shù)據(jù)集sashelp.shoes中包含了某鞋類公司全球范圍內(nèi)各種產(chǎn)品的銷售和庫存情況,共有7個變量,變量Region代表地區(qū),Product代表產(chǎn)品,Subsidiary代表分公司,Stores代表門店個數(shù),Sales代表銷售額,Inventory代表庫存所占資金,Returns代表退貨。計算各地區(qū)、各種產(chǎn)品的平均銷售額、平均庫存金額、總銷售金額、總庫存金額及標準差等統(tǒng)計量,并保存到SAS數(shù)據(jù)集中。 示例代碼如下: proc means data=sashelp.shoes mean median sum std; title 'Output Decsriptive Statistics to SAS Dataset'; var sales inventory; class region product; output out=work.outstat mean(sales)=sales_mean sum(sales)=sales_sum mean(inventory)=invnt_mean sum(inventory)=invnt_sum; run; proc print data=work.outstat; run; 這里使用CLASS語句指定了兩個分類變量,運行上面的程序后,結(jié)果窗口輸出兩個輸出列表,第一個是MEANS過程的輸出結(jié)果,第二個是PRINT過程的輸出結(jié)果,數(shù)據(jù)來自MEANS過程中輸出的SAS數(shù)據(jù)集WORK.OUTSTAT。 圖9.27和圖9.28中是部分輸出結(jié)果。 圖9.27 例9.4中MEANS過程輸出內(nèi)容 圖9.28 例9.4中PRINT過程輸出內(nèi)容 MEANS過程的輸出報表和輸出到數(shù)據(jù)集work.outstat的數(shù)據(jù)有兩點不同: 第一,在MEANS過程的輸出結(jié)果(第1張報表)中,含有均值、中位數(shù)、總和和標準差4個統(tǒng)計量;而SAS數(shù)據(jù)集中,只包含了并未包含統(tǒng)計量中位數(shù),并且Sales的均值統(tǒng)計量被命名為Sales_mean,Sales的總和被命名為Sales_sum,Inventory的均值被命名為Invnt_mean,Inventory的總和被命名為Invnt_sum。如果不需要將統(tǒng)計結(jié)果輸出到結(jié)果窗口,可以在PROC MEANS語句中使用選項NOPRINT。 第二,MEANS過程的輸出結(jié)果和輸出的SAS數(shù)據(jù)集觀測的條數(shù)也不一樣。與MEANS過程的輸出結(jié)果相比較,SAS數(shù)據(jù)集中包含了所有分類變量組合的統(tǒng)計結(jié)果。系統(tǒng)用_TYPE_變量表示分類變量組合的種類,_TYPE_=0表示不使用分類變量的情形,也就是所有觀測的統(tǒng)計結(jié)果,_TYPE_=1 或_TYPE_=2表示僅使用一個分類變量的情形,_TYPE_=3表示同時使用兩個分類變量得出的分類結(jié)果。 WAYS語句和TYPES語句 在CLASS語句指定多個分類變量時,MEANS過程提供了WAYS語句、TYPES語句和選項NWAY,便于用戶選擇需要計算和保存的分類變量組合的統(tǒng)計結(jié)果。 WAYS語句的基本語法為: WAYS 數(shù)值1 數(shù)值2 數(shù)值3 …; 數(shù)值的取值為0到分類變量個數(shù)之間的任一整數(shù)(包括0和分類變量個數(shù)),當數(shù)值=0時,表示輸出不含分類變量情形下的描述性統(tǒng)計量;當數(shù)值=1時,表示輸出所有只使用一個分類變量情形下的統(tǒng)計結(jié)果;當數(shù)值=2時,表示輸出所有包含兩個分類變量情形下的描述性統(tǒng)計量。WAYS語句中可以指定多個數(shù)值,以下是WAYS語句的簡單的例子。 class varA varB varC; ways 1 2; 系統(tǒng)將會輸出分別按varA、varB、varC分類的統(tǒng)計結(jié)果,及varA*varB、varA*varC及varB*varC交叉組合分類后的統(tǒng)計結(jié)果。 TYPES語句的基本語法為: TYPES 分類組合要求; 例如: class varA varB varC; types varA varB varC varA*varB varA*varC varB*varC; 上面的TYPES語句和“ways 1 2;”的作用是一樣的。 注意:如果僅需要輸出不使用分類變量的統(tǒng)計結(jié)果,可以使用“WAYS 0;”或者“TYPES ();”。使用TYPES語句來選擇需要輸出到數(shù)據(jù)集中的分類組合的種類,比在數(shù)據(jù)集后面使用選項WHERE=更加節(jié)約時間和內(nèi)存。 另外,在PROC MEANS語句中使用選項NWAY,可以使得輸出數(shù)據(jù)集中只包含使用所有分類變量的情形。在例9.4中使用選項NWAY的示例如下: proc means data=sashelp.shoes noprint nway; title 'Output Decsriptive Statistics to SAS Dataset'; var sales inventory; class region product; output out=work.outstat mean(sales)=sales_meansum(sales)=sales_sum mean(inventory)=invnt_mean sum(inventory)=invnt_sum; run; proc print data=work.outstat; run; 輸出內(nèi)容如圖9.29所示。 圖9.29 例9.4使用選項NWAY的輸出內(nèi)容 這里對MEANS過程的各種語句稍作總結(jié)一下。 PROC MEANS DATA=數(shù)據(jù)集<統(tǒng)計量關(guān)鍵字選項其他選項>; VAR 分析變量1 <分析變量2 …> ; CLASS 分類變量1 分類變量2 …; BY BY變量1BY變量2 …; FREQ 變量n; WEIGHT 變量m; OUTPUT OUT=輸出數(shù)據(jù)集<統(tǒng)計量關(guān)鍵字1<變量列表1><=列名1> …></AUTONAME>; TYPES分類組合要求; WAYS <數(shù)值1><數(shù)值2><數(shù)值3 …>; RUN; 在MEANS過程中,除了PROC MEANS語句和RUN語句,其他各個語句的順序可以互換,這個性質(zhì)在SAS的其他PROC步中也適用。 SUMMARY過程和MEANS過程的語法和作用非常相似,和MEANS過程不同的地方在于:
SUMMARY過程在默認情況下不會將統(tǒng)計結(jié)果輸出到結(jié)果窗口,如果需要輸出到結(jié)果窗口,則要在PROC SUMMARY語句中使用選項PRINT。 在MEANS過程中,如果不使用VAR語句指定分析變量,系統(tǒng)會默認輸出所有數(shù)值型變量的描述性統(tǒng)計量。但是在SUMMARY過程中,如果在PROC SUMMARY語句中指定了統(tǒng)計量關(guān)鍵字,卻沒有使用VAR語句,系統(tǒng)將給出ERROR信息,并停止運行。 本系列文章結(jié)束。 結(jié)束語 本系列文章第一部分介紹了統(tǒng)計學中一些基本概念,如總體、個體和樣本的定義,簡單隨機抽樣的基本原理,參數(shù)和統(tǒng)計量的區(qū)別和聯(lián)系,自由度的定義,隨機變量和概率分布的定義,以及在統(tǒng)計學中具有重大作用的三種概率分布(二項分布、泊松分布和正態(tài)分布)。然后介紹了描述性統(tǒng)計分析在統(tǒng)計學中的重要作用,分別討論了描述數(shù)據(jù)集中趨勢、數(shù)據(jù)離散程度及數(shù)據(jù)分布形態(tài)的描述性統(tǒng)計量的定義及計算方法,并通過實例講解如何運用SAS中的MEANS過程和UNIVARIATE過程計算這些描述性統(tǒng)計量。 小貼士 讀者回復關(guān)鍵字“安全”,可以查看“SAS智能平臺安全管理”相關(guān)文章。 讀者可以從以下鏈接獲取SAS公司提供的免費環(huán)境: SAS大學版(SAS@ University Edition)是SAS為在校大學生免費提供的基于虛擬機和網(wǎng)頁的SAS環(huán)境。 下載路徑: https://www./en_us/software/university-edition/download-software.html SAS學術(shù)版(SAS? OnDemand for Academics)是 SAS 為學術(shù)屆人士免費提供的、在線的、基于SAS 私有云上的應用服務環(huán)境。 用戶首先需要注冊,然后按照提示信息就可登錄。 注冊路徑: http://odamid.oda. 本文轉(zhuǎn)自《深入解析SAS — 數(shù)據(jù)處理、分析優(yōu)化與商業(yè)應用 》 作者:夏坤莊、徐唯、潘紅蓮、林建偉 如若轉(zhuǎn)載本文,請在文章頂部標注 “本文轉(zhuǎn)自SAS知識 (ID: SASadvisor),摘自《深入解析SAS — 數(shù)據(jù)處理、分析優(yōu)化與商業(yè)應用 》” 作者介紹 夏坤莊 《深入解析SAS — 數(shù)據(jù)處理、分析優(yōu)化與商業(yè)應用》第一作者, SAS軟件研究開發(fā)(北京)有限公司客戶職能部總監(jiān)。在承擔研發(fā)工作的同時,夏及其團隊負責對SAS非英語市場提供技術(shù)支持,并且與在美國及其它地區(qū)的團隊一起,服務于SAS的SaaS/RaaS業(yè)務,同時提供和驗證關(guān)于SAS產(chǎn)品和技術(shù)在應用領(lǐng)域的最佳實踐。在加入SAS軟件研究開發(fā)(北京)有限公司之前,夏就職于SAS中國公司,歷任資深咨詢顧問、項目經(jīng)理、首席顧問、咨詢經(jīng)理,擁有豐富的咨詢和項目實施經(jīng)驗。在長期的從業(yè)經(jīng)歷中,不但為SAS的金融行業(yè)客戶成功實施了眾多深受好評的項目,而且在近年領(lǐng)導實施了非金融行業(yè)的多個大數(shù)據(jù)分析項目。 |
|