人大經(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),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、1推薦教材n1.SAS系統(tǒng)的幫助以及在線文檔,都是學(xué)習(xí)SAS的很好的工具。 http:/ SAS 軟件使用手冊高惠璇等編譯,中國統(tǒng)計出版社1997 n3.SAS 系統(tǒng)SAS/STAT軟件使用手冊高惠璇等編譯,中國統(tǒng)計出版社1997 n4. 實用統(tǒng)計方法與SAS系統(tǒng)高惠璇 北京大學(xué)出版社20012數(shù)據(jù)類型n橫截面數(shù)據(jù)集(cross-sectional data set) n時間序列數(shù)據(jù)集(time series data set)n混合橫截面數(shù)據(jù)集(pooled cross section data set)n綜列數(shù)據(jù)集(panel data set)n離散數(shù)據(jù)(discrete data)n持

2、續(xù)數(shù)據(jù)(survival data)3SAS模塊nBase SAS: 1、數(shù)據(jù)管理功能數(shù)據(jù)管理功能2、基礎(chǔ)統(tǒng)計計算功能、基礎(chǔ)統(tǒng)計計算功能 3、報表生成和圖形顯示功能報表生成和圖形顯示功能 4nSAS/STAT 統(tǒng)計分析nSAS/INSIGHT 數(shù)據(jù)探索nSAS/ASSIST 面向任務(wù)的易學(xué)易用模塊nSAS/ETS 時間序列處理nSAS/OR 運籌學(xué)和工程管理nSAS/QC 質(zhì)量控制nSAS/IML 矩陣運算nSAS/GRAPH 繪圖nSAS/AF 面向?qū)ο缶幊?OOP)的應(yīng)用開發(fā)工具,拓展SAS的功能5nSAS/EIS 面向?qū)ο缶幊痰拈_發(fā)工具,用于開發(fā)企業(yè)信息系統(tǒng)nSAS/ACCESS 數(shù)據(jù)訪

3、問 nSAS/TOOLKIT 擴充工具,把用其他軟件編寫的程序轉(zhuǎn)化成SAS的組成部分nSAS/Warehouse Administrator 數(shù)據(jù)倉庫管理nSAS/Enterprise Miner 數(shù)據(jù)挖掘nSAS/Text Miner 文本挖掘nSAS/SHARE 數(shù)據(jù)庫的并發(fā)式控制專門軟件nSAS/CONNECT 使各平臺SAS系統(tǒng)進行分布式處理,從而有效利用各平臺機器資源6nSAS/GIS 地理信息系統(tǒng)與空間數(shù)據(jù)的顯示分析nSAS/SPECTRAVIEW 數(shù)據(jù)可視化分析工具,用幾何成像的方式來分析多維數(shù)據(jù)nSAS/Intrnet 提供構(gòu)建基于SAS的企業(yè)內(nèi)部網(wǎng)絡(luò)支持nSAS/FSP 快速

4、數(shù)據(jù)處理的交互式菜單系統(tǒng)nSAS/CALC 功能完善的多維電子表格軟件nSAS/ENGLISH 提供利用自然英語獲取信息的能力7nSAS/SECURE 網(wǎng)絡(luò)傳輸加密nSAS/OLAP SERVER 多維數(shù)據(jù)存儲及匯總結(jié)果呈現(xiàn)nSAS/GENETICS SAS公司的第一個科學(xué)研究應(yīng)用軟件,應(yīng)用于遺傳學(xué),有5個分析過程nSAS/High-Performance Forecasting:提供快速高效的預(yù)測結(jié)果nSAS/C, SAS/C+ 針對IBM大型機的開發(fā)工具nSAS/LAB 向?qū)降臄?shù)據(jù)分析軟件,特別針對day-to-day類型數(shù)據(jù)8SAS/Insight模塊 1、界面介紹2、Fill val

5、ues 功能3、Extract 功能4、Edit/windows/tool菜單使數(shù)據(jù)探索色彩繽紛(注意選項設(shè)置)5、打開分布、擬合、多元等的窗口之后主菜單Tables、Graphs、Curves菜單才被開放。Fly,insurance數(shù)據(jù)集示例9Insight模塊n其他功能:1、分布(輸出大多數(shù)常用的統(tǒng)計量)2、擬合(回歸分析)3、多元(方差分析)10SAS程序的書寫格式n1、SAS程序由語句語句組成,語句用分號結(jié)束。n2、 SAS語句可以從某一行的任意位置開始; n3、幾個SAS語句可以寫在同一行上,但每句要使用分號11SAS程序的書寫格式n4、一個語句也可以寫成幾行,只要語句中的單詞不被斷

6、開就可以。在一個語句中各個單詞之間至少要有一個空格。n5、SAS程序中一般不區(qū)分大小寫(字符串中要區(qū)分大小寫)n6、用/*注釋的內(nèi)容*/來對程序進行注釋12SAS程序的結(jié)構(gòu)nSAS數(shù)據(jù)集樣本(觀測、記錄)、變量(字段、域)、表(數(shù)據(jù)集)、 數(shù)據(jù)庫n許多SAS語句都是以關(guān)鍵詞開始并用它識別語句的類型(如data、input、proc)n絕大部分的SAS語句都可分為兩步:DATA步和PROC步13SAS的變量及格式n變量屬性(名稱、類型、長度、輸入格式、輸出格式、標(biāo)簽)類型:數(shù)字型、字符串型輸入格式:數(shù)據(jù)被SAS讀取的格式輸出格式:數(shù)據(jù)呈現(xiàn)給人們的格式14SAS程序第二例nSAS/orange.s

7、as輸入數(shù)據(jù)-形成數(shù)據(jù)集-排序-打印顯示15SAS文件及命名n1、SAS數(shù)據(jù)集文件(后綴為sas7bdat)n2、SAS程序文件(后綴為sas)n3、SAS日志文件(后綴為log)n4、SAS輸出文件(后綴為list)16SAS文件及命名n臨時數(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.

8、xls例、data.txt例5、利用EFI(external file interface)功能導(dǎo)入。Column.dat例、tests.dat例、comma.dat例Analyst分析家模塊n1、界面介紹n2、瀏覽與編輯模式n3、生成示例數(shù)據(jù)與抽樣n4、程序清單n5、假設(shè)檢驗1819SAS運算符(operator例)n算術(shù)運算符:* / *n比較算符:=(EQ) =(NE) (GT) =(GE) (最小值) (最大值) |(?。?連接)20字符的比較(operator_char例)n1、按機器使用的字符排列次序(ASC或Unicode)從左到右被比較。n2、兩個不等長的字符串被比較時,系統(tǒng)在

9、較短的字符串后自動添上空格n3、在比較符后加冒號,則只比較首字母21運算次序一n在括弧里的表達式先計算n第一級:* ()前綴 n第二級:* /n第三級:n第四級:|n第五級:其余比較算符n第六級:n第七級:22運算次序二n對于相同優(yōu)先級的算符,左邊的運算先做。但有兩個例外:n1.對最高優(yōu)先級,右邊的運算先做n2.當(dāng)兩個比較算符圍著一個量時,這個表達式看成是有一個and 出現(xiàn)一樣被計算。如:12age 20,等價于:12age & age20 23SAS函數(shù)一(部分)n數(shù)學(xué)函數(shù):abs()、max ()、min ()、mod (x, y)、sign (x)、sqrt (x)、 sum ()、 m

10、ean ()、exp (x) 、log (x)、log10 (x)、log2(x) 、sin (x)、arsin (x)n截取函數(shù):ceil (x)、floor (x)、int (x)、round (x,n)n字符函數(shù):index (S, S1)、substr (S , p, n)、scan(S2,n)、upcase(S)、compress(S,S1)24SAS函數(shù)二(部分)nSAS系統(tǒng)存貯日期值為1960年1月1日到指定日期之間的天數(shù)nSAS存貯時間值為從午夜開始到指定時間的秒數(shù)n日期時間值存貯為1960年1月1日午夜到指定日期時間之間的秒數(shù)n日期時間函數(shù):weekday ( )、day()

11、、month()、qtr()、year()25SAS函數(shù)三(部分)n概率統(tǒng)計函數(shù):probnorm (x)n (of X1-Xn)、nmiss (of X1-Xn),var (of x1-xn)、std (of x1-xn)n隨機數(shù)函數(shù):rannor (seed)、ranuni (seed)nFunctions例26DATA步n文件操作語句n運行語句n控制語句n信息語句27DATA步流程nDATA語句標(biāo)志了數(shù)據(jù)步開始,并指定了數(shù)據(jù)步結(jié)束時要生成的數(shù)據(jù)集名字。n每次讀入一行數(shù)據(jù),讀入后執(zhí)行數(shù)據(jù)步中的其它語句,循環(huán)數(shù)據(jù)步讀取整個數(shù)據(jù)。n_N_變量表示DATA步已經(jīng)執(zhí)行的次數(shù)n_error_變量值為

12、1時表示程序出錯nFlow例28DATA步流程(Flow1例)(*)n讀外部數(shù)據(jù)時,數(shù)據(jù)步迭代(即每一次)的開始把變量的值置為缺失值,有幾種情況例外:1、retain語句提到的變量2、sum語句中創(chuàng)建的變量3、數(shù)組_temporary_中的數(shù)據(jù)元4、file和infile語句選項中創(chuàng)建的變量5、自動變量n讀sas數(shù)據(jù)集時,只在第一次迭代時把變量值置為缺失,以后變量保留其值直至新值寫入29文件操作語句DATA語句nDATA語句的選項DROP選項(不列出某些變量)KEEP選項(列出某些變量)LABEL選項(給數(shù)據(jù)集加標(biāo)簽)RENAME選項(重命名變量)nData例30DATA語句n數(shù)據(jù)集名字:(d

13、ata2例)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語句n分組格式:input (g1-g5) (3*7.2 , 2*5.2); input (a b) ( $5.)input (a b) ($ , 5.)n無需分行而按變量連貫讀數(shù)據(jù)n固定該數(shù)據(jù)行;用于需要多個input語句同時讀取一行數(shù)據(jù)。input例,Input例32Input

14、語句n利用n +n #n 進行指針控制input1例33Input語句n幾個特殊符號的用法(: & ): 讀值時第一次遇到分隔符、或是數(shù)據(jù)行末尾、或是讀滿列數(shù)而結(jié)束 字符型輸入值可以嵌有一個或幾個空格 字符型輸入值保留引號(與infile 語句中選項dsd一起使用才有效)nInput2例34Cards語句nCards語句與datalines語句可以通用n如果輸入數(shù)據(jù)中含有分號,可用cards4語句或datalines4語句,同時,數(shù)據(jù)結(jié)尾用4個分號表示數(shù)據(jù)輸入結(jié)束nCards4例35Put 語句nPut語句負責(zé)在log窗口輸出一些結(jié)果,file print選項可把輸出轉(zhuǎn)移到output窗口nP

15、ut _infile_ (輸出最新的數(shù)據(jù)行到SAS log 窗口)nPut _all_ (輸出所有變量的值)nPut _page_ (輸出新頁)nPut例、put1例36File 語句nFile print 把put語句產(chǎn)生的輸出結(jié)果轉(zhuǎn)移到output窗口nPut例37By 語句n在DATA步中,SAS系統(tǒng)對每個BY組創(chuàng)建兩個臨時變量:First .variableLast .variable它們用來區(qū)別每個BY組的第一個和最后一個觀測nBy例38Set語句n使用set語句復(fù)制數(shù)據(jù)集nPoint選項指明要讀入的記錄序號set 數(shù)據(jù)集 point=指針變量;可用于抽樣,一般與output語句連用

16、nNobs選項創(chuàng)建一個臨時變量用來存儲數(shù)據(jù)集的觀測總數(shù)n見set例,point例39Set語句nSet語句可以串接多個數(shù)據(jù)集,形式如下nData 數(shù)據(jù)集; set 數(shù)據(jù)集A 數(shù)據(jù)集B ; Run;nRename選項負責(zé)改名;in選項產(chǎn)生變量負責(zé)記錄觀測來自該數(shù)據(jù)集;n見set2例40Merge語句n使用Merge語句并接多個數(shù)據(jù)集,形式如下nData 數(shù)據(jù)集;merge 數(shù)據(jù)集1 數(shù)據(jù)集2 ;by 變量;run;n見merge例41Update 語句nUpdate語句用一個升級數(shù)據(jù)集中的觀測來修改一個主數(shù)據(jù)集。nUpdate語句一定要與BY語句一起使用,BY語句給出了合并觀測時共同變量的名字n

17、主數(shù)據(jù)集中的共同變量必須是單值的,即不能有兩個或兩個以上的觀測其共同變量值相同nUpdate例42Infile語句nDelimiter (DLM)選項:規(guī)定一個字符替代空格作為分隔符。nFirstobs選項 :不是從文件的第一個記錄開始,而是從指定行開始讀取記錄nObs選項:規(guī)定用戶想從輸入文件中連續(xù)讀取的最后一個記錄號nInfile(dlm)例、 Infile(obs)例43Infile語句nDSD選項:1、使最外層引號括起的內(nèi)容當(dāng)成整個字符串輸入,并去除最外層引號2、默認(rèn)分隔符為逗號3、兩個相鄰的分隔符意味著前一個分隔符后的字段為缺失值nInfile(dsd)例 (回顧input2例)44

18、Infile語句n當(dāng)行末尾數(shù)據(jù)寬度少于規(guī)定寬度時Flowover: 默認(rèn)選項,將下一條記錄讀入Missover:將變量置為缺失Truncover:將數(shù)據(jù)直接讀入,不管寬度是否少于規(guī)定寬度Stopover:系統(tǒng)終止數(shù)據(jù)步執(zhí)行,報告出錯nMissover例45Infile語句nLrecl=n選項:設(shè)定源數(shù)據(jù)文件行的物理長度,缺省為256,最大可設(shè)為32767nPad | Nopad選項:pad選項指當(dāng)寬度少于規(guī)定寬度時,在后面填充空格至Lrecl=n規(guī)定的行長度,缺省為nopadnMissover例46運行(算)語句賦值語句和累加語句n賦值Variable = expression例:x=a +

19、b;n累加 Variable + expression例:if x=5 then n+1;例:n+(-1)n累加語句中的變量必須是數(shù)值型變量,初始值為047Delete和lostcard(*)語句nDelete語句告訴SAS系統(tǒng)停止處理當(dāng)前的觀測,并且返回到這個Data步的開頭處理其他觀測n當(dāng)SAS系統(tǒng)遇到用幾個記錄表示一個觀測的時候,數(shù)據(jù)中有丟失記錄時,使用Lostcard語句來重新對準(zhǔn)輸入數(shù)據(jù)ndelete例,lostcard例48Stop和abort語句n用stop語句來停止處理data步,正被處理的那個觀測沒有添加到SAS數(shù)據(jù)集中,stop語句不影響后面的任意data步或proc步的執(zhí)

20、行n用abort語句來中止SAS系統(tǒng)執(zhí)行當(dāng)前DATA步,return選項關(guān)閉SAS并返回操作系統(tǒng)。nStop與abort的區(qū)別在于abort語句置_error_變量為1nAbort例49Where 語句n從已存在的SAS數(shù)據(jù)集選擇子集,在把觀測讀入之前規(guī)定數(shù)據(jù)必須滿足一個條件nWhere 語句與if語句相比在讀取數(shù)據(jù)時更為高效,因其在移動所有觀測到子集之前先選擇數(shù)據(jù)。nWhere語句豐富的表達式nwhere例50Output語句nDATA步的每次迭代,后臺自動使用output語句,但如果程序中主動加上output語句,即相當(dāng)于取消自動output語句,變成在條件符合時輸出。noutput例51

21、Output語句n用到output語句其他情況:output123例1.從一個輸入的數(shù)據(jù)文件中,創(chuàng)建幾個SAS數(shù)據(jù)集2.從輸入的每個數(shù)據(jù)行中,創(chuàng)建二個或更多個觀測3.把幾個輸入觀測組合并成為一個觀測n后面接名字表示輸出到指定數(shù)據(jù)集,但名字必須也在DATA后出現(xiàn)52Call語句n調(diào)用其他子程序call routine (parameter-1 ) 如SAS提供一系列隨機數(shù)子程序n發(fā)布操作系統(tǒng)命令call system (command) nCall例(*)、Call_system例53控制語句Do語句(循環(huán)語句)nDO語句規(guī)定,在DO后面直到出現(xiàn)END語句之前的這些語句作為一個單元被執(zhí)行。n簡單

22、DO語句,常用在if-then/else語句里n循環(huán)DO語句,用下標(biāo)變量規(guī)定重復(fù)次數(shù)do i=1 to 10;do i=1 to exit;do i=2 to 8 by 2;nDo_simple例,do例,do_exit例54Do while語句n當(dāng)條件成立時重復(fù)執(zhí)行Do組里的語句Do while (expression);n括號里的表達式在Do組里的語句被執(zhí)行前在循環(huán)的開頭被計算。如果表達式是真的,Do組被執(zhí)行nDo while例55Do until語句n有條件地執(zhí)行Do組里的語句,在循環(huán)的最后而不是在循環(huán)的開頭計算表達式,如果表達式是真的,Do組就不再被執(zhí)行。nDo組里的語句至少執(zhí)行一次。

23、nDo until例56Select語句n允許SAS去執(zhí)行幾個語句或者語句組中的一個。n當(dāng)一個特殊條件為真時,執(zhí)行對應(yīng)when語句,如果所有when條件均不成立,選擇執(zhí)行otherwise語句,用end結(jié)束nSelect(when)例57If語句n1.形如:IF expression THEN statement; ELSE statement;2.形如:IF variable例:if x then y=x;當(dāng)變量x的值為0和缺失之外的任意值時表達式均為真nIf_else例、If_x例58Return語句n告訴SAS系統(tǒng)在data步當(dāng)前這個位置上停止執(zhí)行語句并在繼續(xù)執(zhí)行之前返回到一個預(yù)定的位置

24、(通常是data步開頭)n當(dāng)return語句使得SAS返回到data步開頭時,SAS首先輸出當(dāng)前觀測到新數(shù)據(jù)集中。n每個data步都有一個隱含的return語句作為最后一個可執(zhí)行的語句nReturn例59Go to語句n告訴SAS系統(tǒng)立即轉(zhuǎn)到Go to語句所指示的那個語句,并從那個語句開始執(zhí)行后面的語句。n形如:GO TO label;label規(guī)定語句標(biāo)號來指示Go to的目標(biāo),它必須與go to語句在同一個data步nReturn選項規(guī)定返回而不執(zhí)行下面語句nGo to例60Link語句(*)n形如link label;n立即轉(zhuǎn)到由label語句指示的位置,并從那里開始繼續(xù)執(zhí)行語句直到一個

25、return語句被執(zhí)行。n與goto語句的區(qū)別是:標(biāo)簽內(nèi)的return語句讓SAS立即返回到link語句后面的那個語句并從那里繼續(xù)執(zhí)行nLink例61Continue和leave語句nContinue語句使得某個do循環(huán)中當(dāng)前這次循環(huán)過程停止進行,并繼續(xù)進行下一次循環(huán)過程。nLeave語句停止當(dāng)前整個do組循環(huán)或select組的處理過程,并用跟在do組或select組后面的下一個語句繼續(xù)執(zhí)行data步nContinue例,leave例62循環(huán)的嵌套(*)Do(do)例、select(do)例63怎樣選擇使用不同的控制語句nDO:多次執(zhí)行同樣的代碼塊nDO while:當(dāng)while條件為真時,多

26、次執(zhí)行同樣的代碼塊nDO until:多次執(zhí)行同樣的代碼塊,直到until條件為真,代碼塊總會執(zhí)行一次nSELECT:知道明確的離散選擇項時使用nIF:希望從2個或多個可能的事件中完成一個,允許連續(xù)選擇項64怎樣選擇使用不同的控制語句n跳轉(zhuǎn)代碼(go to,link):需要暫停主代碼,執(zhí)行“標(biāo)簽”指明的其它代碼n中止代碼(return,continue,leave):負責(zé)某種形式的中止。65信息語句數(shù)組(array)語句n當(dāng)需要用同一種方法處理很多變量時,可以用數(shù)組語句定義這組變量為某個數(shù)組中的元素。n1.顯示下標(biāo)array語句:由一個數(shù)組名字,在數(shù)組中元素個數(shù)的說明,及元素列表組成。n2.隱

27、含下標(biāo)array語句:由一個數(shù)組名字、一個下標(biāo)變量和列表名組成。66顯示下標(biāo)array語句n形如:ARRAY array-name subscript 例 array simple3 red green yellow; array x5,3 score1-score15; array c3等價于array c3 c1-c3array test3 t1 t2 t3 (90 80 70) 數(shù)組中的變量必須全是數(shù)值型或字符串型,array例67顯示下標(biāo)array語句n規(guī)定數(shù)組中每一維的上下界:array x1:5,1:3 score1-score15;n*表示SAS系統(tǒng)通過數(shù)組中變量的個數(shù)來確定下標(biāo)

28、??捎胐im(數(shù)組名)函數(shù)計算數(shù)組元素個數(shù)。n_temporary_建立一個臨時數(shù)組元素列表narray(dim)例,array(temporary)例,array(prod)例68隱含下標(biāo)array語句n形如:ARRAY array-name array-elements n如果沒有規(guī)定下標(biāo)變量,SAS系統(tǒng)使用自動變量_i_作為下標(biāo)變量,下標(biāo)變量范圍從1到這個數(shù)組元素的個數(shù)n如:array x x1-x5nArray(s)例69Do over語句nDo over 語句對每個數(shù)組元素自動地執(zhí)行Do組中的語句,它等價于 do i=1 to k;其中i是這個數(shù)組的下標(biāo)變量,k是數(shù)組元素的個數(shù)。nD

29、o over語句常用在對隱含下標(biāo)數(shù)組元素執(zhí)行Do組里的語句nDo over例70Informat語句nInformat語句把輸入格式與變量聯(lián)系起來,在data步,可以用informat語句對input語句中列出的變量規(guī)定缺省時的輸入格式ninformat例71Format語句n在data步把變量同輸出格式聯(lián)系起來n可以規(guī)定缺省選項,如:format default=8.2;nFormat(informat)例,format_=例,72Drop和keep語句nDrop語句:刪掉變量語句drop variable-listnKeep語句:保留變量語句keep variable-listn雖然出現(xiàn)在

30、drop和keep語句中的變量不包含在正被創(chuàng)建的SAS數(shù)據(jù)集中,但這些變量仍可以用在程序語句中nDrop和keep不能同時使用73Retain語句n使用retain給變量賦予初值,并保留到讀下一個觀測retain month1-month5 1retain var1-var4 (1,2,3,4)當(dāng)retain后無變量時,用input或賦值語句創(chuàng)建的所有變量的值,保留上次data步執(zhí)行的值nRetain例、retain2例74Attrib語句n在data步內(nèi)允許用一個attrib語句來規(guī)定一個或幾個變量的輸出、輸入格式,標(biāo)簽和長度,即規(guī)定變量屬性nAttrib x label=中國載人飛船 le

31、ngth=4 informat=8.5 format=8.2;nAttrib例75Window語句n創(chuàng)建用戶專用的窗口,可用來顯示文字說明或接受輸入的數(shù)據(jù)nWindow例76上機練習(xí)1n編制程序:六個變量id d1-d5,數(shù)據(jù)節(jié)選如下:1 2 7 23 100 1000 2 3 33 54 56 10003 . 4 6 44 100n要求:如果相鄰數(shù)據(jù)小于等于7,則置為缺失,數(shù)據(jù)結(jié)果應(yīng)如下:n1 . . 23 100 10002 3 33 . . 10003 . . . 44 10077上機練習(xí)2(ex2例)n編制程序:3個變量d1-d3,數(shù)據(jù)節(jié)選如下:1 2 7 2 3 . 3 . 4n要求

32、:如果發(fā)現(xiàn)缺失值 ,即用該列數(shù)據(jù)的平均值來代替,數(shù)據(jù)結(jié)果應(yīng)如下:n1 2 7 2 3 5.5 3 2.5 4 78Proc步的通用語句(Reg例)nProc 用在proc步的開頭并規(guī)定用戶使用的SAS過程名字及其他信息nVar規(guī)定用這個過程分析的一些變量nModel規(guī)定在模型中類似表示因變量(左)和自變量(右)的這樣一些變量及其他信息nWeight規(guī)定一個變量,它的值是這些觀測的相應(yīng)權(quán)數(shù)79Proc步及通用語句nFreq規(guī)定一個變量,其值表示頻數(shù)nId規(guī)定一個或幾個變量,他們的值在打印輸出中或由此過程產(chǎn)生的SAS數(shù)據(jù)集中用來識別觀測nWhere在SAS把觀測引入proc步之前,用來選擇符合特殊

33、條件的觀測nClass在分析中指定一些變量為分類變量80Proc步及通用語句nBy規(guī)定一些變量,SAS過程對輸入數(shù)據(jù)集用by變量定義的幾個數(shù)據(jù)組分別進行分析處理nOutput給出用該過程產(chǎn)生的輸出數(shù)據(jù)集的信息nQuit結(jié)束交互式的過程n其他如Attrib屬性語句、format輸出格式語句、label標(biāo)簽語句等81Transpose(轉(zhuǎn)置過程)nTranspose過程完成對sas數(shù)據(jù)集的轉(zhuǎn)置,即把觀測變?yōu)樽兞?,變量變?yōu)橛^測。nOut選項規(guī)定輸出數(shù)據(jù)集nPrefix選項規(guī)定轉(zhuǎn)置后的變量名前綴nId選項使用其后規(guī)定的變量值作為輸出數(shù)據(jù)集中被轉(zhuǎn)置的變量名nTranspose例82Means均值過程n計

34、算數(shù)據(jù)集中數(shù)值變量的簡單統(tǒng)計量nT選項:檢驗數(shù)據(jù)總體均值為0的假設(shè)時,t統(tǒng)計量的值nPrt選項:Prob |T| , 數(shù)據(jù)總體均值為0的概率是多少n默認(rèn)生成的_type_和_freq_變量分別規(guī)定分組數(shù)(如果有)和頻率nMeans例,weight例,freq例83Means均值過程nMaxdec選項規(guī)定輸出結(jié)果的小數(shù)部分最大位數(shù)n可以輸出的統(tǒng)計量:N, Nmiss, mean, std, min, max, range, sum, var, uss, css, cv(變異系數(shù)), stderr, t, prt, sumwgt, skewness(偏度), kurtosis(峰度), clm(置

35、信限), lclm(置信下限), uclm(置信上限)84Format過程(format_num,char,lowhigh例)n使用Format過程把輸出格式同Data步、Proc步的變量聯(lián)系起來。n輸出格式一:SAS格式n輸出格式二:Format定義的格式,形如value 格式名 變量值=自定義值;proc ;format 變量 格式名.;85Format過程n輸出格式三:圖示輸出,只適用于數(shù)值型變量,形如picture 格式名 other格式化值;proc ;format 變量 格式名.;nFormat_picture例86Plot過程n對數(shù)據(jù)集中任兩個變量的n個觀測值畫出散點圖,第一個變

36、量表示y軸,第二個表示為x軸n兩種情況:plot y*x=+;(規(guī)定一個字符作為作圖字符)plot y*x=sex;(作圖字符由變量的值給出)87Plot過程nVref(Href)要求散布圖在垂直(或水平)軸的一些規(guī)定值上畫水平線(或垂直線)作為參照線n/overlap選項:在同一張圖上作兩個以上的散點圖。如:plot y*x a*b /overlay;nPlot(函數(shù))例88Standard標(biāo)準(zhǔn)化過程n目的是使不同量綱的變量能互相比較nStandard過程按給定的均值和標(biāo)準(zhǔn)差對數(shù)據(jù)集中的變量進行標(biāo)準(zhǔn)化變換,并生成一個包含標(biāo)準(zhǔn)化值的新SAS數(shù)據(jù)集nMean=mean-value: 規(guī)定均值nS

37、td=std-value: 規(guī)定標(biāo)準(zhǔn)差nStandard例89Rank過程n與其研究數(shù)值大小不如研究排序的情況n該過程把數(shù)值從最小到最大排列,對最小值賦予秩1,對第二小值賦予秩2,一直到賦予秩n,即未丟失的觀測個數(shù)。n出現(xiàn)結(jié)值(tie)時,其秩可以賦予平均秩或高秩或低秩。nRanks 選項分配求秩后的變量名 nRank例90Univariate過程n又稱單變量過程,可以求單個變量的大部分統(tǒng)計指標(biāo)nNormal選項:要求對數(shù)據(jù)服從正態(tài)分布(原假設(shè))進行檢驗。當(dāng)樣本容量2000時,使用D統(tǒng)計量檢驗91Univariate過程nOutput out=datasets要求輸出包含指定統(tǒng)計量的數(shù)據(jù)集nP

38、ctlpts規(guī)定該過程不能自動提供而用戶又希望計算的百分位數(shù)nPctlpre要求給出百分位數(shù)的輸出變量名的前綴,pctlname后綴。nUnivariate例92Corr過程n計算變量間的相關(guān)系數(shù)n相關(guān)是對兩個變量間線性關(guān)系強弱程度的一種測度。n如果一個變量恰好可表示成另一個變量Y的線性函數(shù),那么相關(guān)系數(shù)為1或-1,即正相關(guān)或負相關(guān)。如果兩變量間的相關(guān)系數(shù)為0,這意味著兩變量無線性關(guān)系。nCorr例93Options過程n列出SAS系統(tǒng)選項的當(dāng)前值。nSAS系統(tǒng)選項是SAS系統(tǒng)用來控制SAS數(shù)據(jù)集的處理,輸出的格式和內(nèi)容等的全局選項n系統(tǒng)選項的優(yōu)先次序:options語句配置文件缺省設(shè)置n例:

39、options nodate;nOptions(view)例,options例94Printto過程n該過程用來定義SAS過程輸出和SAS日志輸出的地點nPrint選項規(guī)定輸出結(jié)果存放地點nLog選項規(guī)定輸出日志存放地點nNew選項表示要覆蓋已存在的文件,如無new選項但有已存在的文件名,則在已有的文件內(nèi)容后追加nPrintto例95Compare過程n該過程用來比較兩個SAS數(shù)據(jù)集中的內(nèi)容n用base和compare選項分別規(guī)定待比較的兩個數(shù)據(jù)集nCompare例96Datasets數(shù)據(jù)庫管理過程n該過程用來對SAS數(shù)據(jù)庫中的SAS文件進行列表、拷貝、更名,添加和刪除等操作nDatasets

40、是交互過程,可以不斷插入并執(zhí)行該過程的相關(guān)語句而不用重復(fù)調(diào)用Datasets,但可以使用quit語句或另一個proc步或data步來終止此過程nDatasets1例97Datasets過程nIndex create :創(chuàng)建簡單或復(fù)合索引nPw (read、write、alter):設(shè)置密碼nRepair member-name: 在適當(dāng)情況下試圖重新存貯被損壞的SAS數(shù)據(jù)集或目錄nDatasets(index)例、datasets(pw)例98SQL過程nSQL 結(jié)構(gòu)查詢語言(Structured Query Language) 是一個標(biāo)準(zhǔn)化的廣泛使用的語言,可以檢索和更新關(guān)系表格和數(shù)據(jù)庫中的

41、數(shù)據(jù)。n關(guān)系,類似于數(shù)學(xué)中的集合概念,實際上被表現(xiàn)為一些排列成行和列的二維表格(關(guān)系數(shù)據(jù)庫)99SQL過程nSQL語句的特征:子句內(nèi)的項用逗號分開;不需規(guī)定Run語句;100SQL過程nSelect語句用來檢索和操作存于表中的數(shù)據(jù)。(order從句,format選項)nCreate語句生成表格nUpdate語句增加或修改在表格的列里的數(shù)值,Insert和Delete語句插入和刪除行,用Alter語句增加、修改、刪去列來修改表格。101SQL過程nDelete語句從表中刪去where表達式為真的所有行nInsert to往一個新的或已存在的表中加入新的行nSql例102全程語句nQuit, ru

42、n, endsas :分別為結(jié)束、運行SAS語句、關(guān)閉SAS系統(tǒng)nTitle, footnote:添加標(biāo)題和腳注nFilename:對一個外部文件定義標(biāo)記nLibname:對一個SAS數(shù)據(jù)庫定義標(biāo)記nFilename例,libname例103全程語句nMissing語句規(guī)定表示缺失值的字符,通常出現(xiàn)在data語句中,但其作用范圍是全局的。nPage語句使得日志跳到新一頁nSkip語句使得日志跳過規(guī)定的行數(shù)n%include語句從外部文件讀出SAS語句或數(shù)據(jù)行并執(zhí)行:nMissing例,page例,skip例,Include1例104Tabulate制表過程(Tabulate例)n由分類變量、分

43、析變量和統(tǒng)計量關(guān)鍵詞組成的表達式構(gòu)成描述性統(tǒng)計報表。nTabulate過程的Table語句的操作符(星號、空格、園括號,逗號)1.交叉連接項,即嵌套(使用*號)2.項與項之間的并列連接,即平行(使用空格)3.改變次序(使用園括號)105Tabulate制表過程n4.產(chǎn)生的報表最多三維:如果包含二維,次序為行、列;如果包含三維,次序為頁、行、列。(維表達式間用逗號隔開;) 5. 用定義Pctn統(tǒng)計量的分母n分類變量必須在class語句中說明n分析變量必須在var語句中列出106Tabulate制表過程nProc tabulate過程的其他語句1. missing選項:要求把缺失值作為分類變量的有

44、效水平2. order=freq | data | internal | formatted規(guī)定報表中分類變量值出現(xiàn)的次序freq: 按頻數(shù)下降的次序data: 按原數(shù)據(jù)集中出現(xiàn)的先后次序internal: 按非格式化值的次序formatted: 按格式化值的次序107Tabulate制表過程nLabel語句用來對變量加標(biāo)簽nKeylabel語句用來對統(tǒng)計量加標(biāo)簽n統(tǒng)計量:N(字符型變量的默認(rèn)統(tǒng)計量), Nmiss, Mean, Std, Min, Max,Range, Sum(數(shù)值型變量默認(rèn)統(tǒng)計量),Var, Pctn(頻數(shù)N的百分?jǐn)?shù),后面參數(shù)為列變量則是行百分比,后面參數(shù)為行變量則是列百分

45、比)nF或format表示輸出使用一定的格式,如:a*f=8.2;108Tabulate制表過程n全類變量all,當(dāng)all嵌入某個交叉時,all不考慮分類變量的水平,而用all來生成子集和及總和。如 B*(A all)、(all B)* (all A)nTabulate1例109上機練習(xí)n按tabulate1例,模擬編制類似數(shù)據(jù),練習(xí)各種制表方法110第五部分SAS/stat 模塊nSTAT模塊的過程介紹111Freq過程(freq_cows,_eye例)nFreq過程用于產(chǎn)生單向到n向的頻數(shù)表或交叉表以及針對表格的各種統(tǒng)計量。n用星號連接起來的變量,最后一個變量的值形成列,倒數(shù)第二個變量的值

46、形成行,其余變量的每一個水平形成一層。如:table a*b*c*d;n使用chisq卡方統(tǒng)計量,檢驗變量間的相關(guān)性,原假設(shè)為變量間不相關(guān)112SAS宏n利用宏可以減少在完成一些共同任務(wù)時必須輸入的文本量n利用宏可以使程序模塊化,使程序易讀、便于修改、移植、方便重復(fù)使用113SAS宏變量n宏變量屬于SAS宏語言,與普通變量的區(qū)別是可以獨立于DATA步n可以在SAS程序中除數(shù)據(jù)行之外的任何地方定義并使用宏變量n%let語句定義宏變量并分配一個值給宏變量(如:%let dsn=3)n當(dāng)引用一個宏變量的值,放&號在宏變量前114SAS宏變量(macro_str,_var,_auto例)n使用%str

47、函數(shù)圍住宏變量的值,使得在這個值內(nèi)部的分號作為這個文本的部分,而不是%let語句的結(jié)束n使用%put語句在LOG窗口顯示宏變量的值nSAS/BASE中的自動宏變量,如:sysver, systime(給出SAS程序或會話開始執(zhí)行的時間);115SAS宏n用%macro語句開始一個宏,同時給出這個宏的名字。如:%macro dsn;用%mend語句結(jié)束一個宏,其后給出宏名字。如:%mend dsn;n放一個百分?jǐn)?shù)符號(%)在宏名字的前面以調(diào)用一個宏,如%dsnnMacro例116宏參數(shù)n被定義在一個%macro語句的宏名字后括號內(nèi)的宏變量稱為宏參數(shù),可以直接給出宏參數(shù)的值,也可以在調(diào)用這個宏時給出這些參數(shù)的值。n對參數(shù)分配的值只在這個宏執(zhí)行時有效,而宏變量從用戶創(chuàng)建直到SAS會話結(jié)束前都存在nmacroP1例、macroP2例117SAS錯誤的處理n一、句法錯誤:當(dāng)程序語句與SAS語言準(zhǔn)則不一致時發(fā)現(xiàn)的錯誤,如關(guān)鍵詞拼錯,少掉分號等。n二、詞義錯誤:元素在當(dāng)前程序語句中的用法是無效時產(chǎn)生,如do over an

溫馨提示

  • 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

提交評論