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