

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1,推薦教材,1.SAS系統(tǒng)的幫助以及在線文檔,都是學(xué)習(xí)SAS的很好的工具。 http://support.sas.com/documentation/onlinedoc/sas9doc.html2.《SAS系統(tǒng)Base SAS 軟件使用手冊(cè)》高惠璇等編譯,中國統(tǒng)計(jì)出版社1997 3.《SAS 系統(tǒng)SAS/STAT軟件使用手冊(cè)》高惠璇等編譯,中國統(tǒng)計(jì)出版社1997 4. 《實(shí)用統(tǒng)計(jì)方法與SAS系統(tǒng)》高惠璇 北京大學(xué)出版社2001,
2、2,數(shù)據(jù)類型,橫截面數(shù)據(jù)集(cross-sectional data set) 時(shí)間序列數(shù)據(jù)集(time series data set)混合橫截面數(shù)據(jù)集(pooled cross section data set)綜列數(shù)據(jù)集(panel data set)離散數(shù)據(jù)(discrete data)持續(xù)數(shù)據(jù)(survival data),3,SAS模塊,Base SAS: 1、數(shù)據(jù)管理功能2、基礎(chǔ)統(tǒng)計(jì)計(jì)算功能 3、報(bào)
3、表生成和圖形顯示功能,4,SAS/STAT 統(tǒng)計(jì)分析SAS/INSIGHT 數(shù)據(jù)探索SAS/ASSIST 面向任務(wù)的易學(xué)易用模塊SAS/ETS 時(shí)間序列處理SAS/OR 運(yùn)籌學(xué)和工程管理SAS/QC 質(zhì)量控制SAS/IML 矩陣運(yùn)算SAS/GRAPH 繪圖SAS/AF 面向?qū)ο缶幊?OOP)的應(yīng)用開發(fā)工具,拓展SAS的功能,5,SAS/EIS 面向?qū)ο缶幊痰拈_發(fā)工具,用于開發(fā)企業(yè)信息系統(tǒng)SAS/ACCESS 數(shù)據(jù)訪問
4、SAS/TOOLKIT 擴(kuò)充工具,把用其他軟件編寫的程序轉(zhuǎn)化成SAS的組成部分SAS/Warehouse Administrator 數(shù)據(jù)倉庫管理SAS/Enterprise Miner 數(shù)據(jù)挖掘SAS/Text Miner 文本挖掘SAS/SHARE 數(shù)據(jù)庫的并發(fā)式控制專門軟件SAS/CONNECT 使各平臺(tái)SAS系統(tǒng)進(jìn)行分布式處理,從而有效利用各平臺(tái)機(jī)器資源,6,SAS/GIS 地理信息系統(tǒng)與空間數(shù)據(jù)的顯示分析SAS/
5、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 提供利用自然英語獲取信息的能力,7,SAS/SECURE 網(wǎng)絡(luò)傳輸加密SAS/OLAP SERVER 多維數(shù)據(jù)存儲(chǔ)及匯總結(jié)果呈現(xiàn)SAS/GENETICS SAS公司的第一個(gè)科學(xué)研究應(yīng)
6、用軟件,應(yīng)用于遺傳學(xué),有5個(gè)分析過程SAS/High-Performance Forecasting:提供快速高效的預(yù)測(cè)結(jié)果SAS/C, SAS/C++ 針對(duì)IBM大型機(jī)的開發(fā)工具SAS/LAB 向?qū)降臄?shù)據(jù)分析軟件,特別針對(duì)day-to-day類型數(shù)據(jù),8,SAS/Insight模塊,1、界面介紹2、Fill values 功能3、Extract 功能4、Edit/windows/tool菜單使數(shù)據(jù)探索色彩繽紛(注意
7、選項(xiàng)設(shè)置)5、打開分布、擬合、多元等的窗口之后主菜單Tables、Graphs、Curves菜單才被開放。Fly,insurance數(shù)據(jù)集示例,9,Insight模塊,其他功能:1、分布(輸出大多數(shù)常用的統(tǒng)計(jì)量)2、擬合(回歸分析)3、多元(方差分析),10,SAS程序的書寫格式,1、SAS程序由語句組成,語句用分號(hào)結(jié)束。2、 SAS語句可以從某一行的任意位置開始; 3、幾個(gè)SAS語句可以寫在同一行上,但每句要使用分號(hào),1
8、1,SAS程序的書寫格式,4、一個(gè)語句也可以寫成幾行,只要語句中的單詞不被斷開就可以。在一個(gè)語句中各個(gè)單詞之間至少要有一個(gè)空格。5、SAS程序中一般不區(qū)分大小寫(字符串中要區(qū)分大小寫)6、用 /*注釋的內(nèi)容*/ 來對(duì)程序進(jìn)行注釋,12,SAS程序的結(jié)構(gòu),SAS數(shù)據(jù)集樣本(觀測(cè)、記錄)、變量(字段、域)、表(數(shù)據(jù)集)、 數(shù)據(jù)庫許多SAS語句都是以關(guān)鍵詞開始并用它識(shí)別語句的類型(如data、input、proc)絕大部分的SAS語
9、句都可分為兩步:DATA步和PROC步,13,SAS的變量及格式,變量屬性(名稱、類型、長度、輸入格式、輸出格式、標(biāo)簽)類型:數(shù)字型、字符串型輸入格式:數(shù)據(jù)被SAS讀取的格式輸出格式:數(shù)據(jù)呈現(xiàn)給人們的格式,14,SAS程序第二例,SAS/orange.sas輸入數(shù)據(jù)-形成數(shù)據(jù)集-排序-打印顯示,15,SAS文件及命名,1、SAS數(shù)據(jù)集文件(后綴為sas7bdat)2、SAS程序文件(后綴為sas)3、SAS日志文件(后綴為
10、log)4、SAS輸出文件(后綴為list),16,SAS文件及命名,臨時(shí)數(shù)據(jù)集和永久數(shù)據(jù)集SAS文件的2級(jí)命名方式:目錄.文件名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ù)
11、”功能建立。Id.xls例、data.txt例5、利用EFI(external file interface)功能導(dǎo)入。Column.dat例、tests.dat例、comma.dat例,Analyst分析家模塊,1、界面介紹2、瀏覽與編輯模式3、生成示例數(shù)據(jù)與抽樣4、程序清單5、假設(shè)檢驗(yàn),18,19,SAS運(yùn)算符(operator例),算術(shù)運(yùn)算符:+?。? / **比較算符:=(EQ) ^=(
12、NE) >(GT) =(GE) (最大值) ||(?。?連接),20,字符的比較(operator_char例),1、按機(jī)器使用的字符排列次序(ASCⅡ或Unicode)從左到右被比較。2、兩個(gè)不等長的字符串被比較時(shí),系統(tǒng)在較短的字符串后自動(dòng)添上空格3、在比較符后加冒號(hào),則只比較首字母,21,運(yùn)算次序一,在括弧里的表達(dá)式先計(jì)算第一級(jí):** (+?。┣熬Y ^ >第二級(jí)
13、:* /第三級(jí):+?。谒募?jí):||第五級(jí):其余比較算符第六級(jí):&第七級(jí):|,22,運(yùn)算次序二,對(duì)于相同優(yōu)先級(jí)的算符,左邊的運(yùn)算先做。但有兩個(gè)例外:1.對(duì)最高優(yōu)先級(jí),右邊的運(yùn)算先做2.當(dāng)兩個(gè)比較算符圍著一個(gè)量時(shí),這個(gè)表達(dá)式看成是有一個(gè)and 出現(xiàn)一樣被計(jì)算。如:12<age< 20,等價(jià)于:12<age & age<20,23,SAS函數(shù)一(部分),數(shù)學(xué)函數(shù):abs()、max ()、min ()
14、、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),
15、24,SAS函數(shù)二(部分),SAS系統(tǒng)存貯日期值為1960年1月1日到指定日期之間的天數(shù)SAS存貯時(shí)間值為從午夜開始到指定時(shí)間的秒數(shù)日期時(shí)間值存貯為1960年1月1日午夜到指定日期時(shí)間之間的秒數(shù)日期時(shí)間函數(shù):weekday ( )、day()、month()、qtr()、year(),,25,SAS函數(shù)三(部分),概率統(tǒng)計(jì)函數(shù):probnorm (x)n (of X1-Xn)、nmiss (of X1-Xn),var (of
16、 x1-xn)、std (of x1-xn)隨機(jī)數(shù)函數(shù):rannor (seed)、ranuni (seed)Functions例,26,DATA步,文件操作語句運(yùn)行語句控制語句信息語句,27,DATA步流程,DATA語句標(biāo)志了數(shù)據(jù)步開始,并指定了數(shù)據(jù)步結(jié)束時(shí)要生成的數(shù)據(jù)集名字。每次讀入一行數(shù)據(jù),讀入后執(zhí)行數(shù)據(jù)步中的其它語句,循環(huán)數(shù)據(jù)步讀取整個(gè)數(shù)據(jù)。_N_變量表示DATA步已經(jīng)執(zhí)行的次數(shù)_error_變量值為1時(shí)表示程
17、序出錯(cuò)Flow例,,,28,DATA步流程(Flow1例)(*),讀外部數(shù)據(jù)時(shí),數(shù)據(jù)步迭代(即每一次)的開始把變量的值置為缺失值,有幾種情況例外:1、retain語句提到的變量2、sum語句中創(chuàng)建的變量3、數(shù)組_temporary_中的數(shù)據(jù)元4、file和infile語句選項(xiàng)中創(chuàng)建的變量5、自動(dòng)變量讀sas數(shù)據(jù)集時(shí),只在第一次迭代時(shí)把變量值置為缺失,以后變量保留其值直至新值寫入,29,文件操作語句DATA語句,DATA語
18、句的選項(xiàng)DROP選項(xiàng)(不列出某些變量)KEEP選項(xiàng)(列出某些變量)LABEL選項(xiàng)(給數(shù)據(jù)集加標(biāo)簽)RENAME選項(xiàng)(重命名變量)Data例,30,DATA語句,數(shù)據(jù)集名字:(data2例)1、data語句后無數(shù)據(jù)集名字,則自動(dòng)生成 data1, data2等為數(shù)據(jù)集名字,相當(dāng)于data _data_;2、data _null_;不產(chǎn)生實(shí)際的數(shù)據(jù)集,只是把內(nèi)容暫存于內(nèi)存,以供put語句等讀取結(jié)果,可以節(jié)約計(jì)算機(jī)資源3、da
19、ta _last_;以最近產(chǎn)生的數(shù)據(jù)集命名并取代其內(nèi)容。,31,Input語句,分組格式:input (g1-g5) (3*7.2 , 2*5.2); input (a b) ( $5.)input (a b) ($ , 5.)@@-無需分行而按變量連貫讀數(shù)據(jù)@-固定該數(shù)據(jù)行;用于需要多個(gè)input語句同時(shí)讀取一行數(shù)據(jù)。input@@例,Input@例,32,Input語句,利用@n +n #n
20、 進(jìn)行指針控制input1例,33,Input語句,幾個(gè)特殊符號(hào)的用法(: & ~): 讀值時(shí)第一次遇到分隔符、或是數(shù)據(jù)行末尾、或是讀滿列數(shù)而結(jié)束& 字符型輸入值可以嵌有一個(gè)或幾個(gè)空格~ 字符型輸入值保留引號(hào)(與infile 語句中選項(xiàng)dsd一起使用才有效)Input2例,34,Cards語句,Cards語句與datalines語句可以通用如果輸入數(shù)據(jù)中含有分號(hào),可用cards4語句或datalines4語句,同
21、時(shí),數(shù)據(jù)結(jié)尾用4個(gè)分號(hào)表示數(shù)據(jù)輸入結(jié)束Cards4例,35,Put 語句,Put語句負(fù)責(zé)在log窗口輸出一些結(jié)果,file print選項(xiàng)可把輸出轉(zhuǎn)移到output窗口Put _infile_ (輸出最新的數(shù)據(jù)行到SAS log 窗口)Put _all_ (輸出所有變量的值)Put _page_ (輸出新頁)Put例、put1例,36,File 語句,File print 把put語句產(chǎn)生的輸出結(jié)果轉(zhuǎn)移到output窗口
22、Put例,37,By 語句,在DATA步中,SAS系統(tǒng)對(duì)每個(gè)BY組創(chuàng)建兩個(gè)臨時(shí)變量:First .variableLast .variable 它們用來區(qū)別每個(gè)BY組的第一個(gè)和最后一個(gè)觀測(cè)By例,38,Set語句,使用set語句復(fù)制數(shù)據(jù)集Point選項(xiàng)指明要讀入的記錄序號(hào)set 數(shù)據(jù)集 point=指針變量;可用于抽樣,一般與output語句連用Nobs選項(xiàng)創(chuàng)建一個(gè)臨時(shí)變量用來存儲(chǔ)數(shù)據(jù)集的觀測(cè)總數(shù)見set例,poin
23、t例,39,Set語句,Set語句可以串接多個(gè)數(shù)據(jù)集,形式如下Data 數(shù)據(jù)集; set 數(shù)據(jù)集A 數(shù)據(jù)集B ……; Run;Rename選項(xiàng)負(fù)責(zé)改名;in選項(xiàng)產(chǎn)生變量負(fù)責(zé)記錄觀測(cè)來自該數(shù)據(jù)集;見set2例,40,Merge語句,使用Merge語句并接多個(gè)數(shù)據(jù)集,形式如下Data 數(shù)據(jù)集;merge 數(shù)據(jù)集1 數(shù)據(jù)集2 ……;by 變量;run;見merge例,41,Update 語句,
24、Update語句用一個(gè)升級(jí)數(shù)據(jù)集中的觀測(cè)來修改一個(gè)主數(shù)據(jù)集。Update語句一定要與BY語句一起使用,BY語句給出了合并觀測(cè)時(shí)共同變量的名字主數(shù)據(jù)集中的共同變量必須是單值的,即不能有兩個(gè)或兩個(gè)以上的觀測(cè)其共同變量值相同Update例,42,Infile語句,Delimiter (DLM)選項(xiàng):規(guī)定一個(gè)字符替代空格作為分隔符。Firstobs選項(xiàng) :不是從文件的第一個(gè)記錄開始,而是從指定行開始讀取記錄Obs選項(xiàng):規(guī)定用戶想從輸入
25、文件中連續(xù)讀取的最后一個(gè)記錄號(hào)Infile(dlm)例、 Infile(obs)例,43,Infile語句,DSD選項(xiàng):1、使最外層引號(hào)括起的內(nèi)容當(dāng)成整個(gè)字符串輸入,并去除最外層引號(hào)2、默認(rèn)分隔符為逗號(hào)3、兩個(gè)相鄰的分隔符意味著前一個(gè)分隔符后的字段為缺失值Infile(dsd)例 (回顧input2例),44,Infile語句,當(dāng)行末尾數(shù)據(jù)寬度少于規(guī)定寬度時(shí)Flowover: 默認(rèn)選項(xiàng),將下一條記錄讀入Missover:將
26、變量置為缺失Truncover:將數(shù)據(jù)直接讀入,不管寬度是否少于規(guī)定寬度Stopover:系統(tǒng)終止數(shù)據(jù)步執(zhí)行,報(bào)告出錯(cuò)Missover例,45,Infile語句,Lrecl=n選項(xiàng):設(shè)定源數(shù)據(jù)文件行的物理長度,缺省為256,最大可設(shè)為32767Pad | Nopad選項(xiàng):pad選項(xiàng)指當(dāng)寬度少于規(guī)定寬度時(shí),在后面填充空格至Lrecl=n規(guī)定的行長度,缺省為nopadMissover例,46,運(yùn)行(算)語句賦值語句和累加語句,賦
27、值Variable = expression例:x=a + b;累加 Variable + expression例:if x=5 then n+1;例:n+(-1)累加語句中的變量必須是數(shù)值型變量,初始值為0,47,Delete和lostcard(*)語句,Delete語句告訴SAS系統(tǒng)停止處理當(dāng)前的觀測(cè),并且返回到這個(gè)Data步的開頭處理其他觀測(cè)當(dāng)SAS系統(tǒng)遇到用幾個(gè)記錄表示一個(gè)觀測(cè)的時(shí)候,數(shù)據(jù)中有丟失記錄時(shí),使用Lost
28、card語句來重新對(duì)準(zhǔn)輸入數(shù)據(jù)delete例,lostcard例,48,Stop和abort語句,用stop語句來停止處理data步,正被處理的那個(gè)觀測(cè)沒有添加到SAS數(shù)據(jù)集中,stop語句不影響后面的任意data步或proc步的執(zhí)行用abort語句來中止SAS系統(tǒng)執(zhí)行當(dāng)前DATA步,return選項(xiàng)關(guān)閉SAS并返回操作系統(tǒng)。Stop與abort的區(qū)別在于abort語句置_error_變量為1Abort例,49,Where 語句
29、,從已存在的SAS數(shù)據(jù)集選擇子集,在把觀測(cè)讀入之前規(guī)定數(shù)據(jù)必須滿足一個(gè)條件Where 語句與if語句相比在讀取數(shù)據(jù)時(shí)更為高效,因其在移動(dòng)所有觀測(cè)到子集之前先選擇數(shù)據(jù)。Where語句豐富的表達(dá)式where例,50,Output語句,DATA步的每次迭代,后臺(tái)自動(dòng)使用output語句,但如果程序中主動(dòng)加上output語句,即相當(dāng)于取消自動(dòng)output語句,變成在條件符合時(shí)輸出。output例,51,Output語句,用到output
30、語句其他情況:output123例1.從一個(gè)輸入的數(shù)據(jù)文件中,創(chuàng)建幾個(gè)SAS數(shù)據(jù)集2.從輸入的每個(gè)數(shù)據(jù)行中,創(chuàng)建二個(gè)或更多個(gè)觀測(cè)3.把幾個(gè)輸入觀測(cè)組合并成為一個(gè)觀測(cè)后面接名字表示輸出到指定數(shù)據(jù)集,但名字必須也在DATA后出現(xiàn),52,Call語句,調(diào)用其他子程序call routine (parameter-1 ) 如SAS提供一系列隨機(jī)數(shù)子程序發(fā)布操作系統(tǒng)命令call system (command) Call例(
31、*)、Call_system例,53,控制語句Do語句(循環(huán)語句),DO語句規(guī)定,在DO后面直到出現(xiàn)END語句之前的這些語句作為一個(gè)單元被執(zhí)行。簡單DO語句,常用在if-then/else語句里循環(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;Do_simple例,do例,do_exit例,54,Do while語句,當(dāng)條件成立時(shí)重復(fù)執(zhí)行Do組里的
32、語句Do while (expression);括號(hào)里的表達(dá)式在Do組里的語句被執(zhí)行前在循環(huán)的開頭被計(jì)算。如果表達(dá)式是真的,Do組被執(zhí)行Do while例,55,Do until語句,有條件地執(zhí)行Do組里的語句,在循環(huán)的最后而不是在循環(huán)的開頭計(jì)算表達(dá)式,如果表達(dá)式是真的,Do組就不再被執(zhí)行。Do組里的語句至少執(zhí)行一次。Do until例,56,Select語句,允許SAS去執(zhí)行幾個(gè)語句或者語句組中的一個(gè)。當(dāng)一個(gè)特殊條件為真時(shí)
33、,執(zhí)行對(duì)應(yīng)when語句,如果所有when條件均不成立,選擇執(zhí)行otherwise語句,用end結(jié)束Select(when)例,57,If語句,1.形如:IF expression THEN statement; ELSE statement;2.形如:IF variable例:if x then y=x;當(dāng)變量x的值為0和缺失之外的任意值時(shí)表達(dá)式均為真If_else例、If_x例,58,Return語句,
34、告訴SAS系統(tǒng)在data步當(dāng)前這個(gè)位置上停止執(zhí)行語句并在繼續(xù)執(zhí)行之前返回到一個(gè)預(yù)定的位置(通常是data步開頭)當(dāng)return語句使得SAS返回到data步開頭時(shí),SAS首先輸出當(dāng)前觀測(cè)到新數(shù)據(jù)集中。每個(gè)data步都有一個(gè)隱含的return語句作為最后一個(gè)可執(zhí)行的語句Return例,59,Go to語句,告訴SAS系統(tǒng)立即轉(zhuǎn)到Go to語句所指示的那個(gè)語句,并從那個(gè)語句開始執(zhí)行后面的語句。形如:GO TO label;labe
35、l規(guī)定語句標(biāo)號(hào)來指示Go to的目標(biāo),它必須與go to語句在同一個(gè)data步Return選項(xiàng)規(guī)定返回而不執(zhí)行下面語句Go to例,60,Link語句(*),形如link label;立即轉(zhuǎn)到由label語句指示的位置,并從那里開始繼續(xù)執(zhí)行語句直到一個(gè)return語句被執(zhí)行。與goto語句的區(qū)別是:標(biāo)簽內(nèi)的return語句讓SAS立即返回到link語句后面的那個(gè)語句并從那里繼續(xù)執(zhí)行Link例,61,Continue和leave
36、語句,Continue語句使得某個(gè)do循環(huán)中當(dāng)前這次循環(huán)過程停止進(jìn)行,并繼續(xù)進(jìn)行下一次循環(huán)過程。Leave語句停止當(dāng)前整個(gè)do組循環(huán)或select組的處理過程,并用跟在do組或select組后面的下一個(gè)語句繼續(xù)執(zhí)行data步Continue例,leave例,62,循環(huán)的嵌套(*),Do(do)例、select(do)例,63,怎樣選擇使用不同的控制語句,DO:多次執(zhí)行同樣的代碼塊DO while:當(dāng)while條件為真時(shí),多次執(zhí)行同
37、樣的代碼塊DO until: 多次執(zhí)行同樣的代碼塊,直到until條件為真,代碼塊總會(huì)執(zhí)行一次SELECT:知道明確的離散選擇項(xiàng)時(shí)使用IF:希望從2個(gè)或多個(gè)可能的事件中完成一個(gè),允許連續(xù)選擇項(xiàng),64,怎樣選擇使用不同的控制語句,跳轉(zhuǎn)代碼(go to,link):需要暫停主代碼,執(zhí)行“標(biāo)簽”指明的其它代碼中止代碼(return,continue,leave):負(fù)責(zé)某種形式的中止。,65,信息語句數(shù)組(array)語句,當(dāng)需要用同
38、一種方法處理很多變量時(shí),可以用數(shù)組語句定義這組變量為某個(gè)數(shù)組中的元素。1.顯示下標(biāo)array語句:由一個(gè)數(shù)組名字,在數(shù)組中元素個(gè)數(shù)的說明,及元素列表組成。2.隱含下標(biāo)array語句:由一個(gè)數(shù)組名字、一個(gè)下標(biāo)變量和列表名組成。,66,顯示下標(biāo)array語句,形如:ARRAY array-name {subscript} >例 array simple{3} red green yellow; array x
39、{5,3} score1-score15; array c{3}等價(jià)于array c{3} c1-c3 array test{3} t1 t2 t3 (90 80 70) 數(shù)組中的變量必須全是數(shù)值型或字符串型,array例,67,顯示下標(biāo)array語句,規(guī)定數(shù)組中每一維的上下界:array x{1:5,1:3} score1-score15;{*}表示SAS系統(tǒng)通過數(shù)組中變量的個(gè)數(shù)來確定下標(biāo)??捎胐im(數(shù)組名)函
40、數(shù)計(jì)算數(shù)組元素個(gè)數(shù)。_temporary_建立一個(gè)臨時(shí)數(shù)組元素列表array(dim)例,array(temporary)例,array(prod)例,68,隱含下標(biāo)array語句,形如:ARRAY array-name array-elements 如果沒有規(guī)定下標(biāo)變量,SAS系統(tǒng)使用自動(dòng)變量_i_作為下標(biāo)變量,下標(biāo)變量范圍從1到這個(gè)數(shù)組元素的個(gè)數(shù)如:array x x1-x5Array(s)例,69,Do over語句
41、,Do over 語句對(duì)每個(gè)數(shù)組元素自動(dòng)地執(zhí)行Do組中的語句,它等價(jià)于 do i=1 to k;其中i是這個(gè)數(shù)組的下標(biāo)變量,k是數(shù)組元素的個(gè)數(shù)。Do over語句常用在對(duì)隱含下標(biāo)數(shù)組元素執(zhí)行Do組里的語句Do over例,70,Informat語句,Informat語句把輸入格式與變量聯(lián)系起來,在data步,可以用informat語句對(duì)input語句中列出的變量規(guī)定缺省時(shí)的輸入格式informat例,71,Format語句,在d
42、ata步把變量同輸出格式聯(lián)系起來可以規(guī)定缺省選項(xiàng),如:format default=8.2;Format(informat)例,format_=例,,72,Drop和keep語句,Drop語句:刪掉變量語句drop variable-listKeep語句:保留變量語句keep variable-list雖然出現(xiàn)在drop和keep語句中的變量不包含在正被創(chuàng)建的SAS數(shù)據(jù)集中,但這些變量仍可以用在程序語句中Drop和kee
43、p不能同時(shí)使用,73,Retain語句,使用retain給變量賦予初值,并保留到讀下一個(gè)觀測(cè)retain month1-month5 1retain var1-var4 (1,2,3,4)當(dāng)retain后無變量時(shí),用input或賦值語句創(chuàng)建的所有變量的值,保留上次data步執(zhí)行的值Retain例、retain2例,74,Attrib語句,在data步內(nèi)允許用一個(gè)attrib語句來規(guī)定一個(gè)或幾個(gè)變量的輸出、輸入格式,標(biāo)簽和長度,即
44、規(guī)定變量屬性Attrib x label=‘中國載人飛船’ length=4 informat=8.5 format=8.2;Attrib例,75,Window語句,創(chuàng)建用戶專用的窗口,可用來顯示文字說明或接受輸入的數(shù)據(jù)Window例,76,上機(jī)練習(xí)1,編制程序:六個(gè)變量id d1-d5,數(shù)據(jù)節(jié)選如下:1 2 7 23
45、100 1000 2 3 33 54 56 10003 . 4 6 44 100要求:如果相鄰數(shù)據(jù)小于等于7,則置為缺失,數(shù)據(jù)結(jié)果應(yīng)如下:1 . . 23 100 10002 3 33 . . 10003 . . . 44 100,77,上機(jī)練習(xí)2(ex2例),編制程
46、序:3個(gè)變量d1-d3,數(shù)據(jù)節(jié)選如下:1 2 7 2 3 . 3 . 4要求:如果發(fā)現(xiàn)缺失值 ,即用該列數(shù)據(jù)的平均值來代替,數(shù)據(jù)結(jié)果應(yīng)如下:1 2 7 2 3 5.5 3 2.5 4,78,Proc步的通用語句(Reg例),Proc- 用在proc步的開頭并規(guī)定用戶使用的SAS過程名字及其他信息Var-規(guī)定用
47、這個(gè)過程分析的一些變量Model-規(guī)定在模型中類似表示因變量(左)和自變量(右)的這樣一些變量及其他信息Weight-規(guī)定一個(gè)變量,它的值是這些觀測(cè)的相應(yīng)權(quán)數(shù),79,Proc步及通用語句,Freq-規(guī)定一個(gè)變量,其值表示頻數(shù)Id-規(guī)定一個(gè)或幾個(gè)變量,他們的值在打印輸出中或由此過程產(chǎn)生的SAS數(shù)據(jù)集中用來識(shí)別觀測(cè)Where-在SAS把觀測(cè)引入proc步之前,用來選擇符合特殊條件的觀測(cè)Class-在分析中指定一些變量為分類變量,8
48、0,Proc步及通用語句,By-規(guī)定一些變量,SAS過程對(duì)輸入數(shù)據(jù)集用by變量定義的幾個(gè)數(shù)據(jù)組分別進(jìn)行分析處理Output-給出用該過程產(chǎn)生的輸出數(shù)據(jù)集的信息Quit-結(jié)束交互式的過程其他如Attrib屬性語句、format輸出格式語句、label標(biāo)簽語句等,81,Transpose(轉(zhuǎn)置過程),Transpose過程完成對(duì)sas數(shù)據(jù)集的轉(zhuǎn)置,即把觀測(cè)變?yōu)樽兞浚兞孔優(yōu)橛^測(cè)。Out選項(xiàng)規(guī)定輸出數(shù)據(jù)集Prefix選項(xiàng)規(guī)定轉(zhuǎn)置后的
49、變量名前綴Id選項(xiàng)使用其后規(guī)定的變量值作為輸出數(shù)據(jù)集中被轉(zhuǎn)置的變量名Transpose例,82,Means均值過程,計(jì)算數(shù)據(jù)集中數(shù)值變量的簡單統(tǒng)計(jì)量T選項(xiàng):檢驗(yàn)數(shù)據(jù)總體均值為0的假設(shè)時(shí),t統(tǒng)計(jì)量的值Prt選項(xiàng):Prob >|T| , 數(shù)據(jù)總體均值為0的概率是多少默認(rèn)生成的_type_和_freq_變量分別規(guī)定分組數(shù)(如果有)和頻率Means例,weight例,freq例,83,Means均值過程,Maxdec選項(xiàng)規(guī)定輸
50、出結(jié)果的小數(shù)部分最大位數(shù)可以輸出的統(tǒng)計(jì)量:N, Nmiss, mean, std, min, max, range, sum, var, uss, css, cv(變異系數(shù)), stderr, t, prt, sumwgt, skewness(偏度), kurtosis(峰度), clm(置信限), lclm(置信下限), uclm(置信上限),84,Format過程(format_num,char,lowhigh例),使用Form
51、at過程把輸出格式同Data步、Proc步的變量聯(lián)系起來。輸出格式一:SAS格式輸出格式二:Format定義的格式,形如value 格式名 變量值=‘自定義值’;proc …;format 變量 格式名.;,85,Format過程,輸出格式三:圖示輸出,只適用于數(shù)值型變量,形如picture 格式名 other=’格式化值’;proc …;format 變量 格式名.;Format_picture例,86,Plot過程,
52、對(duì)數(shù)據(jù)集中任兩個(gè)變量的n個(gè)觀測(cè)值畫出散點(diǎn)圖,第一個(gè)變量表示y軸,第二個(gè)表示為x軸兩種情況:plot y*x=‘+’;(規(guī)定一個(gè)字符作為作圖字符)plot y*x=sex;(作圖字符由變量的值給出),87,Plot過程,Vref(Href)要求散布圖在垂直(或水平)軸的一些規(guī)定值上畫水平線(或垂直線)作為參照線/overlap選項(xiàng):在同一張圖上作兩個(gè)以上的散點(diǎn)圖。如:plot y*x a*b /overlay;Plot(函數(shù))例
53、,88,Standard標(biāo)準(zhǔn)化過程,目的是使不同量綱的變量能互相比較Standard過程按給定的均值和標(biāo)準(zhǔn)差對(duì)數(shù)據(jù)集中的變量進(jìn)行標(biāo)準(zhǔn)化變換,并生成一個(gè)包含標(biāo)準(zhǔn)化值的新SAS數(shù)據(jù)集Mean=mean-value: 規(guī)定均值Std=std-value: 規(guī)定標(biāo)準(zhǔn)差Standard例,89,Rank過程,與其研究數(shù)值大小不如研究排序的情況該過程把數(shù)值從最小到最大排列,對(duì)最小值賦予秩1,對(duì)第二小值賦予秩2,一直到賦予秩n,即未丟失的觀
54、測(cè)個(gè)數(shù)。出現(xiàn)結(jié)值(tie)時(shí),其秩可以賦予平均秩或高秩或低秩。Ranks 選項(xiàng)分配求秩后的變量名 Rank例,90,Univariate過程,又稱單變量過程,可以求單個(gè)變量的大部分統(tǒng)計(jì)指標(biāo)Normal選項(xiàng):要求對(duì)數(shù)據(jù)服從正態(tài)分布(原假設(shè))進(jìn)行檢驗(yàn)。當(dāng)樣本容量2000時(shí),使用D統(tǒng)計(jì)量檢驗(yàn),91,Univariate過程,Output out=datasets要求輸出包含指定統(tǒng)計(jì)量的數(shù)據(jù)集Pctlpts規(guī)定該過程不能自動(dòng)提供而用
55、戶又希望計(jì)算的百分位數(shù)Pctlpre要求給出百分位數(shù)的輸出變量名的前綴,pctlname……后綴。Univariate例,92,Corr過程,計(jì)算變量間的相關(guān)系數(shù)相關(guān)是對(duì)兩個(gè)變量間線性關(guān)系強(qiáng)弱程度的一種測(cè)度。如果一個(gè)變量恰好可表示成另一個(gè)變量Y的線性函數(shù),那么相關(guān)系數(shù)為1或-1,即正相關(guān)或負(fù)相關(guān)。如果兩變量間的相關(guān)系數(shù)為0,這意味著兩變量無線性關(guān)系。Corr例,93,Options過程,列出SAS系統(tǒng)選項(xiàng)的當(dāng)前值。SAS系統(tǒng)
56、選項(xiàng)是SAS系統(tǒng)用來控制SAS數(shù)據(jù)集的處理,輸出的格式和內(nèi)容等的全局選項(xiàng)系統(tǒng)選項(xiàng)的優(yōu)先次序:options語句>配置文件>缺省設(shè)置例:options nodate;Options(view)例,options例,94,Printto過程,該過程用來定義SAS過程輸出和SAS日志輸出的地點(diǎn)Print選項(xiàng)規(guī)定輸出結(jié)果存放地點(diǎn)Log選項(xiàng)規(guī)定輸出日志存放地點(diǎn)New選項(xiàng)表示要覆蓋已存在的文件,如無new選項(xiàng)但有已存在的文
57、件名,則在已有的文件內(nèi)容后追加Printto例,95,Compare過程,該過程用來比較兩個(gè)SAS數(shù)據(jù)集中的內(nèi)容用base和compare選項(xiàng)分別規(guī)定待比較的兩個(gè)數(shù)據(jù)集Compare例,96,Datasets數(shù)據(jù)庫管理過程,該過程用來對(duì)SAS數(shù)據(jù)庫中的SAS文件進(jìn)行列表、拷貝、更名,添加和刪除等操作Datasets是交互過程,可以不斷插入并執(zhí)行該過程的相關(guān)語句而不用重復(fù)調(diào)用Datasets,但可以使用quit語句或另一個(gè)proc
58、步或data步來終止此過程Datasets1例,97,Datasets過程,Index create :創(chuàng)建簡單或復(fù)合索引Pw (read、write、alter):設(shè)置密碼Repair member-name: 在適當(dāng)情況下試圖重新存貯被損壞的SAS數(shù)據(jù)集或目錄Datasets(index)例、datasets(pw)例,98,SQL過程,SQL 結(jié)構(gòu)查詢語言(Structured Query Language) 是一個(gè)標(biāo)準(zhǔn)化
59、的廣泛使用的語言,可以檢索和更新關(guān)系表格和數(shù)據(jù)庫中的數(shù)據(jù)。關(guān)系,類似于數(shù)學(xué)中的集合概念,實(shí)際上被表現(xiàn)為一些排列成行和列的二維表格(關(guān)系數(shù)據(jù)庫),99,SQL過程,SQL語句的特征:子句內(nèi)的項(xiàng)用逗號(hào)分開;不需規(guī)定Run語句;,100,SQL過程,Select語句用來檢索和操作存于表中的數(shù)據(jù)。(order從句,format選項(xiàng))Create語句生成表格Update語句增加或修改在表格的列里的數(shù)值,Insert和Delete語句插入
60、和刪除行,用Alter語句增加、修改、刪去列來修改表格。,101,SQL過程,Delete語句從表中刪去where表達(dá)式為真的所有行Insert to往一個(gè)新的或已存在的表中加入新的行Sql例,102,全程語句,Quit, run, endsas :分別為結(jié)束、運(yùn)行SAS語句、關(guān)閉SAS系統(tǒng)Title, footnote:添加標(biāo)題和腳注Filename:對(duì)一個(gè)外部文件定義標(biāo)記Libname:對(duì)一個(gè)SAS數(shù)據(jù)庫定義標(biāo)記File
61、name例,libname例,103,全程語句,Missing語句規(guī)定表示缺失值的字符,通常出現(xiàn)在data語句中,但其作用范圍是全局的。Page語句使得日志跳到新一頁Skip語句使得日志跳過規(guī)定的行數(shù)%include語句從外部文件讀出SAS語句或數(shù)據(jù)行并執(zhí)行:Missing例,page例,skip例,Include1例,104,Tabulate制表過程(Tabulate例),由分類變量、分析變量和統(tǒng)計(jì)量關(guān)鍵詞組成的表達(dá)式構(gòu)成描述
62、性統(tǒng)計(jì)報(bào)表。Tabulate過程的Table語句的操作符(星號(hào)、空格、園括號(hào),逗號(hào))1.交叉連接項(xiàng),即嵌套(使用*號(hào))2.項(xiàng)與項(xiàng)之間的并列連接,即平行(使用空格)3.改變次序(使用園括號(hào)),105,Tabulate制表過程,4.產(chǎn)生的報(bào)表最多三維:如果包含二維,次序?yàn)樾小⒘?;如果包含三維,次序?yàn)轫摗⑿?、列?維表達(dá)式間用逗號(hào)隔開;) 5. 用定義Pctn統(tǒng)計(jì)量的分母分類變量必須在class語句中說明分析變量必須在var語句
63、中列出,106,Tabulate制表過程,Proc tabulate過程的其他語句1. missing選項(xiàng):要求把缺失值作為分類變量的有效水平2. order=freq | data | internal | formatted規(guī)定報(bào)表中分類變量值出現(xiàn)的次序freq: 按頻數(shù)下降的次序data: 按原數(shù)據(jù)集中出現(xiàn)的先后次序internal: 按非格式化值的次序formatted: 按格式化值的次序,107,Tabulate
64、制表過程,Label語句用來對(duì)變量加標(biāo)簽Keylabel語句用來對(duì)統(tǒng)計(jì)量加標(biāo)簽統(tǒng)計(jì)量:N(字符型變量的默認(rèn)統(tǒng)計(jì)量), Nmiss, Mean, Std, Min, Max,Range, Sum(數(shù)值型變量默認(rèn)統(tǒng)計(jì)量),Var, Pctn(頻數(shù)N的百分?jǐn)?shù),后面參數(shù)為列變量則是行百分比,后面參數(shù)為行變量則是列百分比)F或format表示輸出使用一定的格式,如:a*f=8.2;,108,Tabulate制表過程,全類變量all,當(dāng)al
65、l嵌入某個(gè)交叉時(shí),all不考慮分類變量的水平,而用all來生成子集和及總和。如 B*(A all)、(all B)* (all A)Tabulate1例,109,上機(jī)練習(xí),按tabulate1例,模擬編制類似數(shù)據(jù),練習(xí)各種制表方法,110,第五部分 SAS/stat 模塊,STAT模塊的過程介紹,111,Freq過程(freq_cows,_eye例),Freq過程用于產(chǎn)生單向到n向的頻數(shù)表或交叉表以及針對(duì)表格的各種統(tǒng)計(jì)量。用星號(hào)連
66、接起來的變量,最后一個(gè)變量的值形成列,倒數(shù)第二個(gè)變量的值形成行,其余變量的每一個(gè)水平形成一層。如:table a*b*c*d;使用chisq卡方統(tǒng)計(jì)量,檢驗(yàn)變量間的相關(guān)性,原假設(shè)為變量間不相關(guān),112,SAS宏,利用宏可以減少在完成一些共同任務(wù)時(shí)必須輸入的文本量利用宏可以使程序模塊化,使程序易讀、便于修改、移植、方便重復(fù)使用,113,SAS宏變量,宏變量屬于SAS宏語言,與普通變量的區(qū)別是可以獨(dú)立于DATA步可以在SAS程序中除
67、數(shù)據(jù)行之外的任何地方定義并使用宏變量%let語句定義宏變量并分配一個(gè)值給宏變量(如:%let dsn=3)當(dāng)引用一個(gè)宏變量的值,放&號(hào)在宏變量前,114,SAS宏變量(macro_str,_var,_auto例),使用%str函數(shù)圍住宏變量的值,使得在這個(gè)值內(nèi)部的分號(hào)作為這個(gè)文本的部分,而不是%let語句的結(jié)束使用%put語句在LOG窗口顯示宏變量的值SAS/BASE中的自動(dòng)宏變量,如:sysver, systime(給
68、出SAS程序或會(huì)話開始執(zhí)行的時(shí)間);,115,SAS宏,用%macro語句開始一個(gè)宏,同時(shí)給出這個(gè)宏的名字。如:%macro dsn;用%mend語句結(jié)束一個(gè)宏,其后給出宏名字。如:%mend dsn;放一個(gè)百分?jǐn)?shù)符號(hào)(%)在宏名字的前面以調(diào)用一個(gè)宏,如%dsnMacro例,116,宏參數(shù),被定義在一個(gè)%macro語句的宏名字后括號(hào)內(nèi)的宏變量稱為宏參數(shù),可以直接給出宏參數(shù)的值,也可以在調(diào)用這個(gè)宏時(shí)給出這些參數(shù)的值。對(duì)參數(shù)分配的值
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人大經(jīng)濟(jì)論壇spss
- 創(chuàng)業(yè)實(shí)戰(zhàn)初級(jí)班教程(一)
- 蚊蟲及其防制初級(jí)班
- 輪滑 初級(jí)班教學(xué)
- 足球初級(jí)班活動(dòng)方案
- fpga應(yīng)用開發(fā)初級(jí)班環(huán)境
- 教孩子學(xué)象棋 初級(jí)班
- 數(shù)碼攝影知識(shí)初級(jí)班講座招生
- 羽毛球初級(jí)班訓(xùn)練計(jì)劃
- 舞龍(初級(jí)班)體育選項(xiàng)課教案
- ps初級(jí)班 1-0 軟件界面
- 人大經(jīng)濟(jì)學(xué)題庫
- 櫻花雨初級(jí)班復(fù)習(xí)詳細(xì)匯總
- 同等學(xué)歷考試閱讀初級(jí)班講義
- 小學(xué)古箏社團(tuán)初級(jí)班教學(xué)計(jì)劃
- 黨校47期初級(jí)班考試答案
- 小學(xué)古箏社團(tuán)初級(jí)班教學(xué)計(jì)劃
- 初級(jí)班競(jìng)賽題目-真耶穌教會(huì)
- 揚(yáng)州大學(xué)黨校初級(jí)班網(wǎng)上考試真題
- 初級(jí)班《第一個(gè)ribbon程序》
評(píng)論
0/150
提交評(píng)論