




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第二講 編程創(chuàng)建SAS數(shù)據(jù)集vData步的一般形式vData步的編譯與執(zhí)行v變量輸入設(shè)定SAS程序的基本內(nèi)容和結(jié)構(gòu)l基本內(nèi)容:指明供操作的數(shù)據(jù)、對(duì)數(shù)據(jù)進(jìn)行何種加工、期望的輸出結(jié)果l基本結(jié)構(gòu):數(shù)據(jù)步(Data step)語(yǔ)句、過(guò)程步(Proc step)語(yǔ)句vData步的一般形式SAS程序的書(shū)寫(xiě)規(guī)則l每個(gè)語(yǔ)句以關(guān)鍵詞開(kāi)始,分號(hào)結(jié)束(不能是中文狀態(tài)分號(hào))l語(yǔ)句可以在任意列開(kāi)始和結(jié)束,一個(gè)語(yǔ)句可以寫(xiě)成多行,多個(gè)語(yǔ)句也可以寫(xiě)成一行l(wèi)語(yǔ)句的詞與詞之間可以用一個(gè)或多個(gè)空格符或其他特殊字符隔開(kāi)程序行數(shù)的添加: ToolsOptionsEnhanced Editor數(shù)據(jù)步的一般形式Data 數(shù)據(jù)集名; Inf
2、ile 文件名 ; Input ; Run; 編寫(xiě)程序讀入數(shù)據(jù)“例1.txt”。vData步的一般形式數(shù)據(jù)步的一般形式Data 數(shù)據(jù)集名; Infile datalines(或cards) ; input ; datalines(或cards); 數(shù)據(jù)列 ;Run;無(wú)其他選項(xiàng)時(shí)Infile語(yǔ)句可以省略 編寫(xiě)程序讀入數(shù)據(jù)“例2.txt”。vData步的一般形式v變量輸入設(shè)定格式化輸入模式l適用于字段固定格式源文件,以指針指定起始列,以輸入格式?jīng)Q定結(jié)束列l(wèi)一般形式:Input 指針控制 變量名 輸入格式;n:絕對(duì)位置+n:相對(duì)位置指針默認(rèn)起始位置為第一列,讀入一個(gè)字段后指向下一列,依次讀入各個(gè)字段
3、可缺省 編寫(xiě)程序讀入數(shù)據(jù)“例3.txt”。 編寫(xiě)程序讀入數(shù)據(jù)“例4.txt”。按列輸入模式l適用于字段固定格式源文件l一般形式:Input 變量名 n1-n2;讀入字段靈活,允許字符型變量中存在空格符與其他特殊符號(hào),缺失數(shù)據(jù)無(wú)特殊占位要求沒(méi)有設(shè)定輸入格式,某些類(lèi)型數(shù)據(jù)不能正確讀入v變量輸入設(shè)定 使用按列輸入模式讀入數(shù)據(jù)“例4.txt”。列舉輸入模式l適用于分隔符固定格式源文件,依次讀入由分隔符隔開(kāi)的各個(gè)字段l一般形式:Infile 文件名|Cards ;Length 變量名 長(zhǎng)度;Input 變量名 ;Input 變量名:輸入格式;默認(rèn)長(zhǎng)度為8,超過(guò)會(huì)截?cái)嗫捎趇nput語(yǔ)句前解決變量長(zhǎng)度超過(guò)8
4、的問(wèn)題解決特殊格式的輸入及變量長(zhǎng)度超過(guò)8的問(wèn)題 編寫(xiě)程序讀入數(shù)據(jù)“例6.txt”。v變量輸入設(shè)定分隔符為空格時(shí)可缺省 編寫(xiě)程序讀入數(shù)據(jù)“例7.txt”。讀入模式的混合使用l可針對(duì)數(shù)據(jù)特點(diǎn)對(duì)不同字段使用不同讀入方式v變量輸入設(shè)定l控制變量輸入的關(guān)鍵詞:l讀入變量的原理:從指針位置(缺省為第1列)讀入第一個(gè)字段直至 (1)達(dá)到規(guī)定列;(2)遇到分隔符;(3)達(dá)到規(guī)定長(zhǎng)度(默認(rèn)長(zhǎng)度8、格式規(guī)定或Length語(yǔ)句規(guī)定) 讀入格式由兩種情況決定:(1)字符型默認(rèn)()和數(shù)值型默認(rèn);(2)指定格式; 與變量無(wú)冒號(hào)分隔:指針達(dá)到格式指定長(zhǎng)度與變量有冒號(hào)分隔:指針達(dá)到分隔符前一列 數(shù)據(jù)“例4.txt”的第一個(gè)變
5、量為身份證號(hào),從中讀取出生年月日產(chǎn)生一個(gè)新的變量。vData步的編譯與執(zhí)行創(chuàng)建數(shù)據(jù)集的描述部分掃描每個(gè)語(yǔ)句檢查語(yǔ)法錯(cuò)誤創(chuàng)建數(shù)據(jù)集的數(shù)據(jù)部分對(duì)源數(shù)據(jù)文件每條記錄執(zhí)行數(shù)據(jù)步數(shù)據(jù)步的編譯階段(Compilation phase)l檢查程序的語(yǔ)法錯(cuò)誤(詞語(yǔ)、語(yǔ)法)l轉(zhuǎn)換程序?yàn)闄C(jī)器碼,供執(zhí)行階段使用l建立工作部件:輸入緩沖器(Input Buffer)l建立工作部件:PDV(Program Data Vector)l確定數(shù)據(jù)集中變量的三個(gè)必須屬性(Name,Type,Length)l建立數(shù)據(jù)集描述部分vData步的編譯與執(zhí)行SAS系統(tǒng)處理DATA步的粗流程_N_Error_vData步的編譯與執(zhí)行數(shù)據(jù)步
6、的執(zhí)行階段(Execution phase)PDV中外部變量初始為缺失值(數(shù)值:句號(hào),字符:空格)輸入原文件中每條記錄至輸入緩沖器,按Input語(yǔ)句讀入PDV在數(shù)據(jù)步結(jié)束時(shí)缺省地將PDV內(nèi)容作為一條記錄寫(xiě)入新的數(shù)據(jù)集回到數(shù)據(jù)步開(kāi)始,重復(fù)直至源文件最后一條記錄讀入外部文件時(shí),數(shù)據(jù)步每次迭代開(kāi)始系統(tǒng)會(huì)為每個(gè)變量置缺失值(除幾種特殊情況);讀入SAS數(shù)據(jù)集時(shí),只在第一次執(zhí)行時(shí)置缺失值,以后會(huì)保留其值直至新值寫(xiě)入vData步的編譯與執(zhí)行vData步的編譯與執(zhí)行常見(jiàn)錯(cuò)誤的排除l拼寫(xiě)錯(cuò)誤l遺漏分號(hào)l遺漏run語(yǔ)句l引號(hào)或括號(hào)不配對(duì)l選項(xiàng)無(wú)效有些能夠被系統(tǒng)自動(dòng)矯正 嘗試排除下列程序中的錯(cuò)誤例9_1,例9_2,例9_3由于引號(hào)不配對(duì)引起程序無(wú)法終止時(shí),可通過(guò)提交:終止程序進(jìn)程vData步的編譯與執(zhí)行Input語(yǔ)句的跟蹤符號(hào) 已讀過(guò)的數(shù)據(jù)行會(huì)在下一個(gè)Input語(yǔ)句或數(shù)據(jù)步下一個(gè)循環(huán)中被棄用 Input語(yǔ)句后加入一個(gè):保留數(shù)據(jù)行供下一個(gè)Input語(yǔ)句使用;加入:保留數(shù)據(jù)行供下一個(gè)Input語(yǔ)句及下一個(gè)循環(huán)使用考慮程序“例10”的執(zhí)行結(jié)果v實(shí)驗(yàn)任務(wù)l掌握數(shù)據(jù)步的一般形式與各種變量設(shè)定形式l了解數(shù)據(jù)步的編譯與執(zhí)行過(guò)程實(shí)驗(yàn)題 編寫(xiě)程序?qū)?shù)據(jù)“實(shí)驗(yàn)題1”、“實(shí)驗(yàn)題2”、“實(shí)驗(yàn)題3”、“實(shí)驗(yàn)題4”創(chuàng)建為SAS數(shù)據(jù)集,要求數(shù)據(jù)打印結(jié)果分別如下圖1-4l掌握常見(jiàn)程序錯(cuò)誤的排除方法 實(shí)驗(yàn)報(bào)告完成要求:(1)Wor
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 服裝批發(fā)商直播帶貨與網(wǎng)紅營(yíng)銷(xiāo)考核試卷
- 刨花板行業(yè)綠色生產(chǎn)與可持續(xù)發(fā)展考核試卷
- 彈射玩具銷(xiāo)售季節(jié)性規(guī)律考核試卷
- 樂(lè)器配件精密加工技術(shù)考核試卷
- 動(dòng)物用藥品銷(xiāo)售與市場(chǎng)預(yù)測(cè)分析考核試卷
- 刺繡藝術(shù)在充電寶的個(gè)性化設(shè)計(jì)考核試卷
- 創(chuàng)業(yè)項(xiàng)目品牌定位與市場(chǎng)推廣考核試卷
- 勞務(wù)合同范本遷戶口
- 學(xué)校鏟車(chē)租賃合同范本
- 淘客推廣合同范本
- 2025新人教版英語(yǔ)七年級(jí)下單詞默寫(xiě)表(小學(xué)部分)
- 2025年春新外研版(三起)英語(yǔ)三年級(jí)下冊(cè)課件 Unit6第1課時(shí)Startup
- 2025江蘇蘇州高新區(qū)獅山商務(wù)創(chuàng)新區(qū)下屬?lài)?guó)企業(yè)招聘9人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《蒙牛集團(tuán)實(shí)施財(cái)務(wù)共享過(guò)程中存在的問(wèn)題及優(yōu)化建議探析》8800字(論文)
- 平拋運(yùn)動(dòng)的經(jīng)典例題
- 錄井作業(yè)現(xiàn)場(chǎng)風(fēng)險(xiǎn)評(píng)估及控制措施
- 2025年度商會(huì)工作計(jì)劃
- 社區(qū)管理與服務(wù)專(zhuān)業(yè)實(shí)習(xí)總結(jié)范文
- 施工現(xiàn)場(chǎng)5S管理規(guī)范
- 科研方法講座模板
- 投資學(xué)基礎(chǔ)(第二版)教案全套 李博
評(píng)論
0/150
提交評(píng)論