人大經(jīng)濟論壇SAS初級班教程_第1頁
人大經(jīng)濟論壇SAS初級班教程_第2頁
人大經(jīng)濟論壇SAS初級班教程_第3頁
人大經(jīng)濟論壇SAS初級班教程_第4頁
人大經(jīng)濟論壇SAS初級班教程_第5頁
已閱讀5頁,還剩131頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1推薦教材1.SAS系統(tǒng)的幫助以及在線文檔,都是學(xué)習(xí)SAS的很好的工具。/documentation/onlinedoc/sas9doc.html2.《SAS系統(tǒng)BaseSAS軟件使用手冊》高惠璇等編譯,中國統(tǒng)計出版社19973.《SAS系統(tǒng)SAS/STAT軟件使用手冊》高惠璇等編譯,中國統(tǒng)計出版社19974.《實用統(tǒng)計方法與SAS系統(tǒng)》高惠璇北京大學(xué)出版社20012數(shù)據(jù)類型橫截面數(shù)據(jù)集(cross-sectionaldataset)

時間序列數(shù)據(jù)集(timeseriesdataset)混合橫截面數(shù)據(jù)集(pooledcrosssectiondataset)綜列數(shù)據(jù)集(paneldataset)離散數(shù)據(jù)(discretedata)持續(xù)數(shù)據(jù)(survivaldata)3SAS模塊BaseSAS:

1、數(shù)據(jù)管理功能

2、基礎(chǔ)統(tǒng)計計算功能

3、報表生成和圖形顯示功能

4SAS/STAT統(tǒng)計分析SAS/INSIGHT數(shù)據(jù)探索SAS/ASSIST面向任務(wù)的易學(xué)易用模塊SAS/ETS時間序列處理SAS/OR運籌學(xué)和工程管理SAS/QC質(zhì)量控制SAS/IML矩陣運算SAS/GRAPH繪圖SAS/AF面向?qū)ο缶幊?OOP)的應(yīng)用開發(fā)工具,拓展SAS的功能5SAS/EIS面向?qū)ο缶幊痰拈_發(fā)工具,用于開發(fā)企業(yè)信息系統(tǒng)SAS/ACCESS數(shù)據(jù)訪問SAS/TOOLKIT擴充工具,把用其他軟件編寫的程序轉(zhuǎn)化成SAS的組成部分SAS/WarehouseAdministrator數(shù)據(jù)倉庫管理SAS/EnterpriseMiner數(shù)據(jù)挖掘SAS/TextMiner文本挖掘SAS/SHARE數(shù)據(jù)庫的并發(fā)式控制專門軟件SAS/CONNECT使各平臺SAS系統(tǒng)進行分布式處理,從而有效利用各平臺機器資源6SAS/GIS地理信息系統(tǒng)與空間數(shù)據(jù)的顯示分析SAS/SPECTRAVIEW數(shù)據(jù)可視化分析工具,用幾何成像的方式來分析多維數(shù)據(jù)SAS/Intrnet提供構(gòu)建基于SAS的企業(yè)內(nèi)部網(wǎng)絡(luò)支持SAS/FSP快速數(shù)據(jù)處理的交互式菜單系統(tǒng)SAS/CALC功能完善的多維電子表格軟件SAS/ENGLISH提供利用自然英語獲取信息的能力7SAS/SECURE網(wǎng)絡(luò)傳輸加密SAS/OLAPSERVER多維數(shù)據(jù)存儲及匯總結(jié)果呈現(xiàn)SAS/GENETICSSAS公司的第一個科學(xué)研究應(yīng)用軟件,應(yīng)用于遺傳學(xué),有5個分析過程SAS/High-PerformanceForecasting:提供快速高效的預(yù)測結(jié)果SAS/C,SAS/C++針對IBM大型機的開發(fā)工具SAS/LAB向?qū)降臄?shù)據(jù)分析軟件,特別針對day-to-day類型數(shù)據(jù)8SAS/Insight模塊

1、界面介紹

2、Fillvalues功能

3、Extract功能

4、Edit/windows/tool菜單使數(shù)據(jù)探索色彩繽紛(注意選項設(shè)置)

5、打開分布、擬合、多元等的窗口之后主菜單Tables、Graphs、Curves菜單才被開放。

Fly,insurance數(shù)據(jù)集示例9Insight模塊其他功能:

1、分布(輸出大多數(shù)常用的統(tǒng)計量)

2、擬合(回歸分析)

3、多元(方差分析)10SAS程序的書寫格式1、SAS程序由語句組成,語句用分號結(jié)束。2、SAS語句可以從某一行的任意位置開始;3、幾個SAS語句可以寫在同一行上,但每句要使用分號11SAS程序的書寫格式4、一個語句也可以寫成幾行,只要語句中的單詞不被斷開就可以。在一個語句中各個單詞之間至少要有一個空格。5、SAS程序中一般不區(qū)分大小寫(字符串中要區(qū)分大小寫)6、用/*注釋的內(nèi)容*/來對程序進行注釋12SAS程序的結(jié)構(gòu)SAS數(shù)據(jù)集

樣本(觀測、記錄)、變量(字段、域)、表(數(shù)據(jù)集)、數(shù)據(jù)庫許多SAS語句都是以關(guān)鍵詞開始并用它識別語句的類型(如data、input、proc)絕大部分的SAS語句都可分為兩步:

DATA步和PROC步13SAS的變量及格式變量屬性(名稱、類型、長度、輸入格式、輸出格式、標(biāo)簽)

類型:數(shù)字型、字符串型

輸入格式:數(shù)據(jù)被SAS讀取的格式

輸出格式:數(shù)據(jù)呈現(xiàn)給人們的格式14SAS程序第二例SAS/orange.sas

輸入數(shù)據(jù)-形成數(shù)據(jù)集-排序-打印顯示15SAS文件及命名1、SAS數(shù)據(jù)集文件(后綴為sas7bdat)2、SAS程序文件(后綴為sas)3、SAS日志文件(后綴為log)4、SAS輸出文件(后綴為list)16SAS文件及命名臨時數(shù)據(jù)集和永久數(shù)據(jù)集

SAS文件的2級命名方式:目錄.文件名

work目錄和其他目錄

使用Libname語句創(chuàng)建永久數(shù)據(jù)集,

libname自建目錄名‘目錄地址’;

libname例17建立SAS數(shù)據(jù)集的5種方法

1、data步自己輸入數(shù)據(jù)建立。Orange例

2、data步利用set語句建立。Set例

3、從外部調(diào)入。Infile例

4、利用“導(dǎo)入數(shù)據(jù)”功能建立。Id.xls例、data.txt例

5、利用EFI(externalfileinterface)功能導(dǎo)入。Column.dat例、tests.dat例、comma.dat例Analyst分析家模塊1、界面介紹2、瀏覽與編輯模式3、生成示例數(shù)據(jù)與抽樣4、程序清單5、假設(shè)檢驗1819SAS運算符(operator例)算術(shù)運算符:

+-*/**比較算符:

=(EQ)^=(NE)>(GT)<(LT)>=(GE)<=(LE)in邏輯算符:

&(AND)|(!)(OR)

^(~)(Not)其它:><(最小值)<>(最大值)||(?。?連接)20字符的比較(operator_char例)1、按機器使用的字符排列次序(ASCⅡ或Unicode)從左到右被比較。2、兩個不等長的字符串被比較時,系統(tǒng)在較短的字符串后自動添上空格3、在比較符后加冒號,則只比較首字母21運算次序一在括弧里的表達式先計算第一級:**(+-)前綴^><<>第二級:*/第三級:+-第四級:||第五級:其余比較算符第六級:&第七級:|22運算次序二對于相同優(yōu)先級的算符,左邊的運算先做。但有兩個例外:1.對最高優(yōu)先級,右邊的運算先做2.當(dāng)兩個比較算符圍著一個量時,這個表達式看成是有一個and出現(xiàn)一樣被計算。

如:12<age<20,

等價于:12<age&age<2023SAS函數(shù)一(部分)數(shù)學(xué)函數(shù):

abs()、max()、min()、mod(x,y)、sign(x)、sqrt(x)、sum()、mean()、exp(x)、log(x)、log10(x)、log2(x)、sin(x)、arsin(x)截取函數(shù):

ceil(x)、floor(x)、int(x)、round(x,n)字符函數(shù):

index(S,S1)、substr(S,p,n)、scan(S2,n)、upcase(S)、compress(S,S1)24SAS函數(shù)二(部分)SAS系統(tǒng)存貯日期值為1960年1月1日到指定日期之間的天數(shù)SAS存貯時間值為從午夜開始到指定時間的秒數(shù)日期時間值存貯為1960年1月1日午夜到指定日期時間之間的秒數(shù)日期時間函數(shù):weekday()、day()、month()、qtr()、year()25SAS函數(shù)三(部分)概率統(tǒng)計函數(shù):

probnorm(x)

n(ofX1-Xn)、nmiss(ofX1-Xn),

var(ofx1-xn)、std(ofx1-xn)隨機數(shù)函數(shù):

rannor(seed)、ranuni(seed)Functions例26DATA步文件操作語句運行語句控制語句信息語句27DATA步流程DATA語句標(biāo)志了數(shù)據(jù)步開始,并指定了數(shù)據(jù)步結(jié)束時要生成的數(shù)據(jù)集名字。每次讀入一行數(shù)據(jù),讀入后執(zhí)行數(shù)據(jù)步中的其它語句,循環(huán)數(shù)據(jù)步讀取整個數(shù)據(jù)。_N_變量表示DATA步已經(jīng)執(zhí)行的次數(shù)_error_變量值為1時表示程序出錯Flow例28DATA步流程(Flow1例)(*)讀外部數(shù)據(jù)時,數(shù)據(jù)步迭代(即每一次)的開始把變量的值置為缺失值,有幾種情況例外:

1、retain語句提到的變量

2、sum語句中創(chuàng)建的變量

3、數(shù)組_temporary_中的數(shù)據(jù)元

4、file和infile語句選項中創(chuàng)建的變量

5、自動變量讀sas數(shù)據(jù)集時,只在第一次迭代時把變量值置為缺失,以后變量保留其值直至新值寫入29文件操作語句

DATA語句DATA語句的選項

DROP選項(不列出某些變量)

KEEP選項(列出某些變量)

LABEL選項(給數(shù)據(jù)集加標(biāo)簽)

RENAME選項(重命名變量)Data例

30DATA語句數(shù)據(jù)集名字:(data2例)

1、data語句后無數(shù)據(jù)集名字,則自動生成data1,data2等為數(shù)據(jù)集名字,相當(dāng)于data_data_;

2、data_null_;不產(chǎn)生實際的數(shù)據(jù)集,只是把內(nèi)容暫存于內(nèi)存,以供put語句等讀取結(jié)果,可以節(jié)約計算機資源

3、data_last_;以最近產(chǎn)生的數(shù)據(jù)集命名并取代其內(nèi)容。31Input語句分組格式:

input(g1-g5)(3*7.2,2*5.2);input(ab)($5.)

input(ab)($,5.)@@-無需分行而按變量連貫讀數(shù)據(jù)@-固定該數(shù)據(jù)行;用于需要多個input語句同時讀取一行數(shù)據(jù)。

input@@例,Input@例32Input語句利用@n+n#n進行指針控制

input1例33Input語句幾個特殊符號的用法(:&~)

:讀值時第一次遇到分隔符、或是數(shù)據(jù)行末尾、或是讀滿列數(shù)而結(jié)束

&字符型輸入值可以嵌有一個或幾個空格

~字符型輸入值保留引號(與infile語句中選項dsd一起使用才有效)Input2例34Cards語句Cards語句與datalines語句可以通用如果輸入數(shù)據(jù)中含有分號,可用cards4語句或datalines4語句,同時,數(shù)據(jù)結(jié)尾用4個分號表示數(shù)據(jù)輸入結(jié)束Cards4例35Put語句Put語句負責(zé)在log窗口輸出一些結(jié)果,fileprint選項可把輸出轉(zhuǎn)移到output窗口Put_infile_(輸出最新的數(shù)據(jù)行到SASlog窗口)Put_all_(輸出所有變量的值)Put_page_(輸出新頁)Put例、put1例36File語句Fileprint把put語句產(chǎn)生的輸出結(jié)果轉(zhuǎn)移到output窗口Put例37By語句在DATA步中,SAS系統(tǒng)對每個BY組創(chuàng)建兩個臨時變量:

First.variable

Last.variable它們用來區(qū)別每個BY組的第一個和最后一個觀測By例38Set語句使用set語句復(fù)制數(shù)據(jù)集Point選項指明要讀入的記錄序號

set數(shù)據(jù)集point=指針變量;

可用于抽樣,一般與output語句連用Nobs選項創(chuàng)建一個臨時變量用來存儲數(shù)據(jù)集的觀測總數(shù)見set例,point例39Set語句Set語句可以串接多個數(shù)據(jù)集,形式如下Data數(shù)據(jù)集;

set數(shù)據(jù)集A數(shù)據(jù)集B……;

<by變量;>

Run;Rename選項負責(zé)改名;in選項產(chǎn)生變量負責(zé)記錄觀測來自該數(shù)據(jù)集;見set2例40Merge語句使用Merge語句并接多個數(shù)據(jù)集,形式如下Data數(shù)據(jù)集;

merge數(shù)據(jù)集1數(shù)據(jù)集2……;

by變量;

run;見merge例41Update語句Update語句用一個升級數(shù)據(jù)集中的觀測來修改一個主數(shù)據(jù)集。Update語句一定要與BY語句一起使用,BY語句給出了合并觀測時共同變量的名字主數(shù)據(jù)集中的共同變量必須是單值的,即不能有兩個或兩個以上的觀測其共同變量值相同Update例42Infile語句Delimiter(DLM)選項:規(guī)定一個字符替代空格作為分隔符。Firstobs選項:不是從文件的第一個記錄開始,而是從指定行開始讀取記錄Obs選項:規(guī)定用戶想從輸入文件中連續(xù)讀取的最后一個記錄號Infile(dlm)例、Infile(obs)例43Infile語句DSD選項:

1、使最外層引號括起的內(nèi)容當(dāng)成整個字符串輸入,并去除最外層引號

2、默認分隔符為逗號

3、兩個相鄰的分隔符意味著前一個分隔符后的字段為缺失值Infile(dsd)例(回顧input2例)44Infile語句當(dāng)行末尾數(shù)據(jù)寬度少于規(guī)定寬度時

Flowover:默認選項,將下一條記錄讀入

Missover:將變量置為缺失

Truncover:將數(shù)據(jù)直接讀入,不管寬度是否少于規(guī)定寬度

Stopover:系統(tǒng)終止數(shù)據(jù)步執(zhí)行,報告出錯Missover例45Infile語句Lrecl=n選項:設(shè)定源數(shù)據(jù)文件行的物理長度,缺省為256,最大可設(shè)為32767Pad|Nopad選項:pad選項指當(dāng)寬度少于規(guī)定寬度時,在后面填充空格至Lrecl=n規(guī)定的行長度,缺省為nopadMissover例46運行(算)語句

賦值語句和累加語句賦值Variable=expression

例:x=a+b;累加Variable+expression

例:ifx=5thenn+1;

例:n+(-1)累加語句中的變量必須是數(shù)值型變量,初始值為047Delete和lostcard(*)語句Delete語句告訴SAS系統(tǒng)停止處理當(dāng)前的觀測,并且返回到這個Data步的開頭處理其他觀測當(dāng)SAS系統(tǒng)遇到用幾個記錄表示一個觀測的時候,數(shù)據(jù)中有丟失記錄時,使用Lostcard語句來重新對準(zhǔn)輸入數(shù)據(jù)delete例,lostcard例48Stop和abort語句用stop語句來停止處理data步,正被處理的那個觀測沒有添加到SAS數(shù)據(jù)集中,stop語句不影響后面的任意data步或proc步的執(zhí)行用abort語句來中止SAS系統(tǒng)執(zhí)行當(dāng)前DATA步,return選項關(guān)閉SAS并返回操作系統(tǒng)。Stop與abort的區(qū)別在于abort語句置_error_變量為1Abort例49Where語句從已存在的SAS數(shù)據(jù)集選擇子集,在把觀測讀入之前規(guī)定數(shù)據(jù)必須滿足一個條件Where語句與if語句相比在讀取數(shù)據(jù)時更為高效,因其在移動所有觀測到子集之前先選擇數(shù)據(jù)。Where語句豐富的表達式where例50Output語句DATA步的每次迭代,后臺自動使用output語句,但如果程序中主動加上output語句,即相當(dāng)于取消自動output語句,變成在條件符合時輸出。output例51Output語句用到output語句其他情況:output123例

1.從一個輸入的數(shù)據(jù)文件中,創(chuàng)建幾個SAS數(shù)據(jù)集

2.從輸入的每個數(shù)據(jù)行中,創(chuàng)建二個或更多個觀測

3.把幾個輸入觀測組合并成為一個觀測后面接名字表示輸出到指定數(shù)據(jù)集,但名字必須也在DATA后出現(xiàn)52Call語句調(diào)用其他子程序

callroutine(parameter-1<,…parameter-n>)

如SAS提供一系列隨機數(shù)子程序發(fā)布操作系統(tǒng)命令

callsystem(command)Call例(*)、Call_system例53控制語句

Do語句(循環(huán)語句)DO語句規(guī)定,在DO后面直到出現(xiàn)END語句之前的這些語句作為一個單元被執(zhí)行。簡單DO語句,常用在if-then/else語句里循環(huán)DO語句,用下標(biāo)變量規(guī)定重復(fù)次數(shù)

doi=1to10;

doi=1toexit;

doi=2to8by2;Do_simple例,do例,do_exit例54Dowhile語句當(dāng)條件成立時重復(fù)執(zhí)行Do組里的語句

Dowhile(expression);括號里的表達式在Do組里的語句被執(zhí)行前在循環(huán)的開頭被計算。如果表達式是真的,Do組被執(zhí)行Dowhile例55Dountil語句有條件地執(zhí)行Do組里的語句,在循環(huán)的最后而不是在循環(huán)的開頭計算表達式,如果表達式是真的,Do組就不再被執(zhí)行。Do組里的語句至少執(zhí)行一次。Dountil例56Select語句允許SAS去執(zhí)行幾個語句或者語句組中的一個。當(dāng)一個特殊條件為真時,執(zhí)行對應(yīng)when語句,如果所有when條件均不成立,選擇執(zhí)行otherwise語句,用end結(jié)束Select(when)例57If語句1.形如:IFexpressionTHENstatement;

ELSEstatement;

2.形如:IFvariable

例:ifxtheny=x;當(dāng)變量x的值為0和缺失之外的任意值時表達式均為真If_else例、If_x例58Return語句告訴SAS系統(tǒng)在data步當(dāng)前這個位置上停止執(zhí)行語句并在繼續(xù)執(zhí)行之前返回到一個預(yù)定的位置(通常是data步開頭)當(dāng)return語句使得SAS返回到data步開頭時,SAS首先輸出當(dāng)前觀測到新數(shù)據(jù)集中。每個data步都有一個隱含的return語句作為最后一個可執(zhí)行的語句Return例59Goto語句告訴SAS系統(tǒng)立即轉(zhuǎn)到Goto語句所指示的那個語句,并從那個語句開始執(zhí)行后面的語句。形如:GOTOlabel;

label規(guī)定語句標(biāo)號來指示Goto的目標(biāo),它必須與goto語句在同一個data步Return選項規(guī)定返回而不執(zhí)行下面語句Goto例60Link語句(*)形如linklabel;立即轉(zhuǎn)到由label語句指示的位置,并從那里開始繼續(xù)執(zhí)行語句直到一個return語句被執(zhí)行。與goto語句的區(qū)別是:標(biāo)簽內(nèi)的return語句讓SAS立即返回到link語句后面的那個語句并從那里繼續(xù)執(zhí)行Link例61Continue和leave語句Continue語句使得某個do循環(huán)中當(dāng)前這次循環(huán)過程停止進行,并繼續(xù)進行下一次循環(huán)過程。Leave語句停止當(dāng)前整個do組循環(huán)或select組的處理過程,并用跟在do組或select組后面的下一個語句繼續(xù)執(zhí)行data步Continue例,leave例62循環(huán)的嵌套(*)Do(do)例、select(do)例63怎樣選擇使用不同的控制語句DO:多次執(zhí)行同樣的代碼塊DOwhile:當(dāng)while條件為真時,多次執(zhí)行同樣的代碼塊DOuntil:多次執(zhí)行同樣的代碼塊,直到until條件為真,代碼塊總會執(zhí)行一次SELECT:知道明確的離散選擇項時使用IF:希望從2個或多個可能的事件中完成一個,允許連續(xù)選擇項64怎樣選擇使用不同的控制語句跳轉(zhuǎn)代碼(goto,link):需要暫停主代碼,執(zhí)行“標(biāo)簽”指明的其它代碼中止代碼(return,continue,leave):負責(zé)某種形式的中止。65信息語句

數(shù)組(array)語句當(dāng)需要用同一種方法處理很多變量時,可以用數(shù)組語句定義這組變量為某個數(shù)組中的元素。1.顯示下標(biāo)array語句:由一個數(shù)組名字,在數(shù)組中元素個數(shù)的說明,及元素列表組成。2.隱含下標(biāo)array語句:由一個數(shù)組名字、一個下標(biāo)變量和列表名組成。66顯示下標(biāo)array語句形如:

ARRAYarray-name{subscript}<$><<array-elements><(initial-values)>>

例arraysimple{3}redgreenyellow;

arrayx{5,3}score1-score15;

arrayc{3}等價于arrayc{3}c1-c3

arraytest{3}t1t2t3(908070)

數(shù)組中的變量必須全是數(shù)值型或字符串型,array例67顯示下標(biāo)array語句規(guī)定數(shù)組中每一維的上下界:

arrayx{1:5,1:3}score1-score15;{*}表示SAS系統(tǒng)通過數(shù)組中變量的個數(shù)來確定下標(biāo)??捎胐im(數(shù)組名)函數(shù)計算數(shù)組元素個數(shù)。_temporary_建立一個臨時數(shù)組元素列表array(dim)例,array(temporary)例,array(prod)例68隱含下標(biāo)array語句形如:ARRAYarray-name<(index-variable)><$>array-elements<(initial-values)>如果沒有規(guī)定下標(biāo)變量,SAS系統(tǒng)使用自動變量_i_作為下標(biāo)變量,下標(biāo)變量范圍從1到這個數(shù)組元素的個數(shù)如:arrayxx1-x5Array(s)例69Doover語句Doover語句對每個數(shù)組元素自動地執(zhí)行Do組中的語句,它等價于doi=1tok;

其中i是這個數(shù)組的下標(biāo)變量,k是數(shù)組元素的個數(shù)。Doover語句常用在對隱含下標(biāo)數(shù)組元素執(zhí)行Do組里的語句Doover例70Informat語句Informat語句把輸入格式與變量聯(lián)系起來,在data步,可以用informat語句對input語句中列出的變量規(guī)定缺省時的輸入格式informat例71Format語句在data步把變量同輸出格式聯(lián)系起來可以規(guī)定缺省選項,如:

formatdefault=8.2;Format(informat)例,format_=例,72Drop和keep語句Drop語句:刪掉變量語句

dropvariable-listKeep語句:保留變量語句

keepvariable-list雖然出現(xiàn)在drop和keep語句中的變量不包含在正被創(chuàng)建的SAS數(shù)據(jù)集中,但這些變量仍可以用在程序語句中Drop和keep不能同時使用73Retain語句使用retain給變量賦予初值,并保留到讀下一個觀測

retainmonth1-month51

retainvar1-var4(1,2,3,4)

當(dāng)retain后無變量時,用input或賦值語句創(chuàng)建的所有變量的值,保留上次data步執(zhí)行的值Retain例、retain2例74Attrib語句在data步內(nèi)允許用一個attrib語句來規(guī)定一個或幾個變量的輸出、輸入格式,標(biāo)簽和長度,即規(guī)定變量屬性Attribxlabel=‘中國載人飛船’

length=4

informat=8.5

format=8.2;Attrib例75Window語句創(chuàng)建用戶專用的窗口,可用來顯示文字說明或接受輸入的數(shù)據(jù)Window例76上機練習(xí)1編制程序:

六個變量idd1-d5,數(shù)據(jù)節(jié)選如下:

127231001000233354561000

3.4644100要求:如果相鄰數(shù)據(jù)小于等于7,則置為缺失,數(shù)據(jù)結(jié)果應(yīng)如下:1..231001000

2333..1000

3...4410077上機練習(xí)2(ex2例)編制程序:

3個變量d1-d3,數(shù)據(jù)節(jié)選如下:

12723.

3.4要求:如果發(fā)現(xiàn)缺失值,即用該列數(shù)據(jù)的平均值來代替,數(shù)據(jù)結(jié)果應(yīng)如下:127

235.5

32.5478Proc步的通用語句(Reg例)Proc-用在proc步的開頭并規(guī)定用戶使用的SAS過程名字及其他信息Var-規(guī)定用這個過程分析的一些變量Model-規(guī)定在模型中類似表示因變量(左)和自變量(右)的這樣一些變量及其他信息Weight-規(guī)定一個變量,它的值是這些觀測的相應(yīng)權(quán)數(shù)79Proc步及通用語句Freq-規(guī)定一個變量,其值表示頻數(shù)Id-規(guī)定一個或幾個變量,他們的值在打印輸出中或由此過程產(chǎn)生的SAS數(shù)據(jù)集中用來識別觀測Where-在SAS把觀測引入proc步之前,用來選擇符合特殊條件的觀測Class-在分析中指定一些變量為分類變量80Proc步及通用語句By-規(guī)定一些變量,SAS過程對輸入數(shù)據(jù)集用by變量定義的幾個數(shù)據(jù)組分別進行分析處理Output-給出用該過程產(chǎn)生的輸出數(shù)據(jù)集的信息Quit-結(jié)束交互式的過程其他如Attrib屬性語句、format輸出格式語句、label標(biāo)簽語句等81Transpose(轉(zhuǎn)置過程)Transpose過程完成對sas數(shù)據(jù)集的轉(zhuǎn)置,即把觀測變?yōu)樽兞?,變量變?yōu)橛^測。Out選項規(guī)定輸出數(shù)據(jù)集Prefix選項規(guī)定轉(zhuǎn)置后的變量名前綴Id選項使用其后規(guī)定的變量值作為輸出數(shù)據(jù)集中被轉(zhuǎn)置的變量名Transpose例82Means均值過程計算數(shù)據(jù)集中數(shù)值變量的簡單統(tǒng)計量T選項:檢驗數(shù)據(jù)總體均值為0的假設(shè)時,t統(tǒng)計量的值Prt選項:Prob>|T|,數(shù)據(jù)總體均值為0的概率是多少默認生成的_type_和_freq_變量分別規(guī)定分組數(shù)(如果有)和頻率Means例,weight例,freq例83Means均值過程Maxdec選項規(guī)定輸出結(jié)果的小數(shù)部分最大位數(shù)可以輸出的統(tǒng)計量:

N,Nmiss,mean,std,min,max,range,sum,var,uss,css,cv(變異系數(shù)),stderr,t,prt,sumwgt,skewness(偏度),kurtosis(峰度),clm(置信限),lclm(置信下限),uclm(置信上限)84Format過程(format_num,char,lowhigh例)使用Format過程把輸出格式同Data步、Proc步的變量聯(lián)系起來。輸出格式一:SAS格式輸出格式二:Format定義的格式,形如value格式名變量值=‘自定義值’;

proc…;

format變量格式名.;85Format過程輸出格式三:圖示輸出,只適用于數(shù)值型變量,形如

picture格式名other=’格式化值’;

proc…;

format變量格式名.;Format_picture例

86Plot過程對數(shù)據(jù)集中任兩個變量的n個觀測值畫出散點圖,第一個變量表示y軸,第二個表示為x軸兩種情況:

ploty*x=‘+’;(規(guī)定一個字符作為作圖字符)

ploty*x=sex;(作圖字符由變量的值給出)

87Plot過程Vref(Href)要求散布圖在垂直(或水平)軸的一些規(guī)定值上畫水平線(或垂直線)作為參照線/overlap選項:在同一張圖上作兩個以上的散點圖。如:ploty*xa*b/overlay;Plot(函數(shù))例88Standard標(biāo)準(zhǔn)化過程目的是使不同量綱的變量能互相比較Standard過程按給定的均值和標(biāo)準(zhǔn)差對數(shù)據(jù)集中的變量進行標(biāo)準(zhǔn)化變換,并生成一個包含標(biāo)準(zhǔn)化值的新SAS數(shù)據(jù)集Mean=mean-value:規(guī)定均值Std=std-value:規(guī)定標(biāo)準(zhǔn)差Standard例89Rank過程與其研究數(shù)值大小不如研究排序的情況該過程把數(shù)值從最小到最大排列,對最小值賦予秩1,對第二小值賦予秩2,一直到賦予秩n,即未丟失的觀測個數(shù)。出現(xiàn)結(jié)值(tie)時,其秩可以賦予平均秩或高秩或低秩。Ranks選項分配求秩后的變量名Rank例90Univariate過程又稱單變量過程,可以求單個變量的大部分統(tǒng)計指標(biāo)Normal選項:要求對數(shù)據(jù)服從正態(tài)分布(原假設(shè))進行檢驗。

當(dāng)樣本容量<=2000時,使用W統(tǒng)計量檢驗

當(dāng)樣本容量>2000時,使用D統(tǒng)計量檢驗91Univariate過程Outputout=datasets要求輸出包含指定統(tǒng)計量的數(shù)據(jù)集Pctlpts規(guī)定該過程不能自動提供而用戶又希望計算的百分位數(shù)Pctlpre要求給出百分位數(shù)的輸出變量名的前綴,pctlname……后綴。Univariate例92Corr過程計算變量間的相關(guān)系數(shù)相關(guān)是對兩個變量間線性關(guān)系強弱程度的一種測度。如果一個變量恰好可表示成另一個變量Y的線性函數(shù),那么相關(guān)系數(shù)為1或-1,即正相關(guān)或負相關(guān)。如果兩變量間的相關(guān)系數(shù)為0,這意味著兩變量無線性關(guān)系。Corr例93Options過程列出SAS系統(tǒng)選項的當(dāng)前值。SAS系統(tǒng)選項是SAS系統(tǒng)用來控制SAS數(shù)據(jù)集的處理,輸出的格式和內(nèi)容等的全局選項系統(tǒng)選項的優(yōu)先次序:

options語句>配置文件>缺省設(shè)置例:optionsnodate;Options(view)例,options例94Printto過程該過程用來定義SAS過程輸出和SAS日志輸出的地點Print選項規(guī)定輸出結(jié)果存放地點Log選項規(guī)定輸出日志存放地點New選項表示要覆蓋已存在的文件,如無new選項但有已存在的文件名,則在已有的文件內(nèi)容后追加Printto例95Compare過程該過程用來比較兩個SAS數(shù)據(jù)集中的內(nèi)容用base和compare選項分別規(guī)定待比較的兩個數(shù)據(jù)集Compare例96Datasets數(shù)據(jù)庫管理過程該過程用來對SAS數(shù)據(jù)庫中的SAS文件進行列表、拷貝、更名,添加和刪除等操作Datasets是交互過程,可以不斷插入并執(zhí)行該過程的相關(guān)語句而不用重復(fù)調(diào)用Datasets,但可以使用quit語句或另一個proc步或data步來終止此過程Datasets1例97Datasets過程Indexcreate:創(chuàng)建簡單或復(fù)合索引Pw(read、write、alter):設(shè)置密碼Repairmember-name:在適當(dāng)情況下試圖重新存貯被損壞的SAS數(shù)據(jù)集或目錄Datasets(index)例、datasets(pw)例98SQL過程SQL結(jié)構(gòu)查詢語言(StructuredQueryLanguage)是一個標(biāo)準(zhǔn)化的廣泛使用的語言,可以檢索和更新關(guān)系表格和數(shù)據(jù)庫中的數(shù)據(jù)。關(guān)系,類似于數(shù)學(xué)中的集合概念,實際上被表現(xiàn)為一些排列成行和列的二維表格(關(guān)系數(shù)據(jù)庫)99SQL過程SQL語句的特征:

子句內(nèi)的項用逗號分開;

不需規(guī)定Run語句;100SQL過程Select語句用來檢索和操作存于表中的數(shù)據(jù)。(order從句,format選項)Create語句生成表格Update語句增加或修改在表格的列里的數(shù)值,Insert和Delete語句插入和刪除行,用Alter語句增加、修改、刪去列來修改表格。101SQL過程Delete語句從表中刪去where表達式為真的所有行Insertto往一個新的或已存在的表中加入新的行Sql例102全程語句Quit,run,endsas:分別為結(jié)束、運行SAS語句、關(guān)閉SAS系統(tǒng)Title,footnote:添加標(biāo)題和腳注Filename:對一個外部文件定義標(biāo)記Libname:對一個SAS數(shù)據(jù)庫定義標(biāo)記Filename例,libname例103全程語句Missing語句規(guī)定表示缺失值的字符,通常出現(xiàn)在data語句中,但其作用范圍是全局的。Page語句使得日志跳到新一頁Skip語句使得日志跳過規(guī)定的行數(shù)%include語句從外部文件讀出SAS語句或數(shù)據(jù)行并執(zhí)行:Missing例,page例,skip例,Include1例104Tabulate制表過程(Tabulate例)由分類變量、分析變量和統(tǒng)計量關(guān)鍵詞組成的表達式構(gòu)成描述性統(tǒng)計報表。Tabulate過程的Table語句的操作符(星號、空格、園括號,逗號)

1.交叉連接項,即嵌套(使用*號)

2.項與項之間的并列連接,即平行(使用空格)

3.改變次序(使用園括號)105Tabulate制表過程4.產(chǎn)生的報表最多三維:如果包含二維,次序為行、列;如果包含三維,次序為頁、行、列。(維表達式間用逗號隔開;)

5.用<>定義Pctn統(tǒng)計量的分母分類變量必須在class語句中說明分析變量必須在var語句中列出106Tabulate制表過程Proctabulate過程的其他語句

1.missing選項:要求把缺失值作為分類變量的有效水平

2.order=freq|data|internal|formatted

規(guī)定報表中分類變量值出現(xiàn)的次序

freq:按頻數(shù)下降的次序

data:按原數(shù)據(jù)集中出現(xiàn)的先后次序

internal:按非格式化值的次序

formatted:按格式化值的次序107Tabulate制表過程Label語句用來對變量加標(biāo)簽Keylabel語句用來對統(tǒng)計量加標(biāo)簽統(tǒng)計量:N(字符型變量的默認統(tǒng)計量),Nmiss,Mean,Std,Min,Max,Range,Sum(數(shù)值型變量默認統(tǒng)計量),Var,Pctn(頻數(shù)N的百分?jǐn)?shù),后面參數(shù)為列變量則是行百分比,后面參數(shù)為行變量則是列百分比)F或format表示輸出使用一定的格式,

如:a*f=8.2;108Tabulate制表過程全類變量all,當(dāng)all嵌入某個交叉時,all不考慮分類變量的水平,而用all來生成子集和及總和。

如B*(Aall)、(allB)*(allA)Tabulate1例109上機練習(xí)按tabulate1例,模擬編制類似數(shù)據(jù),練習(xí)各種制表方法110第五部分SAS/stat模塊STAT模塊的過程介紹111Freq過程(freq_cows,_eye例)Freq過程用于產(chǎn)生單向到n向的頻數(shù)表或交叉表以及針對表格的各種統(tǒng)計量。用星號連接起來的變量,最后一個變量的值形成列,倒數(shù)第二個變量的值形成行,其余變量的每一個水平形成一層。

如:tablea*b*c*d;使用chisq卡方統(tǒng)計量,檢驗變量間的相關(guān)性,原假設(shè)為變量間不相關(guān)112SAS宏利用宏可以減少在完成一些共同任務(wù)時必須輸入的文本量利用宏可以使程序模塊化,使程序易讀、便于修改、移植、方便重復(fù)使用113SAS宏變量宏變量屬于SAS宏語言,與普通變量的區(qū)別是可以獨立于DATA步可以在SAS程序中除數(shù)據(jù)行之外的任何地方定義并使用宏變量%let語句定義宏變量并分配一個值給宏變量(如:%letdsn=3)當(dāng)引用一個宏變量的值,放&號在宏變量前114SAS宏變量(macro_str,_var,_auto例)使用%str函數(shù)圍住宏變量的值,使得在這個值內(nèi)部的分號作為這個文本的部分,而不是%let語句的結(jié)束使用%put語句在LOG窗口顯示宏變量的值SAS/BASE中的自動宏變量,如:sysver,systime(給出SAS程序或會話開始執(zhí)行的時間);115SAS宏用%macro語句開始一個宏,同時給出這個宏的名字。如:%macrodsn;

用%mend語句結(jié)束一個宏,其后給出宏名字。如:%menddsn;放一個百分?jǐn)?shù)符號(%)在宏名字的前面以調(diào)用一個宏,如%dsnMacro例116宏參數(shù)被定義在一個%macro語句的宏名字后括號內(nèi)的宏變量稱為宏參數(shù),可以直接給出宏參數(shù)的值,也可以在調(diào)用這個宏時給出這些參數(shù)的值。對參數(shù)分配的值只在這個宏執(zhí)行時有效,而宏變量從用戶創(chuàng)建直到SAS會話結(jié)束前都存在macroP1例、macroP2例117SAS錯誤的處理一、句法錯誤:當(dāng)程序語句與SAS

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論