




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
數(shù)據(jù)步程序設計
ProgramDesignofDataStep主要內(nèi)容循環(huán)程序設計–DO語句分支程序設計–IF語句循環(huán)程序設計循環(huán):在數(shù)據(jù)步的一次執(zhí)行中,某些語句需要反復執(zhí)行許多遍,稱為循環(huán)。Do–End語句:格式:DOI=AtoBbyC; <LoopBody>; END;說明:
DO語句組第一次執(zhí)行時,指針變量I等于初值A。當終值B和增量C都存在時,則每執(zhí)行到END語句時,指針變量+增量作為新的指針變量,并與終值作比較,直到指針變量的值變化超過終值時才停止執(zhí)行DO語句組。最后一次執(zhí)行完后,指針變量值超過終值。例1:循環(huán)10次。Dataa;doi=0to9; puti; *Put語句:將變量值顯示在日志窗口;end;run;注意:如果初值終值均未規(guī)定,語句組僅執(zhí)行一次(DOEND相當于括號)。如果未規(guī)定增量,增量的缺省值為1。初值和終值是在第一次執(zhí)行循環(huán)以前計算的。雙重循環(huán):循環(huán)體中嵌套循環(huán)例2:打印乘法口訣表Dataa;DoI=1to9; *被乘數(shù)從1循環(huán)到9;
Doj=1toI; *乘數(shù)從1循環(huán)到被乘數(shù); S=I*j; PutI“*”j“=“S““@@;*@@表示輸出后不換行;
End; Put; *Put語句使輸出完一個被乘數(shù)后換行;End;Run;利用雙重循環(huán)組織分類數(shù)據(jù):例:研究某降糖藥不同劑量的療效,測量II型糖尿病患者治療4周后餐后2小時血糖下降值(mmol/L),如表:編號高劑量低劑量對照組15.6-0.612.429.55.70.936.012.87.048.74.13.959.2-1.81.665.0-0.16.473.56.33.085.812.73.998.09.82.21015.512.61.11111.82.02.71216.35.67.81311.87.06.91414.67.91.5154.94.39.4168.16.43.8Dataa;Doi=1to16; Doj=1to3; Inputx@@; Output; *Output:直接將變量當前值寫入數(shù)據(jù)集; End;End;Cards;5.6-0.612.49.55.70.96.012.87.08.74.13.99.2-1.81.65.0-0.16.43.56.33.05.812.73.98.09.82.215.512.61.111.82.02.716.35.67.811.87.06.914.67.91.54.94.39.48.16.43.8;procfreq;tablesi*j;weightx;Procanova;Classij;Modelx=j;Run;分支程序設計分支:根據(jù)某種條件的滿足與否來執(zhí)行不同的操作,稱為分支,常用IF語句完成。IF–Then/Else語句:語句格式:IF<Expression>Then<Statement1>;[Else<Statement2>];說明:首先對IF后面的表達式(Expression)求值,如果表達式值為真(非0),則執(zhí)行Then后面跟的語句(Statement1),而忽略Else子句;如果表達式值為假(0),則忽略Then子句,轉而去執(zhí)行Else子句,如果沒有Else子句,則不做任何操作,轉而執(zhí)行IF語句組后面的語句。例1:在程序執(zhí)行時顯示總成績>280的觀測。Dataa;Inputnums1-s3@@;Total=sum(ofs1-s3);IfTotal>280thenputnumTotal;Cards;100179968710028996981003876981;Run;例2:通過牙齒狀態(tài)調(diào)查判斷患齲齒與失牙病情。 口腔科體檢,記錄檢查值為:0-正常,1-齲齒,2-齲齒已填充,3-因齲齒失牙,4-其他原因失牙。Dataa;Inputx@@;If1<=x<=3Thenhq=1; *x>=1&x<=3;Elsehq=0;If3<=x<=4Thensy=1; *x>=3&x<=4;Elsesy=0;Cards;01234;Procprint;Run;例3:通過分支建立不同類別數(shù)據(jù)集 按性別分別建立兩個數(shù)據(jù)集Boy和Girl。Databoygirl;Inputname$sex$agehw;Ifsex=‘M’thenoutputboy;Elseoutputgirl;Cards;ZhangM1014040WangF1014238LiM1115045ZhaoF1114542;Run;例4:利用分支選擇滿足條件的數(shù)據(jù) 將成績不及格的觀測刪除。Dataa;Inputnumx;Ifx<60thendelete; *Delete語句:刪除某觀測值;Cards;10180102901038510450105100;Procprint;Run;例5:Do–End語句組: 統(tǒng)計考試平均成績,不及格的學生指明需要補考,并在日志窗口顯示。Dataa;Inputnumx;Ifx<60thendo;
bk=1; putnumxbk=;End;Elsebk=0;Cards;10180102901038510450105100;Procmeans;Varx;Run;應用IF語句求數(shù)據(jù)集的子集作用:使SAS僅處理符合IF語句條件的觀測,而不符合條件的觀測不做任何處理,從而得到原數(shù)據(jù)集的子集。語句格式:IF<Expression>;說明:當數(shù)據(jù)步的某次執(zhí)行時,如果表達式值為真(非0),SAS繼續(xù)執(zhí)行;如果表達式值為假(0),SAS馬上停止對本觀測的執(zhí)行,返回Data步的開始,處理下一觀測而不輸出本觀測。例:建立Children的子集Baby和Girls。DataChildren;Inputnum$sex$month@@;Cards;1001F81002M91003F171004M14;DataBaby;SetChildren;Ifmonth<=12;DataGirls;SetChildren;Ifsex=‘F’;Run;上例也可用Delete語句實現(xiàn):DataChildren;Inputnum$s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉儲設備租賃合同協(xié)議書
- 人工智能技術應用研發(fā)合作協(xié)議
- 鋼筋焊接施工承包合同
- 工程承包合同單價合同
- 企業(yè)信息化戰(zhàn)略規(guī)劃與實施
- 工廠場地租賃合同
- 電子商務購銷合同
- 數(shù)據(jù)安全與信息保密服務協(xié)議
- 血液(第二課時)課件2024-2025學年北師大版生物七年級下冊
- 關于調(diào)整辦公環(huán)境的申請通知
- 部編版六年級下冊數(shù)學教學計劃(及進度表)
- 會計學生學情分析總結
- 大學英語六級考試
- 新質(zhì)生產(chǎn)力:中國創(chuàng)新發(fā)展的著力點與內(nèi)在邏輯
- 中考數(shù)學第二輪復習教案
- (2024年)職業(yè)健康培訓課件(PPT9)
- 心理健康與職業(yè)生涯(中等職業(yè))全套教學課件
- 黑龍江農(nóng)業(yè)經(jīng)濟職業(yè)學院單招《語文》考試復習題庫(含答案)
- 人工智能在物業(yè)管理中的應用
- 基于BIM的軸流通風機施工工藝優(yōu)化
- 在醫(yī)院新員工入職儀式上的講話
評論
0/150
提交評論