SAS軟件入門教程課件(PPT 103頁)_第1頁
SAS軟件入門教程課件(PPT 103頁)_第2頁
SAS軟件入門教程課件(PPT 103頁)_第3頁
SAS軟件入門教程課件(PPT 103頁)_第4頁
SAS軟件入門教程課件(PPT 103頁)_第5頁
已閱讀5頁,還剩98頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第1章 SAS軟件入門清華大學(xué)經(jīng)管學(xué)院 朱世武第1頁,共103頁。本章內(nèi)容提要 SAS軟件介紹 SAS安裝與啟動 SAS工作界面 SAS窗口操作 SAS幫助文檔第2頁,共103頁。本章重點(diǎn)SAS安裝*SAS技術(shù)水平層次分類*SAS工作界面*-重要功能鍵:F5,F6,F7, CTL+E命令行*資源管理器窗口*結(jié)果窗口* F7增強(qiáng)型編輯器窗口*F5日志窗口* F6文件瀏覽及操作* 刪除resdat新建邏輯庫*創(chuàng)建resdat程序編輯窗口操作* 數(shù)據(jù)集導(dǎo)入和導(dǎo)出*第3頁,共103頁。SAS系統(tǒng)簡介 全稱為Statistics Analysis System,最早由北卡羅來納大學(xué)的兩位生物統(tǒng)計(jì)學(xué)研究生

2、編制 1972研制出第一版,1976年成立了SAS軟件研究所,正式推出了SAS軟件,現(xiàn)在是8.2版 是用于數(shù)據(jù)分析與決策支持的大型集成信息系統(tǒng),統(tǒng)計(jì)分析功能是它的重要組成部分和核心功能 國際上的標(biāo)準(zhǔn)軟件系統(tǒng) 第4頁,共103頁。SAS功能模塊 BASE SAS模塊 SAS/STAT-統(tǒng)計(jì)分析模塊 SAS/ETS-經(jīng)濟(jì)計(jì)量學(xué)和時間序列分析模塊 SAS/OR-運(yùn)籌學(xué)模塊 SAS/QC-質(zhì)量控制模塊 SAS/IML-交互式矩陣程序設(shè)計(jì)語言模塊 SAS/GRAPH-繪圖模塊 SAS/FSP-快速數(shù)據(jù)交互式菜單系統(tǒng)模塊 SAS/AF-交互式應(yīng)用開發(fā)模塊 第5頁,共103頁。SAS功能模塊 SAS/ASS

3、IT-菜單驅(qū)動界面模塊 SAS/ACCESS-訪問外部數(shù)據(jù)模塊 SAS/EIS-企業(yè)信息系統(tǒng)模塊 SAS/INSIGHT-可視化探索工具模塊 SAS/CALC-電子表格模塊 SAS/CONNECT-分布式數(shù)據(jù)處理模塊 SAS/WA-企業(yè)級數(shù)據(jù)倉庫管理模塊 SAS/EM-企業(yè)級數(shù)據(jù)挖掘模塊第6頁,共103頁。SAS模塊分類 功能主要模塊數(shù)據(jù)庫及其管理BASE SAS, FSP, ACCESS, SQL, 分析工具STAT, ETS, QC, OR, INSIGHT, CALC, 開發(fā)展現(xiàn)工具BASE SAS , IML, AF, EIS, GRAPH, 分布處理與數(shù)據(jù)倉庫CONNECT, WA,

4、 第7頁,共103頁。SAS系統(tǒng)特點(diǎn) 由大型機(jī)系統(tǒng)發(fā)展而來 針對專業(yè)用戶進(jìn)行設(shè)計(jì) 程序驅(qū)動,功能強(qiáng)大 高級編程語言 具有工業(yè)用途的分析軟件 第8頁,共103頁。SAS技術(shù)水平層次分類*第一層次:會使用SAS菜單以及一些菜單界面的SAS模塊,如INSIGHT, ANALYST等,了解初步的SAS BASE語句,能用SAS系統(tǒng)作簡單的數(shù)據(jù)加工處理和分析,具有一定的數(shù)理統(tǒng)計(jì)知識, 掌握一定的SAS STAT過程。 第二層次:精通SAS BASE,能用SAS語言編寫復(fù)雜的SAS程序,能用SAS BASE進(jìn)行大型的、復(fù)雜的數(shù)據(jù)加工整理和展現(xiàn),掌握SAS和外部數(shù)據(jù)文件的接口,會進(jìn)行復(fù)雜的統(tǒng)計(jì)建模和分析等,

5、初步掌握一種基于SAS的開發(fā)工具。 第三層次:在一、二層面基礎(chǔ)上,進(jìn)一步掌握SAS/AF,SAS/IML等,能開發(fā)基于SAS的數(shù)據(jù)管理和分析模塊。 第9頁,共103頁。本章目的 讓初學(xué)者能夠快速地熟悉SAS系統(tǒng)的應(yīng)用,完成一些簡單的數(shù)據(jù)處理和分析,即快速達(dá)到SAS技術(shù)第一層面水平。讓讀者能充分利用SAS的強(qiáng)大功能進(jìn)行金融數(shù)據(jù)加工處理、數(shù)據(jù)整合、數(shù)據(jù)展現(xiàn)及簡單的金融建模和計(jì)算,即第二層面水平 。 介紹SAS系統(tǒng)的菜單操作,配合命令和功能鍵的使用。有些地方也會附帶介紹SAS系統(tǒng)中的一些基本概念,使初學(xué)者能夠邊練習(xí)邊了解SAS系統(tǒng)。 第10頁,共103頁。SAS運(yùn)行方式 SAS系統(tǒng)有多種運(yùn)行方式:

6、窗口模式(Windowing Environment) 行交互模式(Line Interactive) 非交互模式(No interactive) 批處理模式(Batch)第11頁,共103頁。SAS工作界面*-重要功能鍵:F5,F6,F7, CTL+E命令行菜單欄工具欄窗口條功能窗口第12頁,共103頁。兩類菜單欄菜單欄的下拉菜單 操作:點(diǎn)菜單欄中的按鈕彈出菜單操作:相應(yīng)窗口點(diǎn)鼠標(biāo)右鍵第13頁,共103頁。工具欄 工具=定制=“定制” 第14頁,共103頁。資源管理器窗口工具欄 編輯器窗口工具欄 第15頁,共103頁。命令行* 在命令行中輸入SAS命令可以快速完成一些SAS任務(wù) 第16頁,共

7、103頁。主要功能窗口 以“只顯示內(nèi)容”視圖顯示的“SAS 資源管理器”窗口(沒有樹視圖) “結(jié)果”窗口 程序編輯器、增強(qiáng)型編輯器 “日志”窗口 “輸出”窗口 “SAS 資源管理器”窗口第17頁,共103頁。資源管理器窗口*SAS 資源管理器窗口下,可以執(zhí)行基本的 SAS 任務(wù): 創(chuàng)建新的邏輯庫和文件快捷方式; 創(chuàng)建新的邏輯庫成員和目錄條目; 打開和編輯 SAS 文件。第18頁,共103頁。“樹狀結(jié)構(gòu)”的資源管理器窗口 SAS默認(rèn)的是“只顯示內(nèi)容”的SAS資源管理器窗口。 第19頁,共103頁。根據(jù)操作環(huán)境,可以使用以下方法打開“SAS 資源管理器”窗口(打開樹視圖和列表視圖):菜單: 查看=

8、 SAS 資源管理器 命令: EXPLORER工具欄: SAS 資源管理器 第20頁,共103頁。結(jié)果窗口* 可以通過結(jié)果窗口對程序的輸出結(jié)果進(jìn)行瀏覽和管理 SAS可以用一種或多種格式(或類型)產(chǎn)生輸出。默認(rèn)類型是“列表”輸出(如右圖的“查詢結(jié)果”)。其他輸出類型包括 HTML、“輸出數(shù)據(jù)集”和 PostScript。 第21頁,共103頁。要設(shè)置輸出類型,可使用菜單欄=工具=選項(xiàng)=參數(shù)選擇=“結(jié)果”標(biāo)簽,進(jìn)入?yún)?shù)選擇窗口進(jìn)行設(shè)置如下圖所示。 點(diǎn)選創(chuàng)建HTML時,輸出結(jié)果同時展現(xiàn)在HTML文件中。第22頁,共103頁。增強(qiáng)型編輯器窗口*SAS9.1版本的默認(rèn)編輯窗口為增強(qiáng)型。它比普通編輯窗口增

9、加了如下功能: 使用特定顏色對SAS程序、SCL程序以及HTML和XML文件的元素進(jìn)行顯示,同時進(jìn)行相關(guān)語法檢查。 創(chuàng)建和格式化自定義的關(guān)鍵詞。 每個過程步、數(shù)據(jù)步或者宏的程序段都可以實(shí)現(xiàn)展開和收縮的功能,以便對SAS程序的宏觀結(jié)構(gòu)有更好的了解。 通過定義縮寫來快速輸入一段文字。 通過顯示行號使得程序代碼更具可讀性。 設(shè)定增強(qiáng)型編輯器的快捷功能鍵。 同時打開一個文件的多個視圖。 將光標(biāo)停留在語言元素上,按F1就可以直接進(jìn)入到SAS幫助文檔中該語言元素的說明部分,當(dāng)然有時候該語言元素有多個主題,可以根據(jù)需要進(jìn)行選擇。第23頁,共103頁。日志窗口*“日志”窗口用來查看程序運(yùn)行信息: 提交的程序語

10、句; 系統(tǒng)消息和錯誤; 程序運(yùn)行速度和時間。 “日志”窗口中的元素根據(jù)以下類型呈現(xiàn)不同的顏色: 程序行黑色:以語句標(biāo)號開始; 提示藍(lán)色:以NOTE開始; 警告綠色:以WARNING開始; 錯誤紅色:以ERROR開始。第24頁,共103頁。第25頁,共103頁。輸出窗口 proc print data=sashelp.class;quit;按F8提交程序,SAS界面如下所示: 輸出窗口用來查看SAS程序的輸出結(jié)果 第26頁,共103頁。SAS窗口操作 窗口切換 點(diǎn)選該功能窗口區(qū)域,或是點(diǎn)選該功能窗口的窗口條標(biāo)簽。通過菜單欄中的“窗口”或“查看”菜單點(diǎn)選所需要的窗口。通過在命令行輸入命令或點(diǎn)選功能

11、鍵的方式打開窗口。第27頁,共103頁。視圖停放 SAS默認(rèn)啟動了停放視圖,并在工作界面的左邊停放一些常用的窗口,如 “結(jié)果”和“資源管理器”窗口。停放窗口選擇窗口以使其成為當(dāng)前窗口。選擇窗口=停放。取消停放窗口在停放區(qū)域的底部,點(diǎn)擊要取消停放的窗口的選項(xiàng)。選擇窗口=停放。完全關(guān)閉停放選擇工具=選項(xiàng)=參數(shù)選擇。在參數(shù)選擇對話框中,點(diǎn)擊視圖選項(xiàng)卡。選中停放視圖復(fù)選框并點(diǎn)擊確定。所有窗口都被取消停放了。第28頁,共103頁。文件瀏覽及操作*增加目錄、數(shù)據(jù)表點(diǎn)選目標(biāo)邏輯庫(除sashelp和maps外)。選擇新建, 就可以按照提示增加目錄或SAS數(shù)據(jù)表。 復(fù)制粘貼數(shù)據(jù)表要復(fù)制粘貼邏輯庫中的數(shù)據(jù)表和其

12、它文件,只需在資源管理器窗口中進(jìn)入源邏輯庫選擇數(shù)據(jù)表,按ctrl+c,然后進(jìn)入到目標(biāo)邏輯庫中,ctrl+v就可以把這些表復(fù)制過來。 第29頁,共103頁。新建邏輯庫*在邏輯庫級別,在空白處按右鍵,選擇新建,出現(xiàn)如下界面。在名稱中輸入新的邏輯庫名稱。在引擎中根據(jù)數(shù)據(jù)來源選擇不同的引擎,如果只是想建立本機(jī)地址上的一個普通的SAS數(shù)據(jù)集數(shù)據(jù)庫,可以選擇默認(rèn)。然后點(diǎn)選啟動時啟用,在邏輯庫信息中,點(diǎn)選路徑后面的瀏覽按鈕,選擇與這個邏輯庫相對應(yīng)的物理地址。選項(xiàng)窗口可以不填,點(diǎn)擊確定產(chǎn)生一個新的邏輯庫。第30頁,共103頁。程序編輯窗口操作* 提交程序可以用增強(qiáng)型編輯器編寫程序,也可以將用其它文本編寫的程序

13、拷貝到編輯器。程序完成后,直接按F3或者F8提交程序,或點(diǎn)選工具條中的提交按鈕,或者在命令框中輸入Submit命令。儲存程序程序可以保存為其它格式的文本,也可以直接以編輯器的方式來儲存,直接點(diǎn)選文件=保存,選擇路徑就可以保存這些程序。第31頁,共103頁。功能鍵窗口 在SAS軟件中,一些鍵或組合已經(jīng)被賦予特定功能,這就是功能鍵??梢酝ㄟ^下列方式打開功能鍵窗口工具=選項(xiàng)=功能鍵或者在命令行中輸入KEYS的命令 ,或者按F9(系統(tǒng)默認(rèn)設(shè)置)。第32頁,共103頁。參數(shù)選擇窗口 可以通過參數(shù)選擇窗口對SAS進(jìn)行許多個性化的設(shè)計(jì) 以下是SAS的默認(rèn)設(shè)置 第33頁,共103頁。數(shù)據(jù)集導(dǎo)入和導(dǎo)出*數(shù)據(jù)集的

14、導(dǎo)出第一步:點(diǎn)選文件=導(dǎo)出數(shù)據(jù),出現(xiàn)如下界面,要求輸入要導(dǎo)出文件的邏輯庫名稱和數(shù)據(jù)文件名稱,比如要導(dǎo)出sashelp邏輯庫的class數(shù)據(jù)文件,通過下拉菜單選擇邏輯庫和數(shù)據(jù)文件。 第34頁,共103頁。第二步:點(diǎn)選next,進(jìn)入到選擇輸出格式界面。通過下拉菜單選擇給定的格式:Microsoft Excel 97,2000 or 2002 workbook,然后點(diǎn)選next.第35頁,共103頁。第三步:進(jìn)入到設(shè)定輸出文件位置和名稱界面,通過瀏覽按鈕選擇輸出位置,并鍵入輸出文件的名稱,如E:test.xls .第36頁,共103頁。第四步:點(diǎn)選ok,進(jìn)入到SAS Export Wizard畫面,

15、SAS Export Wizard和后面要介紹的Import Wizard是SAS轉(zhuǎn)換數(shù)據(jù)文件的工具。在這個畫面中,Export Wizard要求對這個輸出過程的table命名,這時可以直接選finish完成輸出,或者命名為1。第37頁,共103頁。第五步:如果上一步選擇命名,SAS會建立一段與上述窗口操作相同的程序,并提示是否要保存這段程序。第38頁,共103頁。第2章 SAS編程基礎(chǔ)清華大學(xué)經(jīng)管學(xué)院 朱世武ZhushwResdat樣本數(shù)據(jù):SAS論壇: 第39頁,共103頁。SAS語言組件 SAS 文件 由SAS創(chuàng)建、儲存、管理的文件就是SAS文件。所有的SAS文件都保存在SAS邏輯庫中。

16、 最常用的SAS文件: SAS數(shù)據(jù)集 SAS目錄冊 第40頁,共103頁。 SAS外部文件 SAS不能直接識別的數(shù)據(jù)文件稱為外部文件。外部文件一般用于儲存數(shù)據(jù)。外部文件一般用來儲存: 要讀入SAS數(shù)據(jù)文件的原始數(shù)據(jù) SAS程序語句 過程步輸出第41頁,共103頁。DBMS文件SAS軟件可以和其它數(shù)據(jù)庫產(chǎn)品進(jìn)行數(shù)據(jù)文件轉(zhuǎn)換。 第42頁,共103頁。SAS語言元素SAS語言由語句、表達(dá)式、選項(xiàng)、格式、以及和其它編程語言名稱類似的函數(shù)組成。SAS有兩種語句 數(shù)據(jù)步 過程步第43頁,共103頁。SAS文件系統(tǒng) SAS邏輯庫由一組SAS文件組成。SAS軟件系統(tǒng)的信息組織有兩層,第一層是SAS邏輯庫,第二

17、層是SAS文件。SAS邏輯庫是一個邏輯概念,本身不是物理實(shí)體,它對應(yīng)的實(shí)體是操作系統(tǒng)下一個文件夾或幾個文件夾中的一組SAS文件。 邏輯庫 第44頁,共103頁。邏輯庫名與引用SAS文件 邏輯庫名是SAS名,長度不能超過8個字節(jié)。如SAS邏輯庫:ResDat, SASHELP, SASUSER, WORK等。建立SAS邏輯庫的方法: 用菜單操作; 用LIBNAME語句。語句格式:LIBNAME libref SAS-data-library 語法說明:Libref 邏輯庫名 SAS-data-library 邏輯庫對應(yīng)的物理地址Engine 引擎名稱(缺失時為默認(rèn)引擎)第45頁,共103頁。例2

18、.1 用LIBNAME語句創(chuàng)建SAS邏輯庫。Libname ResDat d:ResDat;多個個文件夾創(chuàng)建一個SAS邏輯庫:Libname a (d:resbd,d:resfin);例2.2 引用非臨時庫的SAS文件時必須使用兩級命名方式,而引用臨時庫的SAS文件時,可以直接使用文件名,效果等同于work.文件名。data=ResDat.Idx000001;第46頁,共103頁。臨時庫和永久庫臨時邏輯庫是指它的內(nèi)容只在啟動SAS時存在,退出SAS時內(nèi)容完全被刪除。系統(tǒng)缺省的臨時邏輯庫為WORK.永久邏輯庫是指它的內(nèi)容在SAS關(guān)閉對話之后仍舊保留,直到再次修改或者刪除。SAS系統(tǒng)中除了WORK

19、以外的邏輯庫都是永久庫。第47頁,共103頁。庫引擎庫引擎是一組規(guī)定格式向邏輯庫讀寫文件的內(nèi)部指令。利用庫引擎SAS系統(tǒng)可以直接訪問其它SAS版本創(chuàng)建的SAS文件和外部數(shù)據(jù)庫格式的數(shù)據(jù)文件。 每個SAS邏輯庫都對應(yīng)一個庫引擎。庫引擎功能包括: 讀取和寫入數(shù)據(jù); 列出庫中的文件; 刪除和重命名文件。第48頁,共103頁。SAS通過不同庫引擎讀寫不同格式的文件。每個SAS引擎都有著自身的運(yùn)行特性。比如 運(yùn)行由舊版本SAS軟件生成的文件; 讀取由其它軟件生成的數(shù)據(jù)庫文件; 存儲和訪問硬盤或者tape上的文件; 決定文件中的變量和觀測如何放置; 將文件從物理位置地址讀取放入到內(nèi)存; 在不同的操作系統(tǒng)之

20、間傳輸SAS文件。第49頁,共103頁。數(shù)據(jù)集 SAS數(shù)據(jù)集有兩類: SAS數(shù)據(jù)文件 SAS數(shù)據(jù)視圖SAS數(shù)據(jù)文件同時描述信息和存儲數(shù)據(jù)值。SAS數(shù)據(jù)視圖并不實(shí)際存儲數(shù)據(jù),而只是一個查詢語句。class是數(shù)據(jù)視圖class1是數(shù)據(jù)文件第50頁,共103頁。變量觀測SAS數(shù)據(jù)集組成部分包括: 描述信息; 數(shù)據(jù)值。第51頁,共103頁。數(shù)據(jù)文件SAS數(shù)據(jù)文件是包含描述信息和數(shù)據(jù)值的SAS數(shù)據(jù)集。一般來說,SAS數(shù)據(jù)文件又分為: 普通的SAS數(shù)據(jù)文件:SAS格式的數(shù)據(jù)文件。 接口數(shù)據(jù)文件:以其它數(shù)據(jù)軟件格式儲存數(shù)據(jù)的數(shù)據(jù)文件。SAS提供對應(yīng)的引擎來對這些文件中的數(shù)據(jù)進(jìn)行讀取和編寫,如ORACLE D

21、B2,SYBASE,ODBC,BMDP,SPSS和OSIRIS。第52頁,共103頁。雖然數(shù)據(jù)文件與視圖文件在應(yīng)用時沒有任何區(qū)別。但這兩者之間也有一定的差異。 前面已經(jīng)提到二者最大的不同就是數(shù)據(jù)文件實(shí)際儲存數(shù)值,視圖只是包含表的描述信息以及一組用來讀取數(shù)據(jù)的查詢語句,并不實(shí)際存儲數(shù)據(jù)。 數(shù)據(jù)文件是靜態(tài)的,而視圖則是動態(tài)的。 SAS數(shù)據(jù)文件可以被索引,索引可以使SAS在搜索數(shù)據(jù)的時候變得更快。而SAS視圖不能被索引。 第53頁,共103頁。數(shù)據(jù)視圖 SAS數(shù)據(jù)視圖就是用來從其它文件中讀取數(shù)據(jù)的一種SAS文件。它只包括數(shù)據(jù)集的描述信息,如數(shù)據(jù)類型、變量長度等,再加上如何從其它文件中提取數(shù)據(jù)所要求的

22、信息。 SAS視圖一般分為兩種: Native View, 由數(shù)據(jù)步或者SQL過程創(chuàng)建。 Interface View, 由SAS/ACCESS軟件創(chuàng)建。Interface View可以讀寫其它數(shù)據(jù)庫管理系統(tǒng)(DBMS)中的數(shù)據(jù)庫,如DB2或 ORACLE數(shù)據(jù)庫等。第54頁,共103頁。數(shù)據(jù)視圖的使用優(yōu)勢 可以使用連接多個表的視圖來合并數(shù)據(jù)集。 數(shù)據(jù)視圖可以節(jié)省大量的空間。 數(shù)據(jù)視圖可以保證讀取的數(shù)據(jù)集永遠(yuǎn)都是最新的。 更改一個數(shù)據(jù)視圖只需要改變這個視圖的查詢語句。 使用SAS/CONNET軟件,視圖可以將多個不同主機(jī)電腦上的數(shù)據(jù)文件整合,以整體的形式呈現(xiàn)。第55頁,共103頁。數(shù)據(jù)步視圖數(shù)據(jù)

23、步視圖包含用于從多個數(shù)據(jù)源中讀取數(shù)據(jù)的數(shù)據(jù)步程序,這些數(shù)據(jù)源包括: 原始數(shù)據(jù)文件; SAS數(shù)據(jù)文件; PROC SQL視圖; SAS/ACCESS 視圖; DB2,ORACLE,或者其它DBMS數(shù)據(jù)。語法格式:Data 數(shù)據(jù)集名稱/ view=數(shù)據(jù)集名稱; SAS語句.;Run;第56頁,共103頁。例2.3 創(chuàng)建數(shù)據(jù)步視圖。Data Resdat.class1/view=Resdat.class1;set Resdat.class;run;1 data Resdat.class1/view=Resdat.class1;2 Resdat.class1;3 run;NOTE: DATA STEP

24、 視圖已保存在文件 Resdat.class1 中。NOTE: 存儲的 DATA STEP 視圖無法在不同的操作系統(tǒng)下運(yùn)行。日志中信息第57頁,共103頁。PROC SQL視圖PROC SQL視圖為一個帶有名稱的PROC SQL查詢。它可以讀寫的數(shù)據(jù)源同數(shù)據(jù)步視圖。proc sql;create view resdat.e as select * from resdat.class;quit;日志中信息:4 proc sql;5 create view resdat.e as select * from resdat.class;NOTE: SQL 視圖 resdat.E 已定義。6 quit

25、;第58頁,共103頁。存儲編譯的DATA步程序語句格式 DATA data-set-name(s) / PGM=stored-program-name ();data-set-name數(shù)據(jù)集名稱stored-program-name存儲編譯的DATA步程序名稱password-option給DATA步程序名稱分配一個密碼source-option 存儲或編譯源碼 語法說明第59頁,共103頁。目錄冊文件SAS目錄冊文件是特殊的SAS文件,用來存放多種不同種類的信息文件。這些信息文件都很小,每個信息文件都被稱為一個條目(entry), 條目有多種不同的類型。一些目錄條件包含一些系統(tǒng)信息如功能鍵

26、定義信息。第60頁,共103頁。SAS語言元素 數(shù)據(jù)集選項(xiàng)數(shù)據(jù)集選項(xiàng)用在SAS數(shù)據(jù)集名稱后的括號中,多個選項(xiàng)之間用空格隔開。括號中的數(shù)據(jù)集選項(xiàng)可以對數(shù)據(jù)集進(jìn)行如下操作: 重新命名變量; 選擇需要的觀測; 輸出數(shù)據(jù)集中保留或刪除的變量; 數(shù)據(jù)集加密。第61頁,共103頁。語句格式:Data-set-name(Data-set-options)(option-1=value-1)例2.4 數(shù)據(jù)集選項(xiàng)舉例。data scores(keep=team game1 game2 game3);/*scores中只保留team,game1game2 game3這4個變量)proc print data=ne

27、w(drop=year); /*去掉變量year*/set old(rename=(date=Start_Date);/* 將date改名*/第62頁,共103頁。輸入和輸出格式 輸出格式format是SAS用來確定如何輸出或?qū)懗鰯?shù)據(jù)值的指令,用FORMAT控制數(shù)據(jù)值在輸出時所使用的格式。輸入格式informat是SAS用來確定如何將數(shù)據(jù)讀入變量的指令。如果在輸入或輸出數(shù)據(jù)集的過程中沒有設(shè)定變量的輸入和輸出格式,系統(tǒng)會自動使用原數(shù)據(jù)集中的這個變量原有的輸入輸出格式。第63頁,共103頁。語句格式:format. informat. 格式說明:$指定為字符格式,如果該項(xiàng)空缺,則默認(rèn)是數(shù)值格式fo

28、rmat規(guī)定有效SAS輸出格式Informat規(guī)定有效SAS輸入格式w設(shè)定輸入輸出的長度,一般來說是數(shù)據(jù)所占的列的數(shù)目d設(shè)定數(shù)值數(shù)據(jù)中小數(shù)點(diǎn)的位數(shù)第64頁,共103頁。函數(shù)和CALL子程序 SAS函數(shù)對數(shù)據(jù)參數(shù)進(jìn)行計(jì)算處理并返回一個值。大多數(shù)函數(shù)所使用的參數(shù)是由用戶提供的,一小部分函數(shù)使用系統(tǒng)提供的參數(shù)。 CALL子程序用來改變變量值,或執(zhí)行一些系統(tǒng)功能。CALL子程序類似于函數(shù),但是不能在賦值語句中使用,所有的SAS CALL子程序都只能被CALL語句使用。 第65頁,共103頁。語句SAS語句就是一系列關(guān)鍵詞、SAS名稱、算符以及特殊字符的組合。所有的SAS語句以分號結(jié)尾。SAS語句一般分

29、為數(shù)據(jù)步語句與過程步語句,以及可以用在SAS程序任何地方的全局通用語句。第66頁,共103頁。KEYWORD parameteroptions;關(guān)鍵詞 參數(shù) 選項(xiàng);其中:粗體-必須按顯示形式書寫的關(guān)鍵詞;白正體-用戶提供的信息;-括號內(nèi)的信息可選;|-任選。參數(shù)PARAMETER不是任選項(xiàng),不用括號,OPTIONS是選項(xiàng)關(guān)鍵詞。第67頁,共103頁。例2.5 有效的SAS語句。data data1; /* data為關(guān)鍵詞,data1為SAS名 */data _null_; /* _null_為SAS名 */put name $ 8.; /* put為關(guān)鍵詞,name為SAS名,$8.為輸出格

30、式*/format date yymmdd10.;proc means data=ResDat.class; /* proc為關(guān)鍵詞,means為過程名 */infile “d:ResDatclass.txt”;do I=1 to 100;x=y+1; sumx+x;run;第68頁,共103頁。SAS系統(tǒng)選項(xiàng) 系統(tǒng)選項(xiàng)用來控制SAS的運(yùn)行方式,如SAS系統(tǒng)啟動,硬件軟件的連接,SAS程序的運(yùn)行等。 語句格式:OPTIONS option(s); option 設(shè)定一個或多個系統(tǒng)選項(xiàng),任何系統(tǒng)選項(xiàng)都有一個默認(rèn)設(shè)置。第69頁,共103頁。例2.6 設(shè)定選項(xiàng)OPTIONS obs=5;/*取數(shù)據(jù)集

31、前五個觀測*/Data one;Set ResDat.class;Run;第70頁,共103頁。表達(dá)式 表達(dá)式由一系列操作符和操作對象構(gòu)成,產(chǎn)生一個目標(biāo)值。使用表達(dá)式可以對變量作變換和賦值,創(chuàng)建新變量,計(jì)算新數(shù)值以及控制條件語句的運(yùn)行等。操作對象有: 變量; 常數(shù)。操作符包括: 算術(shù)算符; 比較算符; 邏輯算符; SAS函數(shù); 括號。第71頁,共103頁。SAS常數(shù) SAS常數(shù)是SAS系統(tǒng)可以識別的一些固定值。第72頁,共103頁。數(shù)值常數(shù) 例2.7 數(shù)值常數(shù)。1, 5, 1.23, 1.2E23, 2E4 , 20000數(shù)值常數(shù)可以有多種格式展示。標(biāo)準(zhǔn)格式:1,01,+1,-1,1.1;科學(xué)

32、計(jì)數(shù)法:1.1e11, 1.2e-12;十六進(jìn)制格式:1cx,12x,9x第73頁,共103頁。字符常數(shù) 例2.8 引用帶引號的字符常數(shù)。name=TOM”S;name=”TOMS”; /*例中,兩語句等價。*/要注意的是,字符常數(shù)是由引號括起來的,但是字符變量的名稱則沒有引號,也就是說字符常數(shù)不能作為字符變量的名稱。第74頁,共103頁。日期時間常數(shù) 例2.9 引用日期時間常數(shù)。1jan2000d; 01jan00d;9:25t; 18jan00:9:27:25dtif begin=01JAN2000d then end=31DEC2000d; 第75頁,共103頁。SAS算符SAS算符是一

33、些符號,其作用是進(jìn)行計(jì)算、比較等。第76頁,共103頁。算術(shù)算符 例2.10 算術(shù)算符應(yīng)用。data;X=3.5*2.5; put X=;Y=9+1/3;put Y=;X=.;Y=1+X;put Y=; /*Y也是缺失值*/run;輸出結(jié)果:X=22.917651494Y=9.3333333333Y=.第77頁,共103頁。比較算符 例2.11 比較算符應(yīng)用。if xy then c5;else c12;比較算符經(jīng)常出現(xiàn)在IF語句里。比較準(zhǔn)則: 數(shù)值和字符都可以比; 結(jié)果為真賦值1,假賦值0; 字符值從左到右逐個按ASCII碼排列序列進(jìn)行比較; 缺失值參加比較時,它比任何有效值都小。第78頁,

34、共103頁。邏輯算符 算符等價形式含義AND與| OR或 NOT非第79頁,共103頁。其它算符 :連接字符算符“|”例2.12 連接多個變量和常數(shù)。data;set ResDat.lstkinfo;result=%a(|stkcd|,|stknm|); put result;run;第80頁,共103頁。SAS變量 SAS變量分為數(shù)值變量和字符變量。數(shù)值變量數(shù)值變量是SAS系統(tǒng)以浮點(diǎn)(floating-point)方式存儲的數(shù)據(jù)變量,數(shù)值變量包括日期和時間。數(shù)值變量的值只能是數(shù)值。 字符變量字符變量可以由阿拉伯字母、數(shù)字0-9以及其它一些特殊字符組成。字符變量的值可以是字符、字母、特殊字符和

35、數(shù)值。字符變量名后跟一個美元號($)表示該變量是字符型而不是數(shù)值型。第81頁,共103頁。變量屬性 SAS變量的屬性包括:長度、輸人輸出格式和標(biāo)簽。未設(shè)定屬性的變量在它們第一次出現(xiàn)時由系統(tǒng)給出。變量的長度是指存貯變量值的字節(jié)數(shù)。缺省長度為8個字節(jié)。變量的輸人格式是指SAS系統(tǒng)讀人變量值的方式。變量的輸出格式是指SAS系統(tǒng)展現(xiàn)變量值的方式。變量的標(biāo)簽是指變量名的描述性標(biāo)識,它至多可用256個字符。第82頁,共103頁。創(chuàng)建變量 使用賦值語句 Data a; x=1; run;/*數(shù)據(jù)集a中有個變量x,值為1*/使用INPUT語句 Data b; Input x $; Datalines; Aaa

36、 ; Run;第83頁,共103頁。使用FORMAT 或 INFORMAT語句 Data b; Set b; Informat y $9.; Run;以類似的方式創(chuàng)建變量的還有LENGTH語句,ATTIRB語句。第84頁,共103頁。變量類型轉(zhuǎn)換 字符自動轉(zhuǎn)換為數(shù)值 例2.15 字符自動轉(zhuǎn)換為數(shù)值。data;X=1; /*X為數(shù)值變量 */Y=10; /*Y為字符變量 */X=Y; /*將字符變量賦值給一個數(shù)值變量時,自動將字符變量Y轉(zhuǎn)換為數(shù)值變量 */ run;data;X=1; /*X為數(shù)值變量 */Y=10; /*Y為字符變量 */Z=X+Y; /*算術(shù)表達(dá)式中有字符變量時,自動將字符變

37、量Y轉(zhuǎn)換為數(shù)值變量 */run;第85頁,共103頁。data;X=1; /*X為數(shù)值變量 */Y=10; /*Y為字符變量 */if XY ; /*字符與數(shù)值變量進(jìn)行比較時,自動將字符變量Y轉(zhuǎn)換為數(shù)值變量 */run;data;Y=10; /*Y為字符變量 */Z=log(Y); /*需要數(shù)值變量的函數(shù)中引用字符變量時,自動將字符變量Y轉(zhuǎn)換為數(shù)值變量 */run;第86頁,共103頁。函數(shù)INPUT將字符轉(zhuǎn)換為數(shù)值 INPUT函數(shù)的形式:INPUT(數(shù)據(jù)源, 輸入格式);其中:數(shù)據(jù)源為要轉(zhuǎn)換為數(shù)值的變量,常數(shù)或表達(dá)式。數(shù)據(jù)源既可以是數(shù)值型,也可以是字符型。輸入格式規(guī)定對數(shù)據(jù)源進(jìn)行轉(zhuǎn)換的輸入格

38、式。第87頁,共103頁。例2.16 轉(zhuǎn)換字符變量為數(shù)值變量。data a(keep=code);set ResDat.lstkinfo;code=input(stkcd, 6.);run;數(shù)據(jù)集Acode1245200011200012第88頁,共103頁。數(shù)值自動轉(zhuǎn)換為字符 例2.19 數(shù)值自動轉(zhuǎn)換為字符。data;X=10; /*X為字符變量 */Y=10; /*Y為數(shù)值變量 */X=Y; /*自動將數(shù)值變量Y轉(zhuǎn)換為字符變量 */ run;日志信息:10 data;11 X=10; /*X為字符變量 */12 Y=10; /*Y為數(shù)值變量 */13 X=Y; /*自動將數(shù)值變量Y轉(zhuǎn)換為字

39、符變量 */14 run;NOTE: 數(shù)字值已轉(zhuǎn)換為字符值,位置:(行:列)。 13:3NOTE: 數(shù)據(jù)集 WORK.DATA2 有 1 個觀測和 2 個變量。NOTE: “DATA 語句”所用時間(總處理時間): 實(shí)際時間 0.03 秒 CPU 時間 0.00 秒第89頁,共103頁。data;Y=10; /*Y為數(shù)值變量 */Z=ROOM|Y; /*自動將數(shù)值變量Y轉(zhuǎn)換為字符變量 */ put Z=;run;data ;Y=10600001; /*Y為數(shù)值變量 */Z=SUBSTR(Y,7,6);/*自動將數(shù)值變量Y轉(zhuǎn)換為字符變量 */put Z=;run;Z=ROOM 10Z=60000

40、1系統(tǒng)自動地將數(shù)值轉(zhuǎn)換為字符時,使用BEST12.的輸出格式,字符值右對齊。第90頁,共103頁。函數(shù)PUT將數(shù)值轉(zhuǎn)換為字符 PUT函數(shù)的形式:PUT(數(shù)據(jù)源, 輸出格式);其中:數(shù)據(jù)源為要轉(zhuǎn)換為字符值的變量,常數(shù)或表達(dá)式。數(shù)據(jù)源既可以是數(shù)值型,也可以是字符型。輸出格式規(guī)定對數(shù)據(jù)源進(jìn)行轉(zhuǎn)換的輸出格式。第91頁,共103頁。例2.20 轉(zhuǎn)換數(shù)值變量為字符變量。data a (keep=date x);set ResDat.stk000001;x=put(clpr, 8.2);run;第92頁,共103頁。自動變量 自動變量是由數(shù)據(jù)步語句自動創(chuàng)建的。這些自動變量被加入到程序數(shù)據(jù)向量(PDV)中,但

41、是并不輸出到數(shù)據(jù)集中。自動變量在重復(fù)過程中被保留,而不是被設(shè)定為缺失。例:使用自動變量_Numeric_。data one;set sashelp.class;keep _numeric_; /* 只保留數(shù)據(jù)集中的數(shù)值變量*/run;第93頁,共103頁。錯誤類型與處理 SAS系統(tǒng)能夠檢查出錯誤類型有:句法錯;詞義錯;運(yùn)行錯;數(shù)據(jù)錯;與宏有關(guān)的錯。SAS系統(tǒng)提交含有錯誤的程序后,LOG窗口會顯示的信息有:出錯的詞;錯誤的可能位置;對錯誤的說明。第94頁,共103頁。句法錯 例2.22 關(guān)鍵詞拼寫錯。daat a; /*將data錯拼為daat */x=2;run;日志窗口信息:4 daat a; /*將data錯拼為daat */ - 14WARNING 14-169: 假定符號 DATA 錯拼為 daat。5 x=2;6 run;NOTE: 數(shù)據(jù)集 WORK.A 有 1 個觀測和 1 個變量。NOTE: “DATA 語句”所用時間(總處理時間): 實(shí)際時間 0.06 秒 C

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論