




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1n課程名稱:課程名稱: SAS培訓(xùn)班講義培訓(xùn)班講義n講師:講師: 趙堅毅趙堅毅n網(wǎng)址:網(wǎng)址:2第一部分 課程介紹n培訓(xùn)內(nèi)容:使學員掌握SAS的界面使用和基本編程使用,為學習和應(yīng)用SAS的其他專業(yè)功能奠定堅實的基礎(chǔ)。n使用SAS進行數(shù)據(jù)分析和處理3推薦教材n1 SAS系統(tǒng)的幫助以及在線文檔,都是學習SAS的很好的工具。 http:/ SAS系統(tǒng)Base SAS 軟件使用手冊 高惠璇等編譯, 中國統(tǒng)計出版社1997 n3.SAS 系統(tǒng)SAS/STAT軟件使用手冊高惠璇等編譯, 中國統(tǒng)計出版社1997 n4. 實用統(tǒng)計方法與SAS系統(tǒng)高惠璇 北京大學出版社
2、20014數(shù)據(jù)類型na. 橫截面數(shù)據(jù)集(cross-sectional data set):即給定時點對個人、家庭、企業(yè)、國家或一系列其他單位采集的樣本所構(gòu)成的數(shù)據(jù)集(應(yīng)該忽略細小的時間差別)n名詞術(shù)語1、數(shù)據(jù)集:數(shù)據(jù)的集合,由樣本(行)和變量(列)組成5數(shù)據(jù)類型nb.時間序列數(shù)據(jù)集(time series data set):是由一個或幾個變量在不同時間的觀測值所構(gòu)成的。nc.混合橫截面數(shù)據(jù)集(pooled cross section data set):有些數(shù)據(jù)既有橫截面數(shù)據(jù)的特點又有時間序列的特點,但每一時點的樣本不同。6數(shù)據(jù)類型nd.綜列數(shù)據(jù)集(panel data set):由橫截面
3、數(shù)據(jù)集中每個樣本的一個時間序列組成。(定點長期調(diào)查)n其他專門數(shù)據(jù)類型: 1、離散數(shù)據(jù)(discrete data):通常在考察個人、家庭或企業(yè)的決策行為時,通過問卷調(diào)查獲得,由此發(fā)展出“離散選擇模型”。定量數(shù)據(jù)與定性數(shù)據(jù)7數(shù)據(jù)集類型2、持續(xù)數(shù)據(jù)(survival data):用于考察變量從開始到結(jié)束或調(diào)查終止前所經(jīng)過的時間長度,如失業(yè)持續(xù)時間、罷工持續(xù)時間,股市牛熊市持續(xù)時間8使用SAS進行數(shù)據(jù)處理的應(yīng)用實例n商場應(yīng)用:在美國大型超市WalMart (沃爾瑪)發(fā)生的實例:在星期四,年輕夫婦為準備周末通常同時購買尿布和啤酒,因此把尿布和啤酒放在一起會提高效率。 9數(shù)據(jù)處理的應(yīng)用n天文學(ski
4、cat系統(tǒng)處理天文數(shù)據(jù)發(fā)現(xiàn)類星體)n生物學(人類基因組計劃處理人體數(shù)據(jù)研究基因)n市場營銷(貨籃分析)n公司財務(wù)的處理(記流水帳)n經(jīng)濟論文寫作中的實證部分10數(shù)據(jù)處理的應(yīng)用n“今天,我們不得不生存在全球化和信息革命影響下的世界,我們只有兩個選擇:適應(yīng)它,或者被它拋棄?!眓英特爾公司主席安德魯格魯夫n1995年尼葛洛龐帝的數(shù)字化生存一書指明了即將到來的數(shù)字時代,而在未來一長段時間,數(shù)字化生存仍將是人類的主要生存方式,在經(jīng)濟學領(lǐng)域也不外如是。11第二部分 SAS系統(tǒng)入門SAS系統(tǒng)概況n大型集成、跨平臺軟件系統(tǒng) n完備的數(shù)據(jù)訪問(Access)、管理(manage)、分析(analyze)和呈現(xiàn)(
5、present)及應(yīng)用開發(fā)(develop)的功能 n在數(shù)據(jù)處理、統(tǒng)計分析和IT應(yīng)用領(lǐng)域,SAS系統(tǒng)已經(jīng)成為國際上的標準軟件系統(tǒng)。12SAS的發(fā)展歷程一n1966年由美國北卡羅來納州(NorthCarolina)州立大學開始研制 n1976年成立美國SAS軟件研究所,并開始對SAS系統(tǒng)進行維護、開發(fā)、銷售和培訓(xùn)等工作 n1985年推出了SAS/PC(6.02)版本 13SAS發(fā)展歷程二n1989年推出SAS/PC(6.04)版本 n1997年下半年推出適用于多種操作系統(tǒng)的6.12版本 n2000年2月又正式推出SAS系統(tǒng)8版本 n2002年推出全新的SAS9版本14SAS在中國的發(fā)展nSAS公
6、司于1989年在北京成立了辦事處 n1997年,SAS軟件研究所正式宣布成立大中國區(qū) n1999年3月在國內(nèi)設(shè)立獨資公司賽仕軟件(上海)有限公司。15SAS的成績n全球十大獨立軟件開發(fā)商之一 n世界六大洲近50個國家或地區(qū)設(shè)有分公司及分支機構(gòu) n應(yīng)用遍及120多個國家和地區(qū)(包括中國)的31000多個機構(gòu)中 n全球100家最大公司中的90多家都在應(yīng)用SAS系統(tǒng)。16SAS模塊介紹nBase SAS: 1、數(shù)據(jù)管理功能數(shù)據(jù)管理功能2、基礎(chǔ)統(tǒng)計計算功能、基礎(chǔ)統(tǒng)計計算功能 3、報表生成和圖形顯示功能報表生成和圖形顯示功能 17nSAS/STAT 統(tǒng)計分析nSAS/INSIGHT 數(shù)據(jù)探索nSAS/A
7、SSIST 面向任務(wù)的易學易用模塊nSAS/ETS 時間序列處理nSAS/OR 運籌學和工程管理nSAS/QC 質(zhì)量控制nSAS/IML 矩陣運算nSAS/GRAPH 繪圖nSAS/AF 面向?qū)ο缶幊?OOP)的應(yīng)用開發(fā)工具,拓展SAS的功能18nSAS/EIS 面向?qū)ο缶幊痰拈_發(fā)工具,用于開發(fā)企業(yè)信息系統(tǒng)nSAS/ACCESS 數(shù)據(jù)訪問 nSAS/TOOLKIT 擴充工具,把用其他軟件編寫的程序轉(zhuǎn)化成SAS的組成部分nSAS/Warehouse Administrator 數(shù)據(jù)倉庫管理nSAS/Enterprise Miner 數(shù)據(jù)挖掘nSAS/Text Miner 文本挖掘nSAS/SHA
8、RE 數(shù)據(jù)庫的并發(fā)式控制專門軟件nSAS/CONNECT 使各平臺SAS系統(tǒng)進行分布式處理,從而有效利用各平臺機器資源19nSAS/GIS 地理信息系統(tǒng)與空間數(shù)據(jù)的顯示分析nSAS/SPECTRAVIEW 數(shù)據(jù)可視化分析工具,用幾何成像的方式來分析多維數(shù)據(jù)nSAS/Intrnet 提供構(gòu)建基于SAS的企業(yè)內(nèi)部網(wǎng)絡(luò)支持nSAS/FSP 快速數(shù)據(jù)處理的交互式菜單系統(tǒng)nSAS/CALC 功能完善的多維電子表格軟件nSAS/ENGLISH 提供利用自然英語獲取信息的能力20nSAS/SECURE 網(wǎng)絡(luò)傳輸加密nSAS/OLAP SERVER 多維數(shù)據(jù)存儲及匯總結(jié)果呈現(xiàn)nSAS/GENETICS: SA
9、S公司的第一個科學研究應(yīng)用軟件,應(yīng)用于遺傳學,有5個分析過程nSAS/High-Performance Forecasting:提供快速高效的預(yù)測結(jié)果nSAS/C, SAS/C+ 針對IBM大型機的開發(fā)工具nSAS/LAB 向?qū)降臄?shù)據(jù)分析軟件,特別針對day-to-day類型數(shù)據(jù)n 21SAS工作空間n程序窗口(PROGRAM EDITOR)n運行記錄窗口(LOG)n輸出窗口(OUTPUT)22SAS程序第一例nSAS/HelloWorld.sasn注:以后程序文件省略后綴,直接簡記為文件名稱,如此例簡記為HelloWorld,需要說明文件類型時才標明后綴。23SAS/Insight模塊 1
10、、界面介紹2、Fill values 功能3、Extract 功能4、Edit/windows/tool菜單使數(shù)據(jù)探索色彩繽紛(注意選項設(shè)置)5、打開分布、擬合、多元等的窗口之后主菜單Tables、Graphs、Curves菜單才被開放。Fly,insurance數(shù)據(jù)集示例24Insight模塊n其他功能:1、分布(輸出大多數(shù)常用的統(tǒng)計量)2、擬合(回歸分析)3、多元(方差分析)25SAS程序的書寫格式n1、SAS程序由語句語句組成,語句用分號結(jié)束。n2、 SAS語句可以從某一行的任意位置開始; n3、幾個SAS語句可以寫在同一行上,但每句要使用分號26SAS程序的書寫格式n4、一個語句也可以
11、寫成幾行,只要語句中的單詞不被斷開就可以。在一個語句中各個單詞之間至少要有一個空格。n5、SAS程序中一般不區(qū)分大小寫(字符串中要區(qū)分大小寫)n6、用/*注釋的內(nèi)容*/來對程序進行注釋27SAS程序的結(jié)構(gòu)nSAS數(shù)據(jù)集樣本(觀測、記錄)、變量(字段、域)、表(數(shù)據(jù)集)、 數(shù)據(jù)庫n許多SAS語句都是以關(guān)鍵詞開始并用它識別語句的類型(如data、input、proc)n絕大部分的SAS語句都可分為兩步:DATA步和PROC步28SAS的變量及格式n變量屬性(名稱、類型、長度、輸入格式、輸出格式、標簽)類型:數(shù)字型、字符串型輸入格式:數(shù)據(jù)被SAS讀取的格式輸出格式:數(shù)據(jù)呈現(xiàn)給人們的格式29SAS程序
12、第二例nSAS/orange.sas輸入數(shù)據(jù)-形成數(shù)據(jù)集-排序-打印顯示30SAS文件及命名n1、SAS數(shù)據(jù)集文件(后綴為sas7bdat)n2、SAS程序文件(后綴為sas)n3、SAS日志文件(后綴為log)n4、SAS輸出文件(后綴為list)31SAS文件及命名n臨時數(shù)據(jù)集和永久數(shù)據(jù)集SAS文件的2級命名方式:目錄.文件名work目錄和其他目錄使用Libname語句創(chuàng)建永久數(shù)據(jù)集,libname 自建目錄名 目錄地址;libname例32建立SAS數(shù)據(jù)集的5種方法1、data步自己輸入數(shù)據(jù)建立。Orange例2、data步利用set 語句建立。Set例3、從外部調(diào)入。Infile例4、
13、利用“導(dǎo)入數(shù)據(jù)”功能建立。Id.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è)檢驗3334SAS運算符(operator例)n算術(shù)運算符:* / *n比較算符:=(EQ) =(NE) (GT) =(GE) (最小值) (最大值) |(?。?連接)35字符的比較(operator_char例)n1、按機器使用的字符排列次序(ASC或Unicode)從左到右被比較。n2、兩
14、個不等長的字符串被比較時,系統(tǒng)在較短的字符串后自動添上空格n3、在比較符后加冒號,則只比較首字母36運算次序一n在括弧里的表達式先計算n第一級:* ()前綴 n第二級:* /n第三級:n第四級:|n第五級:其余比較算符n第六級:n第七級:37運算次序二n對于相同優(yōu)先級的算符,左邊的運算先做。但有兩個例外:n1.對最高優(yōu)先級,右邊的運算先做n2.當兩個比較算符圍著一個量時,這個表達式看成是有一個and 出現(xiàn)一樣被計算。如:12age 20,等價于:12age & age20 38SAS函數(shù)一(部分)n數(shù)學函數(shù):abs()、max ()、min ()、mod (x, y)、sign (x)
15、、sqrt (x)、 sum ()、 mean ()、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)39SAS函數(shù)二(部分)nSAS系統(tǒng)存貯日期值為1960年1月1日到指定日期之間的天數(shù)nSAS存貯時間值為從午夜開始到指定時間的秒數(shù)n日期時間值存貯為1960年1月1日午夜到指定日期時間之間的秒數(shù)n日期時間
16、函數(shù):weekday ( )、day()、month()、qtr()、year()40SAS函數(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例41DATA步n文件操作語句n運行語句n控制語句n信息語句42DATA步流程nDATA語句標志了數(shù)據(jù)步開始,并指定了數(shù)據(jù)步結(jié)束時要生成的數(shù)據(jù)集名字。n每次讀入一行數(shù)據(jù),讀入后執(zhí)行數(shù)據(jù)步中的其它語句,循環(huán)數(shù)據(jù)步讀取整個數(shù)據(jù)。n_N_變量表示DATA
17、步已經(jīng)執(zhí)行的次數(shù)n_error_變量值為1時表示程序出錯nFlow例43DATA步流程(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ù)集時,只在第一次迭代時把變量值置為缺失,以后變量保留其值直至新值寫入44文件操作語句DATA語句nDATA語句的選項DROP選項(不列出某些變量)KEEP選項(列出某些變量)LABEL選項(給數(shù)據(jù)集加標簽)RENAME選項(重命名變量)nDa
18、ta例45DATA語句n數(shù)據(jù)集名字:(data2例)1、data語句后無數(shù)據(jù)集名字,則自動生成 data1, data2等為數(shù)據(jù)集名字,相當于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)容。46Input語句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ù)。
19、input例,Input例47Input語句n利用n +n #n 進行指針控制input1例48Input語句n幾個特殊符號的用法(: & ): 讀值時第一次遇到分隔符、或是數(shù)據(jù)行末尾、或是讀滿列數(shù)而結(jié)束 字符型輸入值可以嵌有一個或幾個空格 字符型輸入值保留引號(與infile 語句中選項dsd一起使用才有效)nInput2例49Cards語句nCards語句與datalines語句可以通用n如果輸入數(shù)據(jù)中含有分號,可用cards4語句或datalines4語句,同時,數(shù)據(jù)結(jié)尾用4個分號表示數(shù)據(jù)輸入結(jié)束nCards4例50Put 語句nPut語句負責在log窗口輸出一些結(jié)果,file
20、print選項可把輸出轉(zhuǎn)移到output窗口nPut _infile_ (輸出最新的數(shù)據(jù)行到SAS log 窗口)nPut _all_ (輸出所有變量的值)nPut _page_ (輸出新頁)nPut例、put1例51File 語句nFile print 把put語句產(chǎn)生的輸出結(jié)果轉(zhuǎn)移到output窗口nPut例52By 語句n在DATA步中,SAS系統(tǒng)對每個BY組創(chuàng)建兩個臨時變量:First .variableLast .variable它們用來區(qū)別每個BY組的第一個和最后一個觀測nBy例53Set語句n使用set語句復(fù)制數(shù)據(jù)集nPoint選項指明要讀入的記錄序號set 數(shù)據(jù)集 point=
21、指針變量;可用于抽樣,一般與output語句連用nNobs選項創(chuàng)建一個臨時變量用來存儲數(shù)據(jù)集的觀測總數(shù)n見set例,point例54Set語句nSet語句可以串接多個數(shù)據(jù)集,形式如下nData 數(shù)據(jù)集; set 數(shù)據(jù)集A 數(shù)據(jù)集B ; Run;nRename選項負責改名;in選項產(chǎn)生變量負責記錄觀測來自該數(shù)據(jù)集;n見set2例55Merge語句n使用Merge語句并接多個數(shù)據(jù)集,形式如下nData 數(shù)據(jù)集;merge 數(shù)據(jù)集1 數(shù)據(jù)集2 ;by 變量;run;n見merge例56Update 語句nUpdate語句用一個升級數(shù)據(jù)集中的觀測來修改一個主數(shù)據(jù)集。nUpdate語句一定要與BY語句一
22、起使用,BY語句給出了合并觀測時共同變量的名字n主數(shù)據(jù)集中的共同變量必須是單值的,即不能有兩個或兩個以上的觀測其共同變量值相同nUpdate例57Infile語句nDelimiter (DLM)選項:規(guī)定一個字符替代空格作為分隔符。nFirstobs選項 :不是從文件的第一個記錄開始,而是從指定行開始讀取記錄nObs選項:規(guī)定用戶想從輸入文件中連續(xù)讀取的最后一個記錄號nInfile(dlm)例、 Infile(obs)例58Infile語句nDSD選項:1、使最外層引號括起的內(nèi)容當成整個字符串輸入,并去除最外層引號2、默認分隔符為逗號3、兩個相鄰的分隔符意味著前一個分隔符后的字段為缺失值nIn
23、file(dsd)例 (回顧input2例)59Infile語句n當行末尾數(shù)據(jù)寬度少于規(guī)定寬度時Flowover: 默認選項,將下一條記錄讀入Missover:將變量置為缺失Truncover:將數(shù)據(jù)直接讀入,不管寬度是否少于規(guī)定寬度Stopover:系統(tǒng)終止數(shù)據(jù)步執(zhí)行,報告出錯nMissover例60Infile語句nLrecl=n選項:設(shè)定源數(shù)據(jù)文件行的物理長度,缺省為256,最大可設(shè)為32767nPad | Nopad選項:pad選項指當寬度少于規(guī)定寬度時,在后面填充空格至Lrecl=n規(guī)定的行長度,缺省為nopadnMissover例61運行(算)語句賦值語句和累加語句n賦值Varia
24、ble = expression例:x=a + b;n累加 Variable + expression例:if x=5 then n+1;例:n+(-1)n累加語句中的變量必須是數(shù)值型變量,初始值為062Delete和lostcard(*)語句nDelete語句告訴SAS系統(tǒng)停止處理當前的觀測,并且返回到這個Data步的開頭處理其他觀測n當SAS系統(tǒng)遇到用幾個記錄表示一個觀測的時候,數(shù)據(jù)中有丟失記錄時,使用Lostcard語句來重新對準輸入數(shù)據(jù)ndelete例,lostcard例63Stop和abort語句n用stop語句來停止處理data步,正被處理的那個觀測沒有添加到SAS數(shù)據(jù)集中,sto
25、p語句不影響后面的任意data步或proc步的執(zhí)行n用abort語句來中止SAS系統(tǒng)執(zhí)行當前DATA步,return選項關(guān)閉SAS并返回操作系統(tǒng)。nStop與abort的區(qū)別在于abort語句置_error_變量為1nAbort例64Where 語句n從已存在的SAS數(shù)據(jù)集選擇子集,在把觀測讀入之前規(guī)定數(shù)據(jù)必須滿足一個條件nWhere 語句與if語句相比在讀取數(shù)據(jù)時更為高效,因其在移動所有觀測到子集之前先選擇數(shù)據(jù)。nWhere語句豐富的表達式nwhere例65Output語句nDATA步的每次迭代,后臺自動使用output語句,但如果程序中主動加上output語句,即相當于取消自動output
26、語句,變成在條件符合時輸出。noutput例66Output語句n用到output語句其他情況:output123例1.從一個輸入的數(shù)據(jù)文件中,創(chuàng)建幾個SAS數(shù)據(jù)集2.從輸入的每個數(shù)據(jù)行中,創(chuàng)建二個或更多個觀測3.把幾個輸入觀測組合并成為一個觀測n后面接名字表示輸出到指定數(shù)據(jù)集,但名字必須也在DATA后出現(xiàn)67Call語句n調(diào)用其他子程序call routine (parameter-1 ) 如SAS提供一系列隨機數(shù)子程序n發(fā)布操作系統(tǒng)命令call system (command) nCall例(*)、Call_system例68控制語句Do語句(循環(huán)語句)nDO語句規(guī)定,在DO后面直到出現(xiàn)E
27、ND語句之前的這些語句作為一個單元被執(zhí)行。n簡單DO語句,常用在if-then/else語句里n循環(huán)DO語句,用下標變量規(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例69Do while語句n當條件成立時重復(fù)執(zhí)行Do組里的語句Do while (expression);n括號里的表達式在Do組里的語句被執(zhí)行前在循環(huán)的開頭被計算。如果表達式是真的,Do組被執(zhí)行nDo while例70Do until語句n有條件地執(zhí)行Do組里的語句,在循環(huán)的最后而不是在循環(huán)的開頭計算表達式,如果表達式是真的,D
28、o組就不再被執(zhí)行。nDo組里的語句至少執(zhí)行一次。nDo until例71Select語句n允許SAS去執(zhí)行幾個語句或者語句組中的一個。n當一個特殊條件為真時,執(zhí)行對應(yīng)when語句,如果所有when條件均不成立,選擇執(zhí)行otherwise語句,用end結(jié)束nSelect(when)例72If語句n1.形如:IF expression THEN statement; ELSE statement;2.形如:IF variable例:if x then y=x;當變量x的值為0和缺失之外的任意值時表達式均為真nIf_else例、If_x例73Return語句n告訴SAS系統(tǒng)在data步當前這個位置上
29、停止執(zhí)行語句并在繼續(xù)執(zhí)行之前返回到一個預(yù)定的位置(通常是data步開頭)n當return語句使得SAS返回到data步開頭時,SAS首先輸出當前觀測到新數(shù)據(jù)集中。n每個data步都有一個隱含的return語句作為最后一個可執(zhí)行的語句nReturn例74Go to語句n告訴SAS系統(tǒng)立即轉(zhuǎn)到Go to語句所指示的那個語句,并從那個語句開始執(zhí)行后面的語句。n形如:GO TO label;label規(guī)定語句標號來指示Go to的目標,它必須與go to語句在同一個data步nReturn選項規(guī)定返回而不執(zhí)行下面語句nGo to例75Link語句(*)n形如link label;n立即轉(zhuǎn)到由label
30、語句指示的位置,并從那里開始繼續(xù)執(zhí)行語句直到一個return語句被執(zhí)行。n與goto語句的區(qū)別是:標簽內(nèi)的return語句讓SAS立即返回到link語句后面的那個語句并從那里繼續(xù)執(zhí)行nLink例76Continue和leave語句nContinue語句使得某個do循環(huán)中當前這次循環(huán)過程停止進行,并繼續(xù)進行下一次循環(huán)過程。nLeave語句停止當前整個do組循環(huán)或select組的處理過程,并用跟在do組或select組后面的下一個語句繼續(xù)執(zhí)行data步nContinue例,leave例77循環(huán)的嵌套(*)Do(do)例、select(do)例78怎樣選擇使用不同的控制語句nDO:多次執(zhí)行同樣的代碼
31、塊nDO while:當while條件為真時,多次執(zhí)行同樣的代碼塊nDO until:多次執(zhí)行同樣的代碼塊,直到until條件為真,代碼塊總會執(zhí)行一次nSELECT:知道明確的離散選擇項時使用nIF:希望從2個或多個可能的事件中完成一個,允許連續(xù)選擇項79怎樣選擇使用不同的控制語句n跳轉(zhuǎn)代碼(go to,link):需要暫停主代碼,執(zhí)行“標簽”指明的其它代碼n中止代碼(return,continue,leave):負責某種形式的中止。80信息語句數(shù)組(array)語句n當需要用同一種方法處理很多變量時,可以用數(shù)組語句定義這組變量為某個數(shù)組中的元素。n1.顯示下標array語句:由一個數(shù)組名字,
32、在數(shù)組中元素個數(shù)的說明,及元素列表組成。n2.隱含下標array語句:由一個數(shù)組名字、一個下標變量和列表名組成。81顯示下標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例82顯示下標array語句n規(guī)定數(shù)組中每一維的上下界:array x1:5,1:3 score1-score15;
33、n*表示SAS系統(tǒng)通過數(shù)組中變量的個數(shù)來確定下標。可用dim(數(shù)組名)函數(shù)計算數(shù)組元素個數(shù)。n_temporary_建立一個臨時數(shù)組元素列表narray(dim)例,array(temporary)例,array(prod)例83隱含下標array語句n形如:ARRAY array-name array-elements n如果沒有規(guī)定下標變量,SAS系統(tǒng)使用自動變量_i_作為下標變量,下標變量范圍從1到這個數(shù)組元素的個數(shù)n如:array x x1-x5nArray(s)例84Do over語句nDo over 語句對每個數(shù)組元素自動地執(zhí)行Do組中的語句,它等價于 do i=1 to k;其中
34、i是這個數(shù)組的下標變量,k是數(shù)組元素的個數(shù)。nDo over語句常用在對隱含下標數(shù)組元素執(zhí)行Do組里的語句nDo over例85Informat語句nInformat語句把輸入格式與變量聯(lián)系起來,在data步,可以用informat語句對input語句中列出的變量規(guī)定缺省時的輸入格式ninformat例86Format語句n在data步把變量同輸出格式聯(lián)系起來n可以規(guī)定缺省選項,如:format default=8.2;nFormat(informat)例,format_=例,87Drop和keep語句nDrop語句:刪掉變量語句drop variable-listnKeep語句:保留變量語句
35、keep variable-listn雖然出現(xiàn)在drop和keep語句中的變量不包含在正被創(chuàng)建的SAS數(shù)據(jù)集中,但這些變量仍可以用在程序語句中nDrop和keep不能同時使用88Retain語句n使用retain給變量賦予初值,并保留到讀下一個觀測retain month1-month5 1retain var1-var4 (1,2,3,4)當retain后無變量時,用input或賦值語句創(chuàng)建的所有變量的值,保留上次data步執(zhí)行的值nRetain例、retain2例89Attrib語句n在data步內(nèi)允許用一個attrib語句來規(guī)定一個或幾個變量的輸出、輸入格式,標簽和長度,即規(guī)定變量屬性n
36、Attrib x label=中國載人飛船 length=4 informat=8.5 format=8.2;nAttrib例90Window語句n創(chuàng)建用戶專用的窗口,可用來顯示文字說明或接受輸入的數(shù)據(jù)nWindow例91上機練習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 10092上機練習2(ex2例)n編制程序:3個變量d1-d3,數(shù)據(jù)節(jié)
37、選如下:1 2 7 2 3 . 3 . 4n要求:如果發(fā)現(xiàn)缺失值 ,即用該列數(shù)據(jù)的平均值來代替,數(shù)據(jù)結(jié)果應(yīng)如下:n1 2 7 2 3 5.5 3 2.5 4 93Proc步的通用語句(Reg例)nProc 用在proc步的開頭并規(guī)定用戶使用的SAS過程名字及其他信息nVar規(guī)定用這個過程分析的一些變量nModel規(guī)定在模型中類似表示因變量(左)和自變量(右)的這樣一些變量及其他信息nWeight規(guī)定一個變量,它的值是這些觀測的相應(yīng)權(quán)數(shù)94Proc步及通用語句nFreq規(guī)定一個變量,其值表示頻數(shù)nId規(guī)定一個或幾個變量,他們的值在打印輸出中或由此過程產(chǎn)生的SAS數(shù)據(jù)集中用來識別觀測nWhere在
38、SAS把觀測引入proc步之前,用來選擇符合特殊條件的觀測nClass在分析中指定一些變量為分類變量95Proc步及通用語句nBy規(guī)定一些變量,SAS過程對輸入數(shù)據(jù)集用by變量定義的幾個數(shù)據(jù)組分別進行分析處理nOutput給出用該過程產(chǎn)生的輸出數(shù)據(jù)集的信息nQuit結(jié)束交互式的過程n其他如Attrib屬性語句、format輸出格式語句、label標簽語句等96Transpose(轉(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)置的變量名
39、nTranspose例97Means均值過程n計算數(shù)據(jù)集中數(shù)值變量的簡單統(tǒng)計量nT選項:檢驗數(shù)據(jù)總體均值為0的假設(shè)時,t統(tǒng)計量的值nPrt選項:Prob |T| , 數(shù)據(jù)總體均值為0的概率是多少n默認生成的_type_和_freq_變量分別規(guī)定分組數(shù)(如果有)和頻率nMeans例,weight例,freq例98Means均值過程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(
40、偏度), kurtosis(峰度), clm(置信限), lclm(置信下限), uclm(置信上限)99Format過程(format_num,char,lowhigh例)n使用Format過程把輸出格式同Data步、Proc步的變量聯(lián)系起來。n輸出格式一:SAS格式n輸出格式二:Format定義的格式,形如value 格式名 變量值=自定義值;proc ;format 變量 格式名.;100Format過程n輸出格式三:圖示輸出,只適用于數(shù)值型變量,形如picture 格式名 other格式化值;proc ;format 變量 格式名.;nFormat_picture例101Plot過程n
41、對數(shù)據(jù)集中任兩個變量的n個觀測值畫出散點圖,第一個變量表示y軸,第二個表示為x軸n兩種情況:plot y*x=+;(規(guī)定一個字符作為作圖字符)plot y*x=sex;(作圖字符由變量的值給出)102Plot過程nVref(Href)要求散布圖在垂直(或水平)軸的一些規(guī)定值上畫水平線(或垂直線)作為參照線n/overlap選項:在同一張圖上作兩個以上的散點圖。如:plot y*x a*b /overlay;nPlot(函數(shù))例103Standard標準化過程n目的是使不同量綱的變量能互相比較nStandard過程按給定的均值和標準差對數(shù)據(jù)集中的變量進行標準化變換,并生成一個包含標準化值的新SA
42、S數(shù)據(jù)集nMean=mean-value: 規(guī)定均值nStd=std-value: 規(guī)定標準差nStandard例104Rank過程n與其研究數(shù)值大小不如研究排序的情況n該過程把數(shù)值從最小到最大排列,對最小值賦予秩1,對第二小值賦予秩2,一直到賦予秩n,即未丟失的觀測個數(shù)。n出現(xiàn)結(jié)值(tie)時,其秩可以賦予平均秩或高秩或低秩。nRanks 選項分配求秩后的變量名 nRank例105Univariate過程n又稱單變量過程,可以求單個變量的大部分統(tǒng)計指標nNormal選項:要求對數(shù)據(jù)服從正態(tài)分布(原假設(shè))進行檢驗。當樣本容量2000時,使用D統(tǒng)計量檢驗106Univariate過程nOutpu
43、t out=datasets要求輸出包含指定統(tǒng)計量的數(shù)據(jù)集nPctlpts規(guī)定該過程不能自動提供而用戶又希望計算的百分位數(shù)nPctlpre要求給出百分位數(shù)的輸出變量名的前綴,pctlname后綴。nUnivariate例107Corr過程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例108Options過程n列出SAS系統(tǒng)選項的當前值。nSAS系統(tǒng)選項是SAS系統(tǒng)用來控制SAS數(shù)據(jù)集的處理,輸出的格式和內(nèi)容等的全局
44、選項n系統(tǒng)選項的優(yōu)先次序:options語句配置文件缺省設(shè)置n例:options nodate;nOptions(view)例,options例109Printto過程n該過程用來定義SAS過程輸出和SAS日志輸出的地點nPrint選項規(guī)定輸出結(jié)果存放地點nLog選項規(guī)定輸出日志存放地點nNew選項表示要覆蓋已存在的文件,如無new選項但有已存在的文件名,則在已有的文件內(nèi)容后追加nPrintto例110Compare過程n該過程用來比較兩個SAS數(shù)據(jù)集中的內(nèi)容n用base和compare選項分別規(guī)定待比較的兩個數(shù)據(jù)集nCompare例111Datasets數(shù)據(jù)庫管理過程n該過程用來對SAS數(shù)據(jù)
45、庫中的SAS文件進行列表、拷貝、更名,添加和刪除等操作nDatasets是交互過程,可以不斷插入并執(zhí)行該過程的相關(guān)語句而不用重復(fù)調(diào)用Datasets,但可以使用quit語句或另一個proc步或data步來終止此過程nDatasets1例112Datasets過程nIndex create :創(chuàng)建簡單或復(fù)合索引nPw (read、write、alter):設(shè)置密碼nRepair member-name: 在適當情況下試圖重新存貯被損壞的SAS數(shù)據(jù)集或目錄nDatasets(index)例、datasets(pw)例113SQL過程nSQL 結(jié)構(gòu)查詢語言(Structured Query Lang
46、uage) 是一個標準化的廣泛使用的語言,可以檢索和更新關(guān)系表格和數(shù)據(jù)庫中的數(shù)據(jù)。n關(guān)系,類似于數(shù)學中的集合概念,實際上被表現(xiàn)為一些排列成行和列的二維表格(關(guān)系數(shù)據(jù)庫)114SQL過程nSQL語句的特征:子句內(nèi)的項用逗號分開;不需規(guī)定Run語句;115SQL過程nSelect語句用來檢索和操作存于表中的數(shù)據(jù)。(order從句,format選項)nCreate語句生成表格nUpdate語句增加或修改在表格的列里的數(shù)值,Insert和Delete語句插入和刪除行,用Alter語句增加、修改、刪去列來修改表格。116SQL過程nDelete語句從表中刪去where表達式為真的所有行nInsert t
47、o往一個新的或已存在的表中加入新的行nSql例117全程語句nQuit, run, endsas :分別為結(jié)束、運行SAS語句、關(guān)閉SAS系統(tǒng)nTitle, footnote:添加標題和腳注nFilename:對一個外部文件定義標記nLibname:對一個SAS數(shù)據(jù)庫定義標記nFilename例,libname例118全程語句nMissing語句規(guī)定表示缺失值的字符,通常出現(xiàn)在data語句中,但其作用范圍是全局的。nPage語句使得日志跳到新一頁nSkip語句使得日志跳過規(guī)定的行數(shù)n%include語句從外部文件讀出SAS語句或數(shù)據(jù)行并執(zhí)行:nMissing例,page例,skip例,Incl
48、ude1例119Tabulate制表過程(Tabulate例)n由分類變量、分析變量和統(tǒng)計量關(guān)鍵詞組成的表達式構(gòu)成描述性統(tǒng)計報表。nTabulate過程的Table語句的操作符(星號、空格、園括號,逗號)1.交叉連接項,即嵌套(使用*號)2.項與項之間的并列連接,即平行(使用空格)3.改變次序(使用園括號)120Tabulate制表過程n4.產(chǎn)生的報表最多三維:如果包含二維,次序為行、列;如果包含三維,次序為頁、行、列。(維表達式間用逗號隔開;) 5. 用定義Pctn統(tǒng)計量的分母n分類變量必須在class語句中說明n分析變量必須在var語句中列出121Tabulate制表過程nProc tab
49、ulate過程的其他語句1. missing選項:要求把缺失值作為分類變量的有效水平2. order=freq | data | internal | formatted規(guī)定報表中分類變量值出現(xiàn)的次序freq: 按頻數(shù)下降的次序data: 按原數(shù)據(jù)集中出現(xiàn)的先后次序internal: 按非格式化值的次序formatted: 按格式化值的次序122Tabulate制表過程nLabel語句用來對變量加標簽nKeylabel語句用來對統(tǒng)計量加標簽n統(tǒng)計量:N(字符型變量的默認統(tǒng)計量), Nmiss, Mean, Std, Min, Max,Range, Sum(數(shù)值型變量默認統(tǒng)計量),Var, Pc
50、tn(頻數(shù)N的百分數(shù),后面參數(shù)為列變量則是行百分比,后面參數(shù)為行變量則是列百分比)nF或format表示輸出使用一定的格式,如:a*f=8.2;123Tabulate制表過程n全類變量all,當all嵌入某個交叉時,all不考慮分類變量的水平,而用all來生成子集和及總和。如 B*(A all)、(all B)* (all A)nTabulate1例124上機練習n按tabulate1例,模擬編制類似數(shù)據(jù),練習各種制表方法125第五部分SAS/stat 模塊nSTAT模塊的過程介紹126Freq過程(freq_cows,_eye例)nFreq過程用于產(chǎn)生單向到n向的頻數(shù)表或交叉表以及針對表格的
51、各種統(tǒng)計量。n用星號連接起來的變量,最后一個變量的值形成列,倒數(shù)第二個變量的值形成行,其余變量的每一個水平形成一層。如:table a*b*c*d;n使用chisq卡方統(tǒng)計量,檢驗變量間的相關(guān)性,原假設(shè)為變量間不相關(guān)127SAS宏n利用宏可以減少在完成一些共同任務(wù)時必須輸入的文本量n利用宏可以使程序模塊化,使程序易讀、便于修改、移植、方便重復(fù)使用128SAS宏變量n宏變量屬于SAS宏語言,與普通變量的區(qū)別是可以獨立于DATA步n可以在SAS程序中除數(shù)據(jù)行之外的任何地方定義并使用宏變量n%let語句定義宏變量并分配一個值給宏變量(如:%let dsn=3)n當引用一個宏變量的值,放&號在
52、宏變量前129SAS宏變量(macro_str,_var,_auto例)n使用%str函數(shù)圍住宏變量的值,使得在這個值內(nèi)部的分號作為這個文本的部分,而不是%let語句的結(jié)束n使用%put語句在LOG窗口顯示宏變量的值nSAS/BASE中的自動宏變量,如:sysver, systime(給出SAS程序或會話開始執(zhí)行的時間);130SAS宏n用%macro語句開始一個宏,同時給出這個宏的名字。如:%macro dsn;用%mend語句結(jié)束一個宏,其后給出宏名字。如:%mend dsn;n放一個百分數(shù)符號(%)在宏名字的前面以調(diào)用一個宏,如%dsnnMacro例131宏參數(shù)n被定義在一個%macro語句的宏名字后括號內(nèi)的宏變量稱為宏參數(shù),可以直接給出宏參數(shù)的值,也可以在調(diào)用這個宏時給出這些參數(shù)的值
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 分紅股合作合同范本
- 公司建材購銷合同范本
- 車輛運輸肉類合同范本
- 供貨合同范本范文
- 養(yǎng)殖股東協(xié)議合同范本
- 華為購車合同范本
- 區(qū)代理商合同范本
- 儲料倉合同范本
- 制作標識標牌合同范本
- 合理借款合同范例
- 正念八周課件
- 服務(wù)響應(yīng)時間和服務(wù)保障方案
- 蟾蜍毒抗病毒作用機制
- 光伏發(fā)電監(jiān)理合同協(xié)議
- 新能源汽車概論課件 3.1認知純電動汽車
- 【數(shù)學】小學四年級口算題大全(10000道)
- 中國腦出血診治指南
- 信息安全意識培訓(xùn)課件
- 《食品標準與法規(guī)》知識考試題庫300題(含答案)
- 社團活動情況登記表
- 人教版(2024)七年級上冊英語各單元短文填空練習題匯編(含答案解析)
評論
0/150
提交評論