08數(shù)據(jù)步循環(huán)與轉(zhuǎn)移控制_第1頁
08數(shù)據(jù)步循環(huán)與轉(zhuǎn)移控制_第2頁
08數(shù)據(jù)步循環(huán)與轉(zhuǎn)移控制_第3頁
08數(shù)據(jù)步循環(huán)與轉(zhuǎn)移控制_第4頁
08數(shù)據(jù)步循環(huán)與轉(zhuǎn)移控制_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第第頁08數(shù)據(jù)步循環(huán)與轉(zhuǎn)移控制朱世武SAS教程(精品)

第8章數(shù)據(jù)步循環(huán)與轉(zhuǎn)移掌握清華高校經(jīng)管學(xué)院朱世武Zhushw@Resdat樣本數(shù)據(jù):SAS論壇:

朱世武SAS教程(精品)

DO語句DO語句需要由一個END語句來結(jié)束。DO和END語句之間的這些語句稱為一個DO組。DO組可以嵌套任意次。DO語句有5類:簡約DO語句;循環(huán)DO語句;DOOVER語句;DOWHILE語句;DOUNTIL語句。

朱世武SAS教程(精品)

簡約DO語句語句格式DO;[一些SAS語句]END;

朱世武SAS教程(精品)

應(yīng)用舉例例8.1IF/THEN語句用中DO.dataa;setResDat.class;ifage14thendo;h_cm=30.5*height/12;putname=se*=age=h_cm=;end;run;

朱世武SAS教程(精品)

329330331332333334335

dataa;setfdata.class;ifage14thendo;h_cm=30.5*height/12;putname=se*=age=h_cm=;end;run;

Name=JanetSe*=FAge=15h_cm=158.85416667Name=MarySe*=FAge=15h_cm=169.02083333Name=PhilipSe*=MAge=16h_cm=183Name=RonaldSe*=MAge=15h_cm=170.29166667Name=WilliamSe*=MAge=15h_cm=169.02083333NOTE:從數(shù)據(jù)集FDATA.CLASS讀取了19個觀測。NOTE:數(shù)據(jù)集WORK.A有19個觀測和6個變量。NOTE:“DATA語句”所用時間(總處理時間):實(shí)際時間0.01秒CPU時間0.01秒

上例與下面的if語句效果一樣,但是IF語句效率較低。Ifage14thenH_cm=30.5*height/12;Ifage14thenPutname=se*=age=h_cm=;

朱世武SAS教程(精品)

循環(huán)DO語句DO組中的語句需要被重復(fù)執(zhí)行時要用到循環(huán)DO語句。循環(huán)DO語句依據(jù)下標(biāo)變量重復(fù)執(zhí)行DO和END語句之間的語句語句格式DOinde*_variable=specification-1,…specification-N;[一些SAS語句]END;其中:inde*-variable選項定義下標(biāo)變量,用于掌握DO組的執(zhí)行方式和重復(fù)次數(shù)。下標(biāo)變量包含在創(chuàng)建的數(shù)據(jù)集中,可以用DROP語句刪除。

朱世武SAS教程(精品)

SPECIFICATION選項格式StartTOstopBYincrementWHILE/UNTIL(e*pression);Specification選項說明:StartToStopIncrementWhileE*pressionUntilE*pression規(guī)定下標(biāo)變量的起始值規(guī)定下標(biāo)變量的終止值規(guī)定步長表達(dá)式在每次循環(huán)執(zhí)行前計算表達(dá)式在每次循環(huán)執(zhí)行以后計算

朱世武SAS教程(精品)

例8.2缺省的步長為1。doI=1to1000;doI=1toy+3;doI=1toe*it;

朱世武SAS教程(精品)

例8.3起始值例句。doi=5;doi=1ton;doi=nto1by–1;doi=k+1ton-1;doi=1tok-1,k+1ton;doi=2,3,5,7,11,13,17;doi=0.1to0.9by0.1,1to10by1,20to100by10;doi='saturday','sunday';doi='01jan99'd,'25feb99'd;doi='01jan99'dto'01jan2000'dby1;例句子中,起始值需要全部是數(shù)值或全部是字符常數(shù),也可以是變量。字符常數(shù)需要用引號括起來。

朱世武SAS教程(精品)

例8.4運(yùn)用表達(dá)式選項。doi=1to10while(*y);doi=2to20by2until((*/3)y);doi=10to0by–1while(month='jan');

朱世武SAS教程(精品)

應(yīng)用舉例例8.5用GOTO語句跳出循環(huán)體。dataa;input*y;if*ythengotoskip;/*skip是循環(huán)體外的語句標(biāo)號*/y=log(y-*);yy=y-20;skip:ify0thendo;數(shù)據(jù)集aput*=y=;z=log(*-y);*yend;121.3862943611cards;2

6253535-135-1

yy

z

-18.61370564....1.7917594692

;

朱世武SAS教程(精品)

LOG窗口顯示:336337338339340341342343344345dataa;input*y;if*ythengotoskip;/*skip是循環(huán)體外的語句標(biāo)號*/y=log(y-*);yy=y-20;skip:ify0thendo;put*=y=;z=log(*-y);end;cards;

*=5y=-1NOTE:數(shù)據(jù)集WORK.A有3個觀測和4個變量。NOTE:“DATA語句”所用時間(總處理時間):實(shí)際時間0.04秒CPU時間0.01秒

349;350run;

朱世武SAS教程(精品)

例8.6產(chǎn)生指定觀測值個數(shù)的數(shù)據(jù)集。dataa;don=1to100;output;end;run;例中,產(chǎn)生一個含有100個觀測值的數(shù)據(jù)集。

朱世武SAS教程(精品)

例8.7自然數(shù)求和。dataa;t=0;don=1to100;t=t+n;output;end;run;例中,求1到100的自然數(shù)之和。

朱世武SAS教程(精品)

例8.9用循環(huán)DO語句處理數(shù)組。arrayday{7}d1-d7;/*定義數(shù)組day{7}*/doi=1to7;ifday{i}=99thenday{i}=100;end;例中,用循環(huán)DO語句處理數(shù)組時,便于進(jìn)行批量更新。

朱世武SAS教程(精品)

DOOVER語句DOOVER語句對隱含下標(biāo)數(shù)組元素執(zhí)行DO組里的語句。語句格式DOOVERarray-name;[假設(shè)干SAS語句]END;其中:選項array-name規(guī)定一個隱含下標(biāo)數(shù)組。

朱世武SAS教程(精品)

應(yīng)用舉例例8.10隱含數(shù)組的全部元素乘以100。datatest;inputsc01-sc05;arrayssc01-sc05;doovers;/*等價于do_i_=1to5*/s=s*100;end;cards;.95.88.99.77.56;run;

sc01195

sc0288

sc0399

sc0477

sc0556

朱世武SAS教程(精品)

DOWHILE語句DOWHILE語句使得當(dāng)條件成立時重復(fù)地執(zhí)行DO組中的語句。

溫馨提示

  • 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

提交評論