版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、SAS軟件介紹,湖北工業(yè)大學(xué)理學(xué)院,一、概述,SAS系統(tǒng)全稱為Statistics Analysis System,最早由北卡羅來(lái)納大學(xué)的兩位生物統(tǒng)計(jì)學(xué)研究生編制,并于1976年成立了SAS軟件研究所,正式推出了SAS軟件。SAS是用于決策支持的大型集成信息系統(tǒng),但該軟件系統(tǒng)最早的功能限于統(tǒng)計(jì)分析,至今,統(tǒng)計(jì)分析功能也仍是它的重要組成部分和核心功能。SAS現(xiàn)在的版本為9.0版,大小約為1G。經(jīng)過(guò)多年的發(fā)展,SAS已被全世界120多個(gè)國(guó)家
2、和地區(qū)的近,,三萬(wàn)家機(jī)構(gòu)所采用,直接用戶則超過(guò)三百萬(wàn)人,遍及金融、醫(yī)藥衛(wèi)生、生產(chǎn)、運(yùn)輸、通訊、政府和教育科研等領(lǐng)域。在英美等國(guó),能熟練使用SAS進(jìn)行統(tǒng)計(jì)分析是許多公司和科研機(jī)構(gòu)選材的條件之一。在數(shù)據(jù)處理和統(tǒng)計(jì)分析領(lǐng)域,SAS系統(tǒng)被譽(yù)為國(guó)際上的標(biāo)準(zhǔn)軟件系統(tǒng),并在96~97年度被評(píng)選為建立數(shù)據(jù)庫(kù)的首選產(chǎn)品。堪稱統(tǒng)計(jì)軟件界的巨無(wú)霸。在此僅舉一例如下:在以苛刻嚴(yán)格著稱于世的美國(guó)FDA新藥審批程序中,新藥試驗(yàn)結(jié)果的統(tǒng)計(jì)分析規(guī)定只能用SAS進(jìn)行,其
3、他軟件的計(jì)算結(jié)果一律無(wú)效!哪怕只是簡(jiǎn)單的均數(shù)和標(biāo)準(zhǔn)差也不行!由此可見(jiàn)SAS的權(quán)威地位。,,SAS系統(tǒng)是一個(gè)組合軟件系統(tǒng),它由多個(gè)功能模塊組合而成,其基本部分是BASE SAS模塊。BASE SAS模塊是SAS系統(tǒng)的核心,承擔(dān)著主要的數(shù)據(jù)管理任務(wù),并管理用戶使用環(huán)境,進(jìn)行用戶語(yǔ)言的處理,調(diào)用其他SAS模塊和產(chǎn)品。也就是說(shuō),SAS系統(tǒng)的運(yùn)行,首先必須啟動(dòng)BASE SAS模塊,它除了本身所具有數(shù)據(jù)管理、程序設(shè)計(jì)及描述統(tǒng)計(jì)計(jì)算功能以外,還是SA
4、S系統(tǒng)的中央調(diào)度室。它除可單獨(dú)存在外,也可與其他產(chǎn)品或模塊共同構(gòu)成一個(gè)完整的系統(tǒng)。各模塊的安裝及更新都可通過(guò)其安裝程序非常方便地進(jìn)行。,,SAS系統(tǒng)具有靈活的功能擴(kuò)展接口和強(qiáng)大的功能模塊,在BASE SAS的基礎(chǔ)上,還可以增加如下不同的模塊而增加不同的功能:SAS/STAT(統(tǒng)計(jì)分析模塊)、SAS/GRAPH(繪圖模塊)、SAS/QC(質(zhì)量控制模塊)、SAS/ETS(經(jīng)濟(jì)計(jì)量學(xué)和時(shí)間序列分析模塊)、SAS/OR(運(yùn)籌學(xué)模塊)、SAS/I
5、ML(交互式矩陣程序設(shè)計(jì)語(yǔ)言模塊)、SAS/FSP(快速數(shù)據(jù)處理的交互式菜單系統(tǒng)模塊)、SAS/AF(交互式全屏幕軟件應(yīng)用系統(tǒng)模塊)等等。SAS有一個(gè)智能型繪圖系統(tǒng),不僅能繪各種統(tǒng)計(jì)圖,還能繪出地圖。SAS提供多個(gè)統(tǒng)計(jì)過(guò)程,每個(gè)過(guò)程均含有極豐富的任選項(xiàng)。用戶還可以通過(guò)對(duì)數(shù)據(jù)集的一連串加工,實(shí)現(xiàn)更為復(fù)雜的統(tǒng)計(jì)分析。此外,SAS還提供了各類概率分析函數(shù)、分位數(shù)函數(shù)、樣本統(tǒng)計(jì)函數(shù)和隨機(jī)數(shù)生成函數(shù),使用戶能方便地實(shí)現(xiàn)特殊統(tǒng)計(jì)要求。,二、初識(shí)SA
6、S,安裝SAS哪位要是連軟件的安裝和打開(kāi)都要我啰嗦的話,我勸您還是買一套洪恩的《開(kāi)天辟地》好好熱熱身吧。不過(guò),安裝SAS時(shí),應(yīng)首先將系統(tǒng)時(shí)間改到2002年以前,安裝完以后,再crack,然后將時(shí)間修改還原,切記!,,啟動(dòng)SAS,,啟動(dòng)后,出現(xiàn)如圖 的SAS運(yùn)行界面,術(shù)語(yǔ)稱為"SAS工作空間(SAS Application WorkSpace)"。它象其它Windows應(yīng)用程序一樣,在一個(gè)主窗口內(nèi),包含若干個(gè)子窗口
7、,并有菜單條、工具欄、狀態(tài)欄等。 SAS有三個(gè)最重要的子窗口:程序窗口(PROGRAM EDITOR)、運(yùn)行記錄窗口(LOG)、輸出窗口(OUTPUT)。 Program Editor的窗口(窗口標(biāo)簽為Editor)就是用來(lái)輸入SAS語(yǔ)句的,編程操作的所有內(nèi)容都是在該窗口內(nèi)完成的,各位還是要跟它先多熟悉一下。,,簡(jiǎn)單運(yùn)行樣例 假設(shè)我們有一個(gè)班學(xué)生的數(shù)學(xué)成績(jī)和語(yǔ)文成績(jī),數(shù)學(xué)滿分為100,語(yǔ)文滿分為120,希望計(jì)算學(xué)生的平均分?jǐn)?shù)(按百
8、分制)并按此排名,可以在程序窗口輸入此程序:,,title '0401班學(xué)生成績(jī)排名'; data c0401; input name $ 1-10 sex $ math chinese; avg = math*0.5 + chinese/120*100*0.5; cards; 李明 男 92 98 張紅藝 女 89 106 王思明 男 86 90 張聰 男 98
9、 109 劉潁 女 80 110 ; run; proc print;run; proc sort data=c0401; by descending avg; run; proc print;run;,,實(shí)際上,上述程序是文本,完全可以在任何文本編輯工具中輸入,比如Windows中的記事本,甚至Word也可用來(lái)輸入這樣包含中文的程序。輸入后使用復(fù)制復(fù)制、粘貼命令將輸入的程序粘貼到SAS系統(tǒng)程序窗口。(即在
10、記事本中復(fù)制輸入的程序,然后在SAS系統(tǒng)程序窗口中使用粘貼命令,把程序復(fù)制到SAS中)。 要運(yùn)行此程序,只要用鼠標(biāo)單擊工具欄的提交(Submit)圖標(biāo) ,或用Run菜單下的Submit命令,或者直接按下F8鍵,就可運(yùn)行程序。如果選中某一段程序,然后進(jìn)行調(diào)用,則系統(tǒng)只執(zhí)行被選中的部分。,,運(yùn)行后,輸出窗口出現(xiàn)如下結(jié)果: 0401班學(xué)生成績(jī)排名1
11、 11:40 Saturday, November 10, 2004 Obs name sex math chinese avg 1 李明 男 92 98 86.8333 2 張紅藝 女 89 106 88.6667
12、 3 王思明 男 86 90 80.5000 4 張聰 男 98 109 94.4167 5 劉潁 女 80 110 85.8333運(yùn)行記錄窗口則記錄每段程序的運(yùn)行情況、所用時(shí)間、生成數(shù)據(jù)保存情況。如果有錯(cuò)誤還會(huì)用紅色指示錯(cuò)誤。,三、SAS程序的使用常識(shí),
13、從上面的例子程序可以看出SAS程序的一些特點(diǎn)。SAS程序的基本結(jié)構(gòu) SAS程序由語(yǔ)句組成,語(yǔ)句用分號(hào)結(jié)束。語(yǔ)句一般由特定的關(guān)鍵詞開(kāi)始,語(yǔ)句中可包含變量名、運(yùn)算符等,它們以空格分隔。SAS對(duì)語(yǔ)句所占的行數(shù)無(wú)限制,一個(gè)語(yǔ)句可占多行,同樣,多個(gè)語(yǔ)句也可占一行。,,SAS程序的程序組成 SAS程序可以非常復(fù)雜,但其基本結(jié)構(gòu)一般由數(shù)個(gè)完成單個(gè)動(dòng)作的程序步和環(huán)境設(shè)置語(yǔ)句構(gòu)成。而程序步分為兩種,一種叫數(shù)據(jù)步(data step),一種叫
14、過(guò)程步(proc step),分別以DATA語(yǔ)句和PROC語(yǔ)句開(kāi)始。數(shù)據(jù)步和過(guò)程步由若干個(gè)語(yǔ)句組成,一般以RUN語(yǔ)句結(jié)束。前者用來(lái)創(chuàng)建和修改用于統(tǒng)計(jì)分析的數(shù)據(jù)集,后者則利用已創(chuàng)建的數(shù)據(jù)集完成特定的統(tǒng)計(jì)分析任務(wù)。比如下面的例子:,,libname a 'd:\sysdata\';data a.aaaa; input x @@; cards; 1 2 3 4 5; proc print; var
15、x;run; quit;第1句就是一個(gè)環(huán)境設(shè)置語(yǔ)句,其作用是設(shè)定一個(gè)邏輯庫(kù),邏輯庫(kù)名稱為a,第2~6句構(gòu)成數(shù)據(jù)步,其功能是新建一個(gè)數(shù)據(jù)集,數(shù)據(jù)集名稱為aaaa,并且輸入數(shù)據(jù),第7~9句構(gòu)成過(guò)程步,其功能是將數(shù)據(jù)集aaaa中變量x的數(shù)值在output窗口中輸出。,,SAS程序的書(shū)寫(xiě)規(guī)則與程序注釋 前面已經(jīng)提到,SAS對(duì)程序的書(shū)寫(xiě)格式比較靈活,大小寫(xiě)一般不區(qū)分(字符串中要區(qū)分大小寫(xiě)),但我們?nèi)蕴岢玈AS程序與其它編程語(yǔ)言相似
16、,采用縮進(jìn)格式,使得源程序結(jié)構(gòu)清楚,容易讀懂。 SAS程序的程序注釋有以下兩種格式: 注釋語(yǔ)句:以星號(hào)“*”開(kāi)始,可占多行,以分號(hào)“;”結(jié)束?! ∽⑨尪温洌河谩?*”和“*/”包括起來(lái)的任何字符,可占多行。 同樣,我們提倡在程序中要有適當(dāng)?shù)淖⑨?,使程序的可讀性強(qiáng)。,四、SAS程序的數(shù)據(jù)步,數(shù)據(jù)集(dataset)和庫(kù) SAS數(shù)據(jù)集(SAS Datasets)可以看作由若干行
17、和若干列組成的表格,類似于一個(gè)矩陣,但各列可以取不同的類型值,比如整數(shù)值、浮點(diǎn)值、時(shí)間值、字符串、貨幣值等等。比如,前面的例子生成了一個(gè)名為C0401的數(shù)據(jù)集,它的邏輯形式如下表:,,表1 數(shù)據(jù)集的邏輯形式,,數(shù)據(jù)集的每一行叫做一個(gè)觀測(cè)(Observation),每列叫做一個(gè)變量(Variable)。SAS數(shù)據(jù)集等價(jià)于關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)中的一個(gè)表,實(shí)際上一個(gè)SAS數(shù)據(jù)集有時(shí)也稱作一個(gè)表。在數(shù)據(jù)庫(kù)術(shù)語(yǔ)中一個(gè)觀測(cè)稱作一個(gè)記錄,一個(gè)變量稱作一個(gè)域
18、。在C0401數(shù)據(jù)集中有5個(gè)觀測(cè),分別代表5個(gè)學(xué)生的情況,而每個(gè)學(xué)生有5個(gè)數(shù)據(jù),分別為姓名、性別、數(shù)學(xué)成績(jī)、語(yǔ)文成績(jī)、平均分,所以此數(shù)據(jù)集有5個(gè)變量,變量名依次為NAME、SEX、MATH、CHINESE和AVG。,,從上面看出,數(shù)據(jù)集要有名字,變量要有名字,所以SAS中對(duì)名字(數(shù)據(jù)集名、變量名、數(shù)據(jù)庫(kù)名,等等)有約定:SAS名字由英文字母、數(shù)字、下劃線組成,第一個(gè)字符必須是字母或下劃線,名字最多用8個(gè)字符,大寫(xiě)字母和小寫(xiě)字母不區(qū)分。比
19、如,name,abc,aBC,x1,year12,_NULL_等是合法的名字,且abc和aBC是同一個(gè)名字,而class-1(不能有減號(hào))、a bit(不能有空格)、serial#(不能有特殊字符)、Documents (超長(zhǎng))等不是合法的名字。,,邏輯庫(kù) SAS系統(tǒng)將所使用的文件以庫(kù)的形式組織起來(lái),而數(shù)據(jù)集則存放在一個(gè)庫(kù)中,這個(gè)庫(kù)就稱為邏輯庫(kù)。前面見(jiàn)到過(guò)的libname命令就用于指定庫(kù)標(biāo)記。其一般格式為: Libname
20、 庫(kù)名稱 ‘文件夾位置’ 選項(xiàng);例如libname a 'd:\sysdata\';data a.aaaa; input x @@; cards; 1 2 3 4 5; proc print; var x;run; quit;第一行就指定d:\sysdata\為邏輯庫(kù)位置,其名稱為a.,,引用在邏輯庫(kù)中數(shù)據(jù)集時(shí)要使用兩級(jí)名稱來(lái)指定,第一級(jí)為庫(kù)名稱,第二級(jí)為數(shù)據(jù)集名,中間用句點(diǎn)“.”隔
21、開(kāi)。即用 庫(kù)名稱.數(shù)據(jù)集名的格式來(lái)引用該數(shù)據(jù)集?! ∪匀皇巧厦娴睦?,第2~6句新建一個(gè)數(shù)據(jù)集,數(shù)據(jù)集名稱為aaaa,就可用a.aaaa來(lái)引用該數(shù)據(jù)集。,,數(shù)據(jù)步的基本結(jié)構(gòu) 數(shù)據(jù)步均以DATA語(yǔ)句開(kāi)始,用于創(chuàng)建和處理數(shù)據(jù)集。數(shù)據(jù)步中常用的語(yǔ)句如下表: 表2 數(shù)據(jù)步的常用語(yǔ)句,,,下面是幾個(gè)例子。Data語(yǔ)句:Data abc; data work.abc data sasuser.abc; d
22、ata a.abc;INPUT語(yǔ)句:Input x y z; /*輸入變量x,y,z*/Input x1-x10; /*輸入10個(gè)變量x1到x10*/Input x$y@@; /*輸入變量x,y,符號(hào)$指明x為字符變量,@@表示數(shù)據(jù)是連續(xù)讀入*/,,完整例子:libname a 'd:\sysdata\';/*設(shè)定邏輯庫(kù),庫(kù)名為a*/data a.aaaa; /*建立數(shù)據(jù)集,其名為aaaa*
23、/ input x @@; /*輸入變量x, @@表示數(shù)據(jù)是連續(xù)讀入*/ cards; /*準(zhǔn)備輸入數(shù)據(jù)*/ 1 2 3 . 5; /*輸入數(shù)據(jù),注意有缺失值(缺失值用單獨(dú)的小數(shù)點(diǎn)代表)*/,五、SAS程序的過(guò)程步,通俗地說(shuō),SAS程序的過(guò)程步就是用于實(shí)現(xiàn)各種統(tǒng)計(jì)分析功能的SAS命令,我們只需要按照其格式調(diào)用它們。過(guò)程步總是以一個(gè)proc語(yǔ)句開(kāi)始,后面緊跟著過(guò)程步名。下表列出一些常用的過(guò)程步名及功能。,,,過(guò)程步的基本結(jié)構(gòu)
24、SAS過(guò)程步的一般形式為:PROC 過(guò)程名 DATA=輸入數(shù)據(jù)集 選項(xiàng);過(guò)程語(yǔ)句 / 選項(xiàng);過(guò)程語(yǔ)句 / 選項(xiàng);……RUN; 其中PROC語(yǔ)句的選項(xiàng)是可選的,用來(lái)規(guī)定過(guò)程運(yùn)行的一些設(shè)置,如果有多個(gè)選項(xiàng)用空格分開(kāi)。DATA=輸入數(shù)據(jù)集也是可選的,如果缺省的話使用最近生成的數(shù)據(jù)集。過(guò)程步一般以RUN 語(yǔ)句結(jié)束。通常情況下,過(guò)程語(yǔ)句與數(shù)據(jù)步中的語(yǔ)句不同,數(shù)據(jù)步中的語(yǔ)句不能用在過(guò)程步中
25、。過(guò)程步語(yǔ)句一般以某一個(gè)關(guān)鍵字開(kāi)頭,比如VAR、BY、TABLES、WEIGHT等,語(yǔ)句中有一些有關(guān)說(shuō)明,如果有選擇項(xiàng)的話要寫(xiě)在斜杠后。,,SAS過(guò)程步常用語(yǔ)句 本小節(jié)簡(jiǎn)單介紹幾個(gè)在SAS過(guò)程步中常見(jiàn)的語(yǔ)句,更具體的用法可以在以后實(shí)際用到時(shí)再仔細(xì)體會(huì)。 1.DATA選項(xiàng) 用于指明所需要處理的數(shù)據(jù)集,如果缺省的話使用最近生成的數(shù)據(jù)集。2.VAR語(yǔ)句 VAR語(yǔ)句在很多過(guò)程中用來(lái)指定分析變量。在VAR后面給出變量列表:V
26、AR 變量名1 變量名2 … 變量名n; 變量名列表可以使用省略的形式,如X1-X3, MATH--CHINESE等。例如:Proc print; var math chinese;run;,,3.MODEL語(yǔ)句 MODEL語(yǔ)句在一些統(tǒng)計(jì)建模過(guò)程中用來(lái)指定模型的形式。其一般形式為 MODEL 因變量 = 自變量表 / 選項(xiàng); 比如,將下列語(yǔ)句放在某一過(guò)程步中 model math
27、=chinese;則用語(yǔ)文成績(jī)預(yù)測(cè)數(shù)學(xué)成績(jī)。4.BY語(yǔ)句和CLASS語(yǔ)句5.OUTPUT語(yǔ)句 6.FREQ語(yǔ)句和WEIGHT語(yǔ)句7.ID語(yǔ)句8.WHERE語(yǔ)句9.LABEL語(yǔ)句和FORMAT語(yǔ)句,六、SAS語(yǔ)言入門,SAS是一種專用的數(shù)據(jù)處理、統(tǒng)計(jì)計(jì)算語(yǔ)言,但是它也包含一般的高級(jí)語(yǔ)言編程能力并擴(kuò)充了許多數(shù)學(xué)、統(tǒng)計(jì)等方面的函數(shù)。由于SAS的數(shù)據(jù)處理功能非常強(qiáng)大,我們并不提倡用它來(lái)編復(fù)雜的程序,因此,我們只介紹SAS語(yǔ)言用來(lái)進(jìn)
28、行一般編程計(jì)算的功能。SAS語(yǔ)言的編程計(jì)算能力主要由SAS數(shù)據(jù)步提供(另外SAS還提供了一個(gè)SAS/IML模塊可以進(jìn)行向量、矩陣運(yùn)算,讀者有興趣可以自己學(xué)習(xí))。所以,下面給出的例子如果沒(méi)有寫(xiě)DATA語(yǔ)句實(shí)際應(yīng)該在例子前面加上DATA語(yǔ)句,在后面加上RUN語(yǔ)句才能運(yùn)行。注意DATA語(yǔ)句總是以關(guān)鍵字DATA 開(kāi)頭,后面給出一個(gè)數(shù)據(jù)集名,就是本數(shù)據(jù)步要生成的數(shù)據(jù)集的名字,例如:data tmp1;也可以省略數(shù)據(jù)集名,這時(shí)SAS自動(dòng)生成一
29、個(gè)臨時(shí)數(shù)據(jù)集名。,,1.賦值語(yǔ)句在SAS中用賦值語(yǔ)句計(jì)算一個(gè)值并存放到變量中。格式為 變量名 = 表達(dá)式; 例如: avg = (math + chinese/120*100)/2;/* 計(jì)算平均分?jǐn)?shù),賦值給變量avg*/isfem = (sex='女'); /*先生成一個(gè)取值為0或1的值,性別為女時(shí)為1,否則為0*,然后賦值給變量isffem*/newv = .; /*將變量賦了缺失值*/ 注意想試驗(yàn)上
30、述語(yǔ)句要把它們放入數(shù)據(jù)步中,并且等號(hào)右邊的表達(dá)式中的各變量應(yīng)該是存在的,否則會(huì)得到缺失值結(jié)果。,,2.輸出語(yǔ)句SAS數(shù)據(jù)步的輸出一般是數(shù)據(jù)集,用賦值語(yǔ)句計(jì)算的結(jié)果會(huì)自動(dòng)寫(xiě)入數(shù)據(jù)集。SAS也提供了一個(gè)PUT語(yǔ)句,可以象其它語(yǔ)言程序的PRINT、WRITE(*,*)、printf等語(yǔ)句一樣立即打印輸出結(jié)果。PUT的基本語(yǔ)法很多,只舉幾例:,,data; x=0.5; y=sin(x); put 'Sine funct
31、ion value of ' x 'is ' y;run;結(jié)果將在運(yùn)行記錄窗口顯示一行 Sine function value of 0.5 is 0.4794255386,,在PUT語(yǔ)句中使用“變量名=”來(lái)指定輸出項(xiàng)可以顯示帶有變量名的輸出結(jié)果,比如把上程序中的PUT語(yǔ)句改為 put x= y=;則結(jié)果在LOG窗口顯示為 X=0.5 Y=0.4794255386,,分支結(jié)構(gòu)如果需要在
32、某條件滿足時(shí)執(zhí)行某一操作,可以用IF 條件 THEN 程序塊 ELSE 程序塊的結(jié)構(gòu),其中Else語(yǔ)句及其后的程序塊可以省略。需要注意的是,如果程序塊只有一句,則可直接寫(xiě)出,否則應(yīng)以DO開(kāi)始,以END結(jié)束。,,比如, if max(a)0 THEN DO; PUT ' X為正數(shù)'; x = 2*x; PUT x=; END;注意SAS的分
33、支結(jié)構(gòu)的寫(xiě)法與其它語(yǔ)言有些不同,它不用ENDIF結(jié)束。,,循環(huán)結(jié)構(gòu) SAS數(shù)據(jù)步可以使用循環(huán)結(jié)構(gòu),主要的是兩種:計(jì)數(shù)DO循環(huán)和當(dāng)型、直到型循環(huán)。 計(jì)數(shù)DO循環(huán)的寫(xiě)法是: DO 計(jì)數(shù)變量 = 起始值 TO 結(jié)束值 BY 步長(zhǎng);循環(huán)體語(yǔ)句……END; 在循環(huán)體中可以用LEAVE語(yǔ)句跳出循環(huán),相當(dāng)于C語(yǔ)言的break語(yǔ)句;用CONTINUE語(yǔ)句可以立即結(jié)束本輪循環(huán)并轉(zhuǎn)入下一輪循環(huán)的判斷與執(zhí)行 .,,當(dāng)型循環(huán)
34、的語(yǔ)法是:DO WHILE(循環(huán)繼續(xù)條件); 循環(huán)體語(yǔ)句……END; 程序先判斷循環(huán)繼續(xù)條件是否成立,成立時(shí)執(zhí)行循環(huán)體語(yǔ)句,再判斷循環(huán)繼續(xù)條件,如此重復(fù),直到循環(huán)繼續(xù)條件不再成立。直到型循環(huán)的寫(xiě)法是: DO UNTIL (循環(huán)退出條件);循環(huán)體語(yǔ)句……END; 程序先執(zhí)行循環(huán)體,然后判斷循環(huán)退出條件是否成立,成立則結(jié)束循環(huán),否則繼續(xù)。注意每輪循環(huán)都是先執(zhí)行循環(huán)體再判斷是否退出。,
35、,如:data; DO i = 1 TO 20 BY 2; j = i**3; put i 3. j 5.; END;run;可以輸出一個(gè)1,3,5,7,…,19的立方表。,七、SAS的基本統(tǒng)計(jì)分析功能,前面我們已經(jīng)對(duì)SAS系統(tǒng)進(jìn)行了簡(jiǎn)要的介紹,下面我們講如何用SAS進(jìn)行基本的統(tǒng)計(jì)檢驗(yàn)、線性回歸、方差分析等基本統(tǒng)計(jì)分析。我們既使用SAS語(yǔ)言編程,也使用SAS的菜單界面。統(tǒng)計(jì)中常用的是對(duì)總
36、體作正態(tài)性檢驗(yàn)、均值檢驗(yàn)、方差檢驗(yàn)。下面我們就專門介紹這幾個(gè)檢驗(yàn)。,,1. 正態(tài)性檢驗(yàn) 在PROC UNIVARIATE語(yǔ)句中加上NORMAL選項(xiàng)就可以進(jìn)行正態(tài)性檢驗(yàn)。例1 我們有兩個(gè)班學(xué)生的考試成績(jī)的數(shù)據(jù),分?jǐn)?shù)如下:31 67 73 45 75 41 99 64 95 71 97 74 77 28 95 74 63 52
37、 79 40 84 86 63 69 21 4 45 86 52 18 44 74 74 64 91 63 4 31 85 21 60 35 25 31 58 82 70 64 10 75 78 88 96 51
38、 86 74 50 64 15 88 27 37 80 69 25 74 97 44 47 88 79 63 3 50 67 75問(wèn)這次考試的分?jǐn)?shù)是否服從正態(tài)分布?,,要檢驗(yàn)這些數(shù)據(jù)是否服從正態(tài)分布,只要用如下UNIVARIATE過(guò)程:data stuscore; /*首先輸入數(shù)據(jù)*/ input
39、score@@; cards; 31 67 73 45 75 41 99 64 95 71 97 74 …… (其它數(shù)據(jù)略); PROC UNIVARIATE data=stuscore normal;/*正態(tài)分布檢驗(yàn)*/ VAR score;RUN;,,結(jié)果(部分)如下: Tests for
40、Normality Test --Statistic--- -----p Value------ Shapiro-Wilk W 0.9477 Pr D W-Sq A-Sq 2000時(shí)用Kolmogorov D統(tǒng)計(jì)量。我們可以看到,p值很小,所以在0.05水平(或0.10水平)下應(yīng)拒絕零假設(shè),即認(rèn)為數(shù)據(jù)非正
41、態(tài)。,,歸納:(1)用于檢驗(yàn)正態(tài)性的命令是:PROC UNIVARIATE data=數(shù)據(jù)集 normal;/*正態(tài)分布檢驗(yàn)*/ VAR 要檢驗(yàn)變量名;RUN; (2)用于檢驗(yàn)正態(tài)性的重要指標(biāo)是:Prα(一般是0.05),則接受假設(shè)(即數(shù)據(jù)服從正態(tài)分布),否則拒絕假設(shè)(即數(shù)據(jù)不服從正態(tài)分布)。,,2. 正態(tài)總體均值的假設(shè)檢驗(yàn)一、單個(gè)總體N(μ,σ2)均值μ的檢驗(yàn)1.σ已知時(shí)的μ檢驗(yàn)(u檢驗(yàn)法)例2 某車間用一臺(tái)包裝機(jī)包裝
42、葡萄糖。包得的袋裝糖重是一個(gè)隨機(jī)變量,它服從正態(tài)分布。當(dāng)機(jī)器正常時(shí),其均值為0.5公斤,標(biāo)準(zhǔn)差為0.015公斤。某日開(kāi)工后為檢驗(yàn)包裝機(jī)是否正常,隨機(jī)地抽取它所包裝的糖9袋,稱得凈重為(公斤):0.497 0.506 0.518 0.524 0.498 0.511 0.520 0.515 0.512問(wèn)機(jī)器是否正常?,,解 按題意需檢驗(yàn)假設(shè)操作步驟:(1)首先輸入數(shù)據(jù),程序?yàn)閐ata u_weight;
43、input weight@@; cards;0.497 0.506 0.518 0.524 0.498 0.511 0.520 0.515 0.512;run;運(yùn)行上述程序。,,(2)選擇Solutions→Analysis→Analyst菜單,(3)選擇File→Open By SAS Name→Work→u_weight,(4) 選擇Statistics→Hypothesis,(5) 選擇One-
44、Sample z-test for a mean,出現(xiàn)圖2,,,圖2 u-檢驗(yàn)的變量設(shè)置,,(6)在圖2的窗口中設(shè)置變量,我們選擇變量為weight,Null:Mean處是零假設(shè),填入0.5,Alternate處是備擇假設(shè),我們選^=,Tests按鈕可以選擇顯著性水平,默認(rèn)是0.05,Std.Dev.處填入標(biāo)準(zhǔn)差0.015。,,(7)單擊OK,產(chǎn)生輸出結(jié)果。 One Sample Z Test for a Mean Sampl
45、e Statistics for weight N Mean Std. Dev. Std. Error ------------------------------------------------- 9 0.51 0.01 0.00 Hypothesis Test Nul
46、l hypothesis: Mean of weight = 0.5 Alternative: Mean of weight ^= 0.5 With a specified known standard deviation of 0.015 Z Statistic Prob > Z ----------
47、- -------- 2.244 0.0248,,結(jié)果分析:由上可見(jiàn),平均值為0.51,標(biāo)準(zhǔn)差為0.01,z統(tǒng)計(jì)量是2.244, Prob > Z的值為0.0248<α=0.05,因此應(yīng)該拒絕H0,即認(rèn)為這天包裝機(jī)不正常。,,實(shí)際上,如果是雙邊檢驗(yàn),利用ttest過(guò)程要更方便簡(jiǎn)捷。例如對(duì)本題,在第一步輸入數(shù)據(jù)后,運(yùn)行下面的程序:PROC ttest data=
48、u_weight h0=0 alpha=0.05; var weight;RUN;即得如下結(jié)果:,,The TTEST Procedure Statistics Lower CL Upper CL Lower CL Upper CL Variable N M
49、ean Mean Mean Std Dev Std Dev Std Dev Std Err Minimum Maximum weight 9 0.504 0.5112 0.5184 0.0063 0.0094 0.018 0.0031 0.497 0.524 T-Tes
50、ts Variable DF t Value Pr > |t| weight 8 163.31 |t|的值<.0001<α=0.05,因此應(yīng)該拒絕H0,即認(rèn)為這天包裝機(jī)不正常。,,2.σ未知時(shí)的μ檢驗(yàn)(t檢驗(yàn)法)例3.某種電子元件的壽命x(以小時(shí)計(jì))服
51、從正態(tài)分布, μ, σ2均未知.現(xiàn)測(cè)得16只元件的壽命如下:159 280 101 212 224 379 179 264 222 362 168 250 149 260 485 170問(wèn)是否有理由認(rèn)為元件的平均壽命大于225(小時(shí))?,,解 按題意需檢驗(yàn)假設(shè)操作步驟:(1)首先輸入數(shù)據(jù),程序?yàn)閐ata lifetest; input life@@; cards;0.497 0
52、.506 0.518 0.524 0.498 0.511 0.520 0.515 0.512;run;運(yùn)行上述程序。,,,(2) 選擇Solutions→Analysis→Analyst菜單,(3) 選擇File→Open By SAS Name→Work→lifetest,(4) 選擇Statistics→Hypothesis,(5) 選擇One-Sample t-test for a mean,出現(xiàn)圖3,,
53、,圖3 t-檢驗(yàn)的變量設(shè)置,,(6)在圖3的窗口中設(shè)置變量,我們選擇變量為life,Null:Mean處是零假設(shè),填入225,Alternate處是備擇假設(shè),我們選>=,Tests按鈕可以選擇顯著性水平,默認(rèn)是0.05。,,(7)單擊OK,產(chǎn)生輸出結(jié)果。 One Sample t-test for a Mean Sample Statistics for life N
54、 Mean Std. Dev. Std. Error ------------------------------------------------- 16 241.50 98.73 24.68 Hypothesis Test Null hypothesis: Mean of life 225
55、 t Statistic Df Prob > t --------------------------------- 0.669 15 0.2570,,結(jié)果分析:由上可見(jiàn),平均值為241.50,標(biāo)準(zhǔn)差為98.73,標(biāo)準(zhǔn)偏差為24.68,t統(tǒng)計(jì)量是0.669, Prob > t 的值為0.
56、2570>α=0.05,因此應(yīng)該接受H0,即認(rèn)為元件的平均壽命不大于225小時(shí)。,二、兩個(gè)正態(tài)總體均值差的檢驗(yàn),例4.在平爐上進(jìn)行一項(xiàng)試驗(yàn)以確定改變操作方法的建議是否會(huì)增加鋼的得率,試驗(yàn)是在同一只平爐上進(jìn)行的.每煉一爐鋼時(shí)除操作方法外,其它條件盡可能做到相同.先用標(biāo)準(zhǔn)方法煉一爐,然后用建議的新方法煉一爐以后交替進(jìn)行,各煉了10爐,其得率分別為:1.標(biāo)準(zhǔn)方法 78.1 72.4 76.2 74.3 77.4 78.4
57、 76.0 75.5 76.7 77.32.新方法 79.1 81.0 77.3 79.1 80.0 79.1 79.1 77.3 80.2 82.1設(shè)這兩個(gè)樣本相互獨(dú)立,且分別來(lái)自正態(tài)總體N(μ1, σ2)和N(μ2, σ2), μ1, μ2, σ2均未知.問(wèn)建議的新的操作方法能否提高得率?(取α=0.05),,解 按題意需檢驗(yàn)假設(shè)操作步驟:(1)首先輸入數(shù)據(jù),程序?yàn)閐ata mydata;
58、 input olddata newdata@@; cards;0.497 0.506 0.518 0.524 0.498 0.511 0.520 0.515 0.512;run;運(yùn)行上述程序。,,,(2) 選擇Solutions→Analysis→Analyst菜單,(3) 選擇File→Open By SAS Name→Work→mydata,(4) 選擇Statistics→Hypothes
59、is,(5) 選擇Two-Sample Paired t-test for a mean,出現(xiàn)圖4,,圖4 兩個(gè)樣本u-檢驗(yàn)的變量設(shè)置,,(6)在圖4的窗口中設(shè)置變量,依次選擇兩個(gè)變量,零假設(shè)處填入0,Alternate處是備擇假設(shè),我們選<0,Tests按鈕可以選擇顯著性水平,默認(rèn)是0.05。,,(7)單擊OK,產(chǎn)生輸出結(jié)果。Two Sample Paired t-test for the Means of olddata and
60、 newdataSample Statistics Group N Mean Std. Dev. Std. Error ---------------------------------------------------- olddata 10 76.23 1.8233 0.5766
61、 newdata 10 79.43 1.4915 0.4717 Hypothesis Test Null hypothesis: Mean of (olddata - newdata) => 0 Alternative: Mean of (olddata - newdata) t -----------
62、---------------------- -4.202 9 0.0012,,結(jié)果分析:由上可見(jiàn),t統(tǒng)計(jì)量是-4.202, Prob > t 的值為0.0012<α=0.05,因此應(yīng)該拒絕H0,即認(rèn)為新方法比標(biāo)準(zhǔn)方法為優(yōu)。,,如果利用ttest過(guò)程則很簡(jiǎn)捷。例如對(duì)本題,在第一步輸入數(shù)據(jù)后,運(yùn)行下面的程序:PROC ttest data=mydata h0=0 al
63、pha=0.05; paired olddata*newdata;RUN;,,即得如下結(jié)果: The TTEST Procedure Statistics Lower CL Upper CL Lower CL
64、 Upper CLDifference N Mean Mean Mean Std Dev Std Dev Std Dev Std Errolddata - newdata 10 -4.923 -3.2 -1.477 1.6565 2.4083 4.3967 0.7616
65、 T-Tests Difference DF t Value Pr > |t| olddata - newdata 9 -4.20 0.0023由于Pr > |t|的值= 0.00
66、23<α=0.05,因此應(yīng)該拒絕H0,即認(rèn)為新方法比標(biāo)準(zhǔn)方法為優(yōu)。,3. 正態(tài)總體方差的假設(shè)檢驗(yàn),由于在SAS中,單個(gè)總體與兩個(gè)總體的情況在操作上差不多,下面只舉兩個(gè)總體的情況。例5 對(duì)例4中的數(shù)據(jù)檢驗(yàn)假設(shè)(取α=0.01),,,操作步驟:(1) 首先輸入數(shù)據(jù),我們就利用前面輸入的數(shù)據(jù)集mydata。(2) 選擇Solutions→Analysis→Analyst菜單,(3) 選擇File→Open By SAS Name→Wo
67、rk→mydata,(4) 選擇Statistics→Hypothesis,(5) 選擇Two-Sample Test for Variances,出現(xiàn)圖5,,圖5 兩個(gè)樣本的方差檢驗(yàn),,(6)在圖5的窗口中設(shè)置變量,選擇Two variables(兩個(gè)變量),依次選一個(gè)變量,按Group1按鈕及Group2按鈕,Alternate處是備擇假設(shè),我們選<1,Intervals按鈕可以選擇顯著性水平,默認(rèn)是0.05,我們選0.01。,
68、,(7)單擊OK,產(chǎn)生輸出結(jié)果。Two Sample Test for Variances of olddata and newdata Sample Statistics Group N Mean Std. Dev. Variance --------------------------------------------------
69、 olddata 10 76.23 1.8233 3.324556 newdata 10 79.43 1.4915 2.224556 Hypothesis Test Null hypothesis: Variance 1 / Variance 2 = 1 Alternative: V
70、ariance 1 / Variance 2 ^= 1 - Degrees of Freedom - F Numer. Denom. Pr > F ---------------------------------------------- 1.49 9
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- r語(yǔ)言—介紹 - 數(shù)學(xué)建模學(xué)習(xí)資源站
- 收藏量超100萬(wàn)份的專業(yè)文檔資源站
- 收藏量超100萬(wàn)份的專業(yè)文檔資源站
- 統(tǒng)計(jì)分析軟件sas應(yīng)用課程學(xué)習(xí)
- 回歸分析方法-數(shù)學(xué)建模學(xué)習(xí)資源網(wǎng)站
- 數(shù)學(xué)建模軟件相關(guān)
- 椅子放平穩(wěn)問(wèn)題-數(shù)學(xué)建模學(xué)習(xí)資源網(wǎng)站
- sas軟件與統(tǒng)計(jì)應(yīng)用論文
- 銳得ppt模板-數(shù)學(xué)建模學(xué)習(xí)資源網(wǎng)站
- 課程名稱sas軟件及其應(yīng)用
- sas統(tǒng)計(jì)分析軟件簡(jiǎn)介
- 數(shù)學(xué)建模講座優(yōu)化建模與lingo優(yōu)化軟件
- 北京水資源數(shù)學(xué)建模
- 第四講matlab繪圖-數(shù)學(xué)建模學(xué)習(xí)資源網(wǎng)站
- 在前兩篇文章中我們分別介紹了如何應(yīng)用sas軟件進(jìn)行質(zhì)量
- 學(xué)習(xí)數(shù)學(xué)建模的心得
- [學(xué)習(xí)]文化共享工程資源介紹-powerpointpresentation
- 利用spss進(jìn)行主成分分析-數(shù)學(xué)建模學(xué)習(xí)資源網(wǎng)站
- 軟件介紹
- 淺談學(xué)習(xí)數(shù)學(xué)建模的感受
評(píng)論
0/150
提交評(píng)論