版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、SAS軟件與數(shù)學建模,鮮思東 重慶郵電大學 Email:,統(tǒng)計,生物,物理,化學,經(jīng)濟,保險,心理,教育,管理,內(nèi)容簡介,模塊簡介,SAS與Excel 的通訊,常用過程,SAS的學習,曲線擬合,非線性規(guī)劃,神經(jīng)網(wǎng)絡,多元統(tǒng)計,矩陣運算,回歸分析,模塊簡介,SAS系統(tǒng)的組成,SAS數(shù)據(jù)庫部分:其模塊為SAS/BASE。它也是其它 模塊的基礎,即其它模塊是建立在其基礎之上的,SAS分析核心:這一部分包括了許多模塊:,SAS/STAT:統(tǒng)計分析模塊:回歸分析、方差分析、 屬性數(shù)據(jù)分析、多變量分析、判別和聚類分析、殘存分析、心理測驗 分析和非參數(shù)分析等8類40多個過程。 SAS/ETS:經(jīng)濟預測或時間
2、序列分析模塊。如實用預測(逐步回歸、指數(shù)平滑等) 序列相關校正回歸、分布滯后回歸、ARIMA模型、狀態(tài)空間方法、譜分析和互譜 分析等。 SAS/OR:運籌學和工程管理模塊:可進行線性和非線性規(guī)劃,還包括項目管理, 時間安排和資源分配等問題的一整套方法。 SAS/QC:質(zhì)量控制和試驗設計模塊。 SAS/IML:矩陣運算模塊。 SAS/LAB:菜單驅(qū)動的面向任務的解釋引導式數(shù)據(jù)分析模塊。 SAS/INSIGHT:可視化數(shù)據(jù)探索工具模塊。 SAS/SPECTRAVIEW:多維數(shù)據(jù)觀測、分析、研究的交互式立體可視化工具模塊,模塊簡介,SAS系統(tǒng)的組成,SAS開發(fā)及呈現(xiàn)工具: SAS/AF:應用開發(fā)工具
3、。采用面向?qū)ο蟮募夹g,開發(fā)用戶自己的圖形用戶界面(GUI) 的應用系統(tǒng)。 SAS/EIS:行政管理系統(tǒng)或個人的信息系統(tǒng) SAS/GRAPH:圖形軟件包 SAS/GIS:集地理信息系統(tǒng)功能與空間數(shù)據(jù)的顯示分析于一體的軟件,SAS對分布處理模式的支持及其數(shù)據(jù)倉庫設計: SAS/ACCESS:與外部數(shù)據(jù)庫文件的接口模塊。 SAS/CONNECT:在網(wǎng)絡環(huán)境下,使各平臺上的SAS系統(tǒng)建立內(nèi)在聯(lián)系模塊。 實現(xiàn)分布處理,從而有效地利用各平臺數(shù)據(jù)和機器資源 SAS/SHARE:實行SAS系統(tǒng)中數(shù)據(jù)庫的并發(fā)控制的模塊,SAS與Excel 的通訊,SAS中數(shù)據(jù),Excel,SAS系統(tǒng)基礎,1 概述 1.1 SA
4、S顯示管理系統(tǒng) 1.2 SAS數(shù)據(jù)庫與數(shù)據(jù)集 2 SAS編程基礎 2.1 一個簡單SAS程序 2.2 SAS變量 2.3 SAS表達式 2.4 SAS函數(shù) 2.4.1 SAS函數(shù)概述 2.4.2 常用SAS函數(shù),3 DATA步 3.1 DATA步流程 3.2 INPUT語句 3.3 數(shù)據(jù)集的整理 3.4 數(shù)據(jù)集的連接與合并 3.5 SAS與外部數(shù)據(jù)的交換,Statistical Analysis System(縮寫為SAS): 是用于數(shù)據(jù)分析與決策支持的大型集成式 模塊化軟件系統(tǒng),在數(shù)據(jù)處理和統(tǒng)計分析領域,SAS系統(tǒng) 被譽為國際上的標準軟件系統(tǒng),四大任務:,數(shù)據(jù)訪問訪問任何形式和來源的數(shù)據(jù),數(shù)
5、據(jù)管理將數(shù)據(jù)轉(zhuǎn)變?yōu)榭捎眯问?數(shù)據(jù)呈現(xiàn)以文字、圖形和表格的形式展現(xiàn)數(shù)據(jù)信息,數(shù)據(jù)分析獲取有意義的信息,1. SAS顯示管理系統(tǒng),SAS系統(tǒng)的啟動 點擊圖標 ,啟動SAS系統(tǒng),命令窗口,菜單欄,工具欄,LOG窗,程序編輯窗,狀態(tài)欄,結(jié)果窗,資源管理器,結(jié)果輸出窗,演示,2. SAS數(shù)據(jù)庫與數(shù)據(jù)集,SAS數(shù)據(jù)庫:主要用于存放數(shù)據(jù)集和目錄.,SAS系統(tǒng) 庫,操作系統(tǒng) 文件夾,2. SAS數(shù)據(jù)庫與數(shù)據(jù)集,SAS數(shù)據(jù)庫:主要用于存放數(shù)據(jù)集和目錄.,臨時庫(WORK):SAS系統(tǒng)的臨時工作目錄,退出系統(tǒng)時, 其中的內(nèi)容全部刪除,永久庫: 與臨時庫相反.SAS提供SASUSER,SASHELP,2. SAS數(shù)
6、據(jù)庫與數(shù)據(jù)集,SAS數(shù)據(jù)庫:主要用于存放數(shù)據(jù)集和目錄.,創(chuàng)建用戶永久庫,用操作系統(tǒng)中的資源管理器,建立一文件夾,程序方式: libname 庫名 文件夾所在路徑,菜單方式: 點擊圖標 ,然后按要求操作.,在SAS系統(tǒng)中建庫,2. SAS數(shù)據(jù)庫與數(shù)據(jù)集,SAS數(shù)據(jù)庫:主要用于存放數(shù)據(jù)集和目錄.,創(chuàng)建用戶永久庫,例:在SAS中先用程序方式建立一名為COURSE的用戶庫;再用菜單方式建立一名為COURSE1的用戶庫。,操作,2. SAS數(shù)據(jù)庫與數(shù)據(jù)集,SAS數(shù)據(jù)集:主要用于存放數(shù)據(jù)文件。它一般由描述部分和 數(shù)據(jù)部分組成,也有一些數(shù)據(jù)集包含索引部分。 數(shù)據(jù)部分是存放數(shù)據(jù)的地方,它組織成一張二維表,其列
7、 表示變量,行表示觀測。 描述部分說明了數(shù)據(jù)集的一般信息,如數(shù)據(jù)集的名字和成員 類型;建立的日期和時間;觀測數(shù)以及變量個數(shù)、屬性等。,2. SAS數(shù)據(jù)庫與數(shù)據(jù)集,SAS數(shù)據(jù)集: 數(shù)據(jù)部分是存放數(shù)據(jù)的地方,它組織成一張二維表,其列 表示變量,行表示觀測。,觀測,變量,2. SAS數(shù)據(jù)庫與數(shù)據(jù)集,SAS數(shù)據(jù)集的引用:,庫名數(shù)據(jù)集名,園點連接符,Data bodyfat; inPUt sex $ fatpct ; fat=fatpct/100; cards; M 13.3 F 22 M 19 F 26 M 20 F 16 M 8 F 12 M 18 F 21.7 M 22 F 23.2 M 20 F
8、 21 M 31 F 28 M 21 F 30 M 12 F 23 M 16 M 12 M 24 RUN; PROC means data=bodyfat; var fatpct; run;,DATA 步,程序步,1、一個簡單SAS程序,該程序的結(jié)構(gòu)包括兩部分: 以關鍵詞DATA開始的DATA步;主要創(chuàng)建數(shù)據(jù)集,如此例中的bodyfat,同時也可以產(chǎn)生一些描述性統(tǒng)計和報表輸出; 以關鍵詞PROC開頭PROC步。PROC步則是系統(tǒng)預先寫好的執(zhí)行特殊任務的SAS子程序,如此例中的means過程,它主要是承擔數(shù)據(jù)的分析,同時也可產(chǎn)生相關的數(shù)據(jù)集。,1、一個簡單SAS程序,從該程序可以看出SAS程序的
9、特點: SAS程序是由SAS關鍵詞、SAS名字、特殊字符(如例子中的$號)和運算符組成的字符串,并以分號(;)結(jié)尾的SAS語句組成,它要求SAS系統(tǒng)執(zhí)行一種操作或給SAS系統(tǒng)提供信息。 SAS程序不區(qū)分大小寫,語句位置任意,一條語句的書寫既可起始于任何行、列,也可跨越多行,同時也可以將多條語句寫在一行。不過一個好的習慣是;DATA步和PROC步頂格書寫,在每個步驟內(nèi)的語句以縮進的方式書寫,這樣閱讀和理解起來方便。,1、一個簡單SAS程序,操作,SAS變量的命名:第一個字符必須是字母或下劃線(_);后面可跟1至32個字符(數(shù)字、字母或下劃線) 變量的屬性: 類型(type):數(shù)值型、字符型(定義
10、時變量后帶$) 長度(length):存儲該變量所用的字節(jié)數(shù)(缺省為8) 輸入格式(informat)/輸出格式(format): 標簽(label):對變量的作用給予描述。,2、SAS變量,輸入/輸出格式: 類型: 字符型:用于字符變量的現(xiàn)成格式 數(shù)值型:用于一般數(shù)值型變量的現(xiàn)成格式 日期時間型:用于日期和時間的現(xiàn)成格式 用戶定義:用于用戶自定義格式,2、SAS變量,輸入/輸出格式: 一般形式:格式名.,2、SAS變量,字符型變量,寬度,小數(shù)點后數(shù)值位數(shù),輸入/輸出格式: 字符格式:$w. $CHARw.,2、SAS變量,其含義是讀入或顯示字符變量的前w個字節(jié)。其缺省值 均為變量的長度。當變
11、量的長度未定時,$CHARw.格式 寬度的缺省值為8;對 $w.作為輸出格式時缺省寬度為1, 作為輸入格式時,必須提供w的值。 二者作為輸出格式時,均保留字符串前的空格; 但作為輸入格式時, $CHARw.保留字符串前的空格,而 $w.則刪除字符前的空格。,輸入/輸出格式: 數(shù)值輸入格式:w.d 數(shù)值輸出格式:BESTw.,2、SAS變量,BESTw.是缺省輸出格式。W的缺省值為12,最大可取32。 含義為將數(shù)值在規(guī)定的寬度下用最為精確有效的方式顯示。 若用定點方式表示可提供更多的有效數(shù)字就使用定點方式; 否則自動使用浮點數(shù)。,如: 數(shù)據(jù)集中數(shù)值 輸出格式 輸出表示 1257000 best6
12、. 1.26E6 1257000 best3. 1E6,輸入/輸出格式: 數(shù)值輸入格式:COMMAw.d,2、SAS變量,如: 原始數(shù)據(jù) 輸入格式 記入數(shù)值 $1,2345,6789 comma12.2 1234567.89 $1234,5678.9 comma12.2 12345678.9 ($1,2345,6789) comma14.2 -1234567.89,輸入/輸出格式: 數(shù)值輸出格式:COMMAw.d p=PROBCHI(5.6,4);/*求自由度為4的2分布不超過5.6的概率值p*/ T=1-2*(1-PROBT(2.4,8);/*求自由度為8的P|t|2.4*/ RUN; 在S
13、AS系統(tǒng)中操作,4.與統(tǒng)計有關的SAS函數(shù),4、SAS函數(shù),2.分位數(shù)函數(shù): 2分布的分位數(shù) CINV(p,df,nc) nc0) Beta分布的分位數(shù) BETAINV(p,a,b) F分布的分位數(shù) FINV(p,ndf,ddf,nc) T分布的分位數(shù) TINV(p,df,nc) 正態(tài)分布的分位數(shù) PROBIT(p) 標準正態(tài)分布的分位數(shù), 其結(jié)果在-5和5之間. Gamma分布的分位數(shù) GAMINV(p,a),4.與統(tǒng)計有關的SAS函數(shù),4、SAS函數(shù),2.分位數(shù)函數(shù): 舉例: DATA A; Q1=FINV(0.025,2,10);/*求自由度為(2,10)的F分布的2.5%分位數(shù)Q1*/
14、 Q2=FINV(0.975,2,10);/*求自由度為(2,10)的F分布的97.5%分位數(shù)Q2*/ Q3=FINV(0.95,2,10,3.2);/* 非中心值為3.2的F分布的95%的分位數(shù),其自由度為(2,10)*/ RUN;,演示,4.與統(tǒng)計有關的SAS函數(shù),4、SAS函數(shù),3.隨機數(shù)函數(shù):,均勻分布隨機數(shù) UNIFORM(seed) 其乘子為16807,模為231的乘同余發(fā)生器和一個 64位數(shù)的攪亂表形成的組合發(fā)生器,seed必須是常數(shù),它或是0或5位, 6位,7位的奇數(shù)。 RANUNI(seed) 其乘子為397204094,模為231-1的素數(shù)發(fā)生器,seed 必須是小于模23
15、1-1任何常數(shù)。 標準正態(tài)分布隨機數(shù) NORMAL(seed) RANNOR(seed) 一般正態(tài)分布N(,2)可由如下變換得到:,4.與統(tǒng)計有關的SAS函數(shù),4、SAS函數(shù),3.隨機數(shù)函數(shù):,指數(shù)分布隨機數(shù) RANEXP(seed) 產(chǎn)生=1的指數(shù)分布的隨機數(shù). Y=RANEXP(seed)/,則產(chǎn)生一般指數(shù)分布隨機數(shù) 若Y=-*LOG(RANEXP(seed),則Y為具有位置參數(shù) 和尺度參數(shù)為的極值分布隨機變量 若Y=FLOOR(-RANEXP(seed)/LOG(p),則Y為具有參數(shù)p的幾何分布變量,4.與統(tǒng)計有關的SAS函數(shù),4、SAS函數(shù),3.隨機數(shù)函數(shù):,伽馬分布隨機數(shù) RANGA
16、M(seed,).它用組合法產(chǎn)生參數(shù)為非整數(shù)的GAMMA隨機數(shù).非整數(shù) 可表示為整數(shù)部分和小數(shù)部分的和:=+(-).用逆變換方法產(chǎn)生參數(shù)為 整數(shù)的GAMMA隨機數(shù)X1,用舍選法產(chǎn)生參數(shù)為小數(shù)(-)的GAMMA隨機 數(shù)X2,那么X1+X2即為參數(shù)為的GAMMA隨機數(shù) 設X=RANGAM(seed,),則Y= X /為形狀參數(shù)為,尺度參數(shù)為的GAMMA分 布隨機數(shù); 若2*為整數(shù),且Y=2*X,則Y是具有自由度為2*的卡方分布隨機數(shù); 若=n (正整數(shù))且Y= X/,那么Y是Erlang(厄蘭)分布隨機數(shù).它是n個獨立的均值 為的指數(shù)分布變量的和; 若Y1=RANGAM(seed,),Y2=RAN
17、GAM(seed,),則Y=Y1/(Y1+Y2)是參數(shù)為和 的貝塔分布隨機數(shù),4.與統(tǒng)計有關的SAS函數(shù),4、SAS函數(shù),3.隨機數(shù)函數(shù):,三角分布隨機數(shù) RANTRI(seed,h) 0h1 其密度函數(shù)為: 的三角分布隨機數(shù). 對一般區(qū)間a,b上的三角形分布隨機數(shù)Y,可由0,1區(qū)間上三角形分布的隨機數(shù)的 線性變換得到.即: Y=(b-a)*RANTRI(seed,h)+a h=(c-a)/(b-a) ca,b,4.與統(tǒng)計有關的SAS函數(shù),4、SAS函數(shù),3.隨機數(shù)函數(shù):,柯西分布隨機數(shù) RANCAU(seed) 用舍選法產(chǎn)生 Y=+*RANCAU(seed),則Y是位置參數(shù)為,尺度參數(shù)為的一
18、般柯西分布隨機數(shù) 二項分布隨機數(shù) RANBIN(seed,n,p) 波松分布隨機數(shù) RANPOI(seed,) 離散分布隨機數(shù) RANTBL(seed,p1,p2,pn) 此函數(shù)產(chǎn)生一個由p1到pn定義的概率 密度函數(shù)的變量.它返回數(shù)值1,2,3,n,且具以下概率分布: 1 2 3 n p1 p2 p3 pn,4.與統(tǒng)計有關的SAS函數(shù),4、SAS函數(shù),3.隨機數(shù)函數(shù):,關于種子數(shù)(seed): 當SEED0時,則取系統(tǒng)當前的日期時間值作為初始值 隨機數(shù)函數(shù)每次執(zhí)行時雖然當前的種子不斷變化,但自變量SEED的值保持不變. 因此不可能控制初始化之后的隨機數(shù).若想控制隨機數(shù)流,可使用CALL 子程
19、序 Call ranbin(seed,n,p,x) Call rancau(seed,x) Call ranexp(seed,x) Call rannor(seed,x) Call ranpoi(seed,x) Call rantbl(see,p1,p2,pn,x) Call rantri(seed,h,x) Call ranuni(seed,x) Call rangam(seed,a,x),4.與統(tǒng)計有關的SAS函數(shù),4、SAS函數(shù),4.樣本統(tǒng)計函數(shù) :,均值 MEAN(OF X1-Xn) 或 MEAN(X,Y,Z,) (注:缺失值不含在內(nèi)) 最大值 MAX(OF X1-Xn) 或 MAX(
20、X,Y,Z,) (注:缺失值不含在內(nèi)) 最小值 MIN(OF X1-Xn) 或 MIN(X,Y,Z,) (注:缺失值不含在內(nèi)) 非缺失值的個數(shù) N(OF X1-Xn) 或 N(X,Y,Z,) 缺失數(shù)據(jù)的個數(shù) NMISS(OF X1-Xn) 或 NMISS(X,Y,Z,) 求和 SUM(OF X1-Xn) 或 SUM(X,Y,Z,)(注:缺失值不含在內(nèi)) 方差 VAR(OF X1-Xn) 或 VAR(X,Y,Z,) (注:缺失值不含在內(nèi)) 標準差 STD(OF X1-Xn) 或 STD(X,Y,Z,) (注:缺失值不含在內(nèi)),4.與統(tǒng)計有關的SAS函數(shù),4、SAS函數(shù),4.樣本統(tǒng)計函數(shù) :,標準
21、誤差 STDERR(OF X1-Xn) 或 STDERR(X,Y,Z,)(注:缺失值不含在內(nèi)) 變異系數(shù) CV(OF X1-Xn) 或 CV(X,Y,Z,)(注:缺失值不含在內(nèi)) 極差 RANGE(OF X1-Xn) 或 RANGE(X,Y,Z,)(注:缺失值不含在內(nèi)) 偏差平方和(校正平方和) CSS(OF X1-Xn) 或 CSS(X,Y,Z,)(注:缺失值不含在內(nèi)) 未校正的平方和 USS(OF X1-Xn) 或 USS(X,Y,Z,)(注:缺失值不含在內(nèi)) 偏斜度 SKEWNESS(OF X1-Xn) 或 SKEWNESS(X,Y,Z,)(注:缺失值不含在內(nèi)) 峰度 KURTOSIS(
22、OF X1-Xn) 或 KURTOSIS(X,Y,Z,)(注:缺失值不含在內(nèi)),編譯階段和執(zhí)行階段,1、DATA步流程,編譯階段(Compilation Phase): 語法檢查。若出現(xiàn)嚴重錯誤,則停止執(zhí)行。 將程序轉(zhuǎn)換為機器碼,代執(zhí)行階段使用 建立工作部件,輸入緩沖器(Input Buffer) 建立工作部件PDV( Program Data Vector ) 確定數(shù)據(jù)集中各個變量的三個必須的屬性:變量名,類型,長度 建立新建數(shù)據(jù)集的描述部分,編譯階段和執(zhí)行階段,1、DATA步流程,編譯階段(Compilation Phase):,語法檢查的主要內(nèi)容: 漏掉或錯拼的關鍵詞 無效的變量名 遺漏
23、或錯誤的符號 無效的選擇項,編譯階段和執(zhí)行階段,1、DATA步流程,編譯階段(Compilation Phase):,在內(nèi)存中建立程序數(shù)據(jù)矢量PDV 用于建立SAS系統(tǒng)的數(shù)據(jù)集,一次只處理一個觀測 兩個自動變量 _N_ 記錄DATA步執(zhí)行的次數(shù) _ERROR_指示出錯信息. 0表示無錯誤,1表示有錯誤,PDV的一般格式: |_N_|_ERROR_| |,編譯階段和執(zhí)行階段,1、DATA步流程,編譯階段(Compilation Phase):,建立數(shù)據(jù)集的描述部分 數(shù)據(jù)集名 觀測數(shù)和變量個數(shù) 變量名及其屬性,編譯階段和執(zhí)行階段,1、DATA步流程,執(zhí)行階段(Execution Phase): 創(chuàng)
24、建數(shù)據(jù)集的數(shù)據(jù)部分,執(zhí)行順序 PDV中外部為題初始化為缺省值 輸入每條記錄至輸入緩沖器,按INPUT語句讀至PDV 按數(shù)據(jù)步的其它語句處理后存入PDV 在數(shù)據(jù)步結(jié)束時缺省地將PDV的內(nèi)容作為一條觀測 寫入新的數(shù)據(jù)集 回到數(shù)據(jù)步的開始.使PDV中外部變量初始化為缺省值 對源文件中每條記錄都按上述步驟執(zhí)行一次 當對源文件最后一條記錄執(zhí)行結(jié)束后,數(shù)據(jù)步執(zhí)行完成.,編譯階段,1、DATA步流程,data bodyfat; inPUt sex $ fatpct; fat=fatpct/100; cards; M 13.3 F 22 RUN;,程序數(shù)據(jù)矢量 |_N_|_ERROR_|SEX|FATPCT|
25、 | | | | |,data bodyfat; inPUt sex $ fatpct ; fat=fatpct/100; cards; M 13.3 F 22 RUN;,程序數(shù)據(jù)矢量 |_N_|_ERROR_|SEX|FATPCT|FAT| | | | | | |,數(shù)據(jù)集名:bodyfat 變量的個數(shù)(從PDV中可知) 觀測個數(shù)(執(zhí)行 到RUN時也已知) 變量名及屬性(從PDV中可知),執(zhí)行階段,1、DATA步流程,data bodyfat; inPUt sex $ fatpct ; fat=fatpct/100; cards; M 13.3 F 22 RUN;,程序數(shù)據(jù)矢量 |_N_|_E
26、RROR_|SEX|FATPCT|FAT| | 1 | 0 | M | 13.3 | . |,初始缺省值,data bodyfat; inPUt sex $ fatpct ; fat=fatpct/100; cards; M 13.3 F 22 RUN;,程序數(shù)據(jù)矢量 |_N_|_ERROR_|SEX|FATPCT|FAT| | 1 | 0 | | . | . |,data bodyfat; inPUt sex $ fatpct ; fat=fatpct/100; cards; M 13.3 F 22 RUN;,程序數(shù)據(jù)矢量 |_N_|_ERROR_|SEX|FATPCT|FAT| | 1 |
27、 0 | M | 13.3 | 0.133 |,將 M 13.3 0.133寫入數(shù)據(jù)集bodyfat,一個觀測被處理完后,這時SAS系統(tǒng)首先將程序數(shù)據(jù)矢量中的數(shù)據(jù)寫入數(shù)據(jù)集中(兩個自動變量的值并不寫入,此值可在其他編程是使用),同時SAS系統(tǒng)將控制又返回到DATA步的開頭,程序開始第二個觀測的處理,此過程一直到?jīng)]有觀測要處理為止。,1、DATA步流程,常用的有三種方式:自由格式、列方式、規(guī)定格式,2、INPUT語句,自由格式:,輸入格式 input 變量名1$ 變量名2$ | ; 特點: 輸入的數(shù)據(jù)之間至少要用一個空格隔開 input中定義的變量順序應與數(shù)據(jù)區(qū)中數(shù)據(jù)值對應 一行一條觀測(無|
28、選項時),常用的有三種方式:自由格式、列方式、規(guī)定格式,2、INPUT語句,自由格式:,例子,data A; input sex $ fatpct; cards; M 13.3 F 22 M 19 F 26 run;,數(shù)據(jù)集A中的數(shù)據(jù) Sex fatpct M 13.3 F 22 M 19 F 26,常用的有三種方式:自由格式、列方式、規(guī)定格式,2、INPUT語句,自由格式:,和的作用,data A; input x y; cards; 11 22 33 44 55 66 77 88 run;,數(shù)據(jù)集A中的數(shù)據(jù) x y 22 44 66 77 88,data B; input x; input
29、 y; cards; 11 22 33 44 55 66 77 88 run;,data C; input x; input y; cards; 11 22 33 44 55 66 77 88 run;,數(shù)據(jù)集B中的數(shù)據(jù) x y 22 55 66,數(shù)據(jù)集B中的數(shù)據(jù) x y 55,常用的有三種方式:自由格式、列方式、規(guī)定格式,2、INPUT語句,列方式:,輸入格式 input 變量名 $ 起始列-終止列 ; 特點: 輸入的數(shù)據(jù)按固定的格式排列 可將含空格的字符串賦值給字符型變量 可只讀取數(shù)據(jù)區(qū)中某些數(shù)據(jù),常用的有三種方式:自由格式、列方式、規(guī)定格式,2、INPUT語句,列方式:,已知數(shù)據(jù)為 1
30、2 3 1-5-0-5-0-5-0 張 軍01APR75男807984 王衛(wèi)紅24OCT78女959689,input name$ 1-6 dmy$ 7-13 sex$ 14-15 math 16-17 phy 18-19 eng 20-21;,input name$ 1-6 sex$ 14-15 dmy$ 7-13 phy 18-19;,常用的有三種方式:自由格式、列方式、規(guī)定格式,2、INPUT語句,規(guī)定格式:,輸入格式 input 位置控制指針 變量名 $ 讀入格式 ; 特點: 適用于字段固定格式的數(shù)據(jù) 給出字段開始列數(shù),通過輸入格式給出讀入長度 可設定輸入格式,常用的有三種方式:自由格
31、式、列方式、規(guī)定格式,2、INPUT語句,規(guī)定格式:,位置控制指針 n 表示將輸入指針移動到第n列,這是指針的絕對位置移動 +n 表示將輸入指針向后移動n列,這是指針的相對移動,讀入格式(見前面所述),常用的有三種方式:自由格式、列方式、規(guī)定格式,2、INPUT語句,規(guī)定格式:,例,已知數(shù)據(jù)為 1 2 3 1-5-0-5-0-5-0 張 軍01APR75男807984 王衛(wèi)紅24OCT78女959689,input 1 name$ 6. dmy date7. sex$ 2. math 2. phy 2. eng 2.; input name$ 6. 14 sex$ 2. 7 dmy date7
32、. +4 phy 2.;,為了對數(shù)據(jù)進行分析,有時還要對以有的數(shù)據(jù)集進行整理,如提取需要處理的變量或觀測等,這樣才能滿足各種分析的要求,3、數(shù)據(jù)集的整理,常用的操作有: 賦值 累加 語句DROP,KEEP,IF,DO END,賦值語句 它是將某個SAS表達式的值賦給變量,其格式為:變量=表達式。若變量已經(jīng)存在,則表示對該變量的值進行修改,否則表示建立一個新變量,3、數(shù)據(jù)集的整理,累加語句 格式為:累加變量+表達式,它表示把表達式的結(jié)果 加到累計變量中。注意累加變量只能是數(shù)值型變量,且最好將 表達式用小括號括起來,即累加變量+(表達式)。在第一個 觀測被讀取之前,其值被自動置0,若表達式為缺失值
33、,則將 表達式當作0處理,DROP和KEEP語句 格式為: DROP 變量表 表示將所列的變量不輸出到所建立的數(shù)據(jù)集。 KEEP 變量表 表示將所列出的變量輸出到所建立的數(shù)據(jù)集。,3、數(shù)據(jù)集的整理,這兩種方法事實上可達到同樣的效果,即選擇數(shù)據(jù)集中的變量。 這兩種形式要看哪種方便就用哪個,若要保留的變量少,可直 接用KEEP=語句,這樣等式右邊列出的變量個數(shù)少,比較方便; 若不需要的變量少,用DROP=語句則較方便。,例,3、數(shù)據(jù)集的整理,data B; input name$ 1-6 dmy date7. sex$ 14-15 math 16-17 phy 18-19 eng 20-21; t
34、otal=sum(math,phy); teng+eng; drop dmy sex;/*此句亦可用KEEP NAME MATH PHY ENG TOTAL TENG;替代。*/ cards; 張 軍01MAR75男807984 王衛(wèi)紅24JUL78女959689 run;,輸出結(jié)果 OBS NAME MATH PHY ENG TOTAL TENG 1 張 軍 80 79 84 159 84 2 王衛(wèi)紅 95 96 89 191 173,條件語句 IF條件語句 格式為: IF 條件表達式 THEN SAS語句; ELSE sas語句; 其意義為如果條件表達式為真(其值非0),則去執(zhí)行THEN后
35、面的SAS語句。若條件表達式為假(其值為0),則去執(zhí)行ELSE后面的SAS語句(當ELSE選項存在時)或下一條SAS語句(ELSE語句不存在時)。,3、數(shù)據(jù)集的整理,條件語句 子集IF語句 格式為: IF 條件表達式; 它表示當條件表達式為真時,SAS系統(tǒng)對正被處理的觀測繼續(xù)執(zhí)行IF語句后面的語句;若表達式為假,則返回執(zhí)行下一個DATA步,3、數(shù)據(jù)集的整理,循環(huán)語句 簡單DO語句 格式: DO; 多個sas語句; END; 這時的DO END象是一對括號,將多個SAS語句封裝起來,它通常IF語句聯(lián)合使用,3、數(shù)據(jù)集的整理,循環(huán)語句 簡單DO語句 IF SEX=男 THEN DO; MATH=M
36、ATH+2; PHY=PHY-4; TOTAL=SUM(MATH,PHY); END; ,3、數(shù)據(jù)集的整理,相當于 IF SEX=男 THEN MATH=MATH+2; IF SEX=男 THEN PHY=PHY-4; IF SEX=男 THEN TOTAL=SUM(MATH,PHY);,循環(huán)語句 循環(huán)DO語句 格式: DO 循環(huán)變量=初值 TO 終值 BY 步長; 若干SAS語句;(循環(huán)體) END;,3、數(shù)據(jù)集的整理,括號內(nèi)的終值和步長均為可選項,當無步長時,其值為1,當無終值時,循環(huán)體中 至少有一語句控制循環(huán)的結(jié)束,否則就為一死循環(huán).其執(zhí)行過程是,循環(huán)變量在 取得初值后,結(jié)合步長方向,同
37、終值進行比較,若沒有超過終值,則執(zhí)行一次循環(huán) 體,循環(huán)變量增加一個步長,繼續(xù)下一輪的執(zhí)行,直到循環(huán)變量超過終值為止.要 注意在循環(huán)體內(nèi)不要對循環(huán)變量進行操作,以免出現(xiàn)死循環(huán),另外循環(huán)變量也會 被寫到所建的數(shù)據(jù)集,若不需要,可用DROP語句將其刪除.,循環(huán)語句 循環(huán)DO語句 格式: DO 循環(huán)變量=值1,值2,值3,; 若干SAS語句;(循環(huán)體) END;,3、數(shù)據(jù)集的整理,如: Do I=2 to 10 by 2; Do j=10 to 2 by 2; Do k=3.6 to 4.8 by 0.05; Do n=1,5,15,30,60; Do month=JAN,FEB,MAR; Do q=
38、k to n/10;,循環(huán)語句 循環(huán)DO WHILE語句 格式: DO WHILE 條件表達式; 若干SAS語句;(循環(huán)體) END;,3、數(shù)據(jù)集的整理,此循環(huán)語句執(zhí)行的過程是:當條件表達式為真時,執(zhí)行循環(huán)體, 直到條件表達式為假為止.它是先判斷條件,再執(zhí)行循環(huán)體,循環(huán)語句 循環(huán)DO UNTIL語句 格式: DO UNTIL 條件表達式; 若干SAS語句;(循環(huán)體) END;,3、數(shù)據(jù)集的整理,它首先執(zhí)行循環(huán)體一次,之后再進行條件的判斷, 若條件為假,則繼續(xù)下一次循環(huán), 若條件為真,則循環(huán)結(jié)束,OUTPUT語句,3、數(shù)據(jù)集的整理,data CM CF; input name$ 1-6 dmy
39、7-13 sex$ 14-15 math 16-17 phy 18-19 eng 20-21; if sex=男 then output CM; if sex=女 then output CF; drop dmy sex;/*此句亦可用KEEP NAME MATH PHY ENG TOTAL TENG;替代。*/ cards; 張 軍01MAR75男807984 王衛(wèi)紅24JUL78女959689 run;,一次產(chǎn)生兩個數(shù)據(jù)集: 數(shù)據(jù)集CM中只含男性的觀測, 數(shù)據(jù)集CF中則只含有性別為女的觀測,3、數(shù)據(jù)集的整理,注釋語句 一個好的編程習慣是對程序進行恰當?shù)淖⑨?以防止 遺忘和增加可讀性. 給程
40、序加注釋的格式有兩種: * 注釋內(nèi)容;整句注釋(后面的;號不能少) /* 注釋內(nèi)容 */ (任意內(nèi)容注釋),4、數(shù)據(jù)集的連接與合并,A,B,A,B,連接,合并,+,+,4、數(shù)據(jù)集的連接與合并,連接,數(shù)據(jù)集的連接 數(shù)據(jù)集的連接是將數(shù)據(jù)集縱向連接起來,其主要目的給數(shù)據(jù)集追加觀測。 這一功能可由SET語句完成, 其格式如下:SET 數(shù)據(jù)集1(選項) ; 常用的選項有: KEEP=變量表 只打開由變量表中所列出的變量. DROP=變量表 變量表中所列出的變量將不被打開。 FIRSTOBS=n1 從第n1個觀測開始以后的觀測將被選入新建數(shù)據(jù)集. OBS= n2 新建數(shù)據(jù)集的觀測到第n2個觀測為止. RE
41、NAME=(原變量名=新變量名) 將原變量名改為新變量名.,4、數(shù)據(jù)集的連接與合并,連接,data A; input no name$ math phy eng; cards; 9701 wanglei 90 86 79 9702 wanghao 98 97 90 9703 gudexian 87 86 94 9706 zhuming 96 87 86 run;,data B; input no name$ math phi chem geo; Cards; 9701 wanglei 90 86 89 76 9702 wanghao 98 97 69 72 9704 zhuzhun 88 76
42、 78 68 9705 chaoyin 64 85 76 66 run;,數(shù)據(jù)集A: no name math phy eng 9701 wanglei 90 86 79 9702 wanghao 98 97 90 9703 gudexian 87 86 94 9706 zhuming 96 87 86,數(shù)據(jù)集B no name math phi chem geo 9701 wanglei 90 86 89 76 9702 wanghao 98 97 69 72 9704 zhuzhun 88 76 78 68 9705 chaoyin 64 85 76 66,4、數(shù)據(jù)集的連接與合并,連接,d
43、ata C; set A(drop=eng) B(drop=chem geo rename=(phi=phy); run;,OBS NO NAME MATH PHY 1 9701 wanglei 90 86 2 9702 wanghao 98 97 3 9703 gudexian 87 86 4 9706 zhuming 96 87 5 9701 wanglei 90 86 6 9702 wanghao 98 97 7 9704 zhuzhun 88 76 8 9705 chaoyin 64 85,4、數(shù)據(jù)集的連接與合并,連接,若不用選項,直接使用,其結(jié)果如下: data C1; set A
44、B; run;,OBS NO NAME MATH PHY ENG PHI CHEM GEO 1 9701 wanglei 90 86 79 . . . 2 9702 wanghao 98 97 90 . . . 3 9703 gudexian 87 86 94 . . . 4 9706 zhuming 96 87 86 . . . 5 9701 wanglei 90 . . 86 89 76 6 9702 wanghao 98 . . 97 69 72 7 9704 zhuzhun 88 . . 76 78 68 8 9705 chaoyin 64 . . 85 76 66,4、數(shù)據(jù)集的連接與
45、合并,合并,數(shù)據(jù)集的合并是將不同數(shù)據(jù)集中的觀測合并成一個 新的觀測??捎肕ERGE語句實現(xiàn)此目的,一對一合并 它是將多個數(shù)據(jù)集中第一條觀測 合并成新數(shù)據(jù)集的第一條觀測,第二條觀測合并 成新數(shù)據(jù)集的第二條觀測,等等,沒有的用缺失值替代,4、數(shù)據(jù)集的連接與合并,合并,data AA; input x1 x2 ; cards; 1 2 7 8 4 5 ; data BB; input x1 y1 y2; cards; 11 22 33 44 55 66 run; data aabb; merge AA BB; run;,數(shù)據(jù)集AA: x1 x2 1 2 7 8 4 5,數(shù)據(jù)集BB: x1 y1 y2
46、 11 22 33 44 55 66,merge,數(shù)據(jù)集aabb obs x1 x2 y1 y2 1 11 2 22 33 2 44 8 55 66 3 4 5 . .,4、數(shù)據(jù)集的連接與合并,合并,匹配合并 這種合并是按某一公共變量的值進行 橫向連接,其做法是首先對公共變量進行排序,然 后再進行合并。,4、數(shù)據(jù)集的連接與合并,合并,匹配合并,data A; input no name$ math phy eng; cards; 9701 wanglei 90 86 79 9702 wanghao 98 97 90 9703 gudexian 87 86 94 9706 zhuming 96
47、87 86 run; data B; input no name$ math phi chem geo; Cards; 9701 wanglei 90 86 89 76 9702 wanghao 98 97 69 72 9704 zhuzhun 88 76 78 68 9705 chaoyin 64 85 76 66 run;,proc sort data=a; by no; run; proc sort data=b; by no; run; data C; merge A B; by no; run;,本章目錄,4、數(shù)據(jù)集的連接與合并,合并,匹配合并,OBS NO NAME MATH PH
48、Y ENG PHI CHEM GEO 1 9701 wanglei 90 86 79 86 89 76 2 9702 wanghao 98 97 90 97 69 72 3 9703 gudexian 87 86 94 . . . 4 9704 zhuzhun 88 . . 76 78 68 5 9705 chaoyin 64 . . 85 76 66 6 9706 zhuming 96 87 86 . . .,5、SAS與外部數(shù)據(jù)的交換,設e:example 目錄下有以下三個文件EX1.DBF、EX2.XLS、EX3.TXT, 則三者分別與SAS之間進行文件轉(zhuǎn)換如下,編程方式,dbf文件轉(zhuǎn)換
49、成SAS數(shù)據(jù)集,SAS數(shù)據(jù)集轉(zhuǎn)換成dbf文件,filename ex1 e:exampleex1.dbf; proc dbf db3=ex1 OUT=DBF2SAS; run;,filename ex11 e:examplesas2dbf.dbf; proc dbf db3=ex11 data=DBF2SAS; run;,5、SAS與外部數(shù)據(jù)的交換,設e:example 目錄下有以下三個文件EX1.DBF、EX2.XLS、EX3.TXT, 則三者分別與SAS之間進行文件轉(zhuǎn)換如下,編程方式,EXCEL文件轉(zhuǎn)換為SAS數(shù)據(jù)集,SAS數(shù)據(jù)集轉(zhuǎn)換為EXCEL文件,filename ex2 e:exam
50、pleex2.xls; proc dbf db3=ex2 OUT=XLS2SAS; run;,filename ex22 e:exampleSAS2XLS.xls; proc dbf db3=ex22 data=XLS2SAS; run;,5、SAS與外部數(shù)據(jù)的交換,設e:example 目錄下有以下三個文件EX1.DBF、EX2.XLS、EX3.TXT, 則三者分別與SAS之間進行文件轉(zhuǎn)換如下,編程方式,文本文件轉(zhuǎn)換為SAS數(shù)據(jù)集,SAS數(shù)據(jù)集轉(zhuǎn)換為文本文件,設文本文件的內(nèi)容如下: 9701 wanglei 90 86 9702 wanghao 98 97 9703 gudexian 87
51、86 9706 zhuming 96 87 則: filename ex3 e:exampleex3.txt; data txt2sas; infile ex3; input no name$ math phy; run;,DATA _null_; /*表示不建數(shù)據(jù)集, _null_為SAS的關鍵詞 */ SET TXT2SAS; FILE E:EXAMPLESAS2TXT.TXT;/*指出存放的文件位置*/ PUT NO 4. NAME8. MATH 2. PHY2. ;/*存在文件中的變量及格式*/ RUN;,5、SAS與外部數(shù)據(jù)的交換,設e:example 目錄下有以下三個文件EX1.D
52、BF、EX2.XLS、EX3.TXT, 則三者分別與SAS之間進行文件轉(zhuǎn)換如下,菜單方式,外部數(shù)據(jù)文件轉(zhuǎn)成SAS數(shù)據(jù)集 (將hald.xls轉(zhuǎn)成SAS數(shù)據(jù)集),MEANS過程,1 描述性統(tǒng)計及SAS相關過程,MEANS過程的格式及語句說明,1.格式,PROC MEANS 選擇項; VAR 變量表; BY 變量表; CLASS 變量表; FREQ 變量表; WEIGHT 變量; ID 變量表; OUTPUT OUT=SAS數(shù)據(jù)集 統(tǒng)計量關鍵詞=變量名表,必需的語句,可選擇語句,MEANS過程的格式及語句說明,2.語句說明,選擇項,DATA=SAS數(shù)據(jù)集名,指明進行分析的數(shù)據(jù)集名,其缺省值為最近建
53、立的SAS數(shù)據(jù)集。 NOPRINT不打印任何描述性統(tǒng)計量。此選項多用在將描述性統(tǒng)計量輸出到SAS數(shù)據(jù)集時。 缺省時的規(guī)定輸出描述統(tǒng)計量,即PRINT選項。 MAXDEC=n指定輸出結(jié)果小數(shù)部分的最大位數(shù),n的取值范圍為08,缺省值為n=2 ALPHA=值,指定顯著性水平的值。 VARDEF=除數(shù) 指定計算方差所用的除數(shù)。除數(shù)可以用以下關鍵字表示: 1. DF 用自由度(N-1)做除數(shù),這是缺省設置。 2. N 用觀測數(shù)做除數(shù)。 3. WEIGHT | WGT 用權(quán)重和做除數(shù)。 4. WDF 用權(quán)重和減1做除數(shù)。,MEANS過程的格式及語句說明,2.語句說明,選擇項,統(tǒng)計量用關鍵詞表示: N、m
54、ean、std、min、max、Nmiss、range、sum、var、 uss、css、cv、stderr、t、prt、sumwgt、skewness、krutosis、 clm、lclm、uclm等, 其中前五個統(tǒng)計量為缺省時的值. 要得到這些統(tǒng)計量,只需給出相關的關鍵詞即可. 這此關鍵詞亦可用于OUTPUT語句中。 clm是計算置信上限和下限;lclm計算置信下限;uclm計算置信上限。,MEANS過程的格式及語句說明,2.語句說明,VAR 變量表,規(guī)定要進行計算的數(shù)值變量及順序。該語句缺省時,除由BY、CLASS、 FREQ和WEIGHT指定的變量外,其余的數(shù)值變量均進行計算。,BY
55、變量表,根據(jù)BY后指定的變量表形成多個觀測組,然后對每組分別計算相應的 統(tǒng)計量,不過在使用該語句之前,應對BY后面指定的變量表進行過排序。,CLASS 變量表,此語句的作用與BY語句類似,其不同之處是它不要求事先對CLASS 的變量表進行排序,且在輸出時,按CLASS變量的不同取值,以單頁輸出。,MEANS過程的格式及語句說明,2.語句說明,FREQ 變量,指定其后的變量代表的是頻數(shù),此語句當數(shù)據(jù)集是頻數(shù)表資料時才使用。,用ID后面指定的變量表的值來標識輸出的觀測。,ID 變量表,指定其后的變量代表權(quán)重。該變量的值應大于零,若某值小于零或缺失, 則取該值為0。,WEIGHT 變量,例如,設變量
56、X,其一組觀測值為 ,用WEIGHT語句 規(guī)定權(quán)重變量為W,相應的值為 ,( ), 則加權(quán) 均值 和加權(quán)方差 為: , 其中除數(shù)由任選項VARDEF=確定。,MEANS過程的格式及語句說明,2.語句說明,該語句將結(jié)果輸出到某SAS數(shù)據(jù)集,其中OUT=SAS數(shù)據(jù)集指明將結(jié)果保存的數(shù)據(jù)集,若要創(chuàng)建永久數(shù)據(jù)集則要用兩級命名。統(tǒng)計量關鍵詞見選擇項中的說明,OUTPUT OUT=SAS數(shù)據(jù)集 統(tǒng)計量關鍵詞=變量名表,規(guī)定統(tǒng)計量并命名的形式有以下三種:,OUTPUT OUT=SAS數(shù)據(jù)集 統(tǒng)計量關鍵詞=變量名表,關鍵詞=;或關鍵詞(變量表)=;表示輸出的數(shù)據(jù)集中計算由關鍵詞指定的 統(tǒng)計量,其名字仍為原變量
57、名。前者要計算的變量和順序由VAR語句指 定,而后者則由關鍵詞括號中的變量表指定。 關鍵詞=名字列表;表示輸出的統(tǒng)計量的名字為等號右邊的名字列表指定, 計算的變量和順序也是由VAR語句指定。 關鍵詞(變量表)=名字列表;這結(jié)合前面兩者的優(yōu)點,既可控制要計算的 變量及順序,也可按自已的要求給計算的統(tǒng)計量取名字。,MEANS過程的格式及語句說明,3.例子,對120個爐鋼中的SI含量進行檢驗,得數(shù)據(jù)如下: 0.86 0.78 0.83 0.84 0.77 0.84 0.81 0.84 0.81 0.81 0.80 0.81 0.79 0.74 0.82 0.78 0.82 0.78 0.81 0.80 0.81 0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦學擔保合同范本
- 農(nóng)村房屋購銷合同范本
- 人工測試合同范例
- 保溫涂料施工合同范本
- 出租空地合租大棚合同范本
- 兵役登記合同范例
- 產(chǎn)品攝影合同范例
- pc總包合同范本
- 2025年工業(yè)廠房合同轉(zhuǎn)讓與土地儲備及開發(fā)協(xié)議
- 臨夏求購路燈合同范本
- 房車露營地的研究課件
- 園藝療法共課件
- DB33T 628.1-2021 交通建設工程工程量清單計價規(guī)范 第1部分:公路工程
- 醫(yī)院-9S管理共88張課件
- 設立登記通知書
- 2022醫(yī)學課件前列腺炎指南模板
- MySQL數(shù)據(jù)庫項目式教程完整版課件全書電子教案教材課件(完整)
- 藥品生產(chǎn)質(zhì)量管理工程完整版課件
- 《網(wǎng)絡服務器搭建、配置與管理-Linux(RHEL8、CentOS8)(微課版)(第4版)》全冊電子教案
- 職業(yè)衛(wèi)生教學課件生物性有害因素所致職業(yè)性損害
- 降“四高”健康教育課件
評論
0/150
提交評論