R語言中循環的相關知識詳解_第1頁
R語言中循環的相關知識詳解_第2頁
R語言中循環的相關知識詳解_第3頁
R語言中循環的相關知識詳解_第4頁
R語言中循環的相關知識詳解_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第R語言中循環的相關知識詳解目錄repeatwhile向量for循環break和next

repeat

repeat是最存粹的循環,只要不讓出來,就一直重復{}中的代碼,可以在命令行中輸入

repeat{print("hellor")}

然后就會看到命令行瘋狂地刷新,輸出hellor。這個時候不用擔心,只需點擊命令行右上角出現的紅色的stop按鈕,就可以中斷輸出了。

為了讓repeat能跳出循環,可以采用break關鍵字。例如,想輸出5次hellor,可以寫為

i=0

repeat{

if(i==5){break}

i-i+1

print("hellor")

這樣就剛好輸出5次,效果如下

repeat{

+if(i==5){break}

+i-i+1

+print(hellor)

+}

[1]hellor

[1]hellor

[1]hellor

[1]hellor

[1]hellor

while

和repeat相比,while循環直接包含了循環條件,當不滿足這個條件時,可以自動跳出

i=0

while(i5){

i-i+1

print("hellor")}

其中i5就是循環條件。這種寫法比repeat...break簡潔了許多,但效果是相同的

i=0

while(i5){

+i-i+1

+print(hellor)}

[1]hellor

[1]hellor

[1]hellor

[1]hellor

[1]hellor

向量

在介紹for循環之前,有必要介紹一下向量。向量可以理解為數的組合,是R語言處理較多數據時的基礎數據結構,其創建方法為c(),示例如下

c1-c(1,2,3,4,5)

c2-c(1:5)

print(c1)

[1]12345

print(c2)

[1]12345

這兩個數組的內容貌似完全相同,從而可以理解1:5的作用就是生成1到5的所有自然數。但在Environment中,c1的值為num[1:5]12345;c2的值卻為int[1:5]12345。num和int是數據類型的標識,int標識整型;num表示實數類型。

換言之,在R語言中,直接寫出的1,2,..均為number類型,而經由c(1:5)創建的向量,則為整型的。

for循環

在有了向量的概念之后,就可以較為方便地理解for循環了,示例如下

for(iinc(1:5)){

print("hellor")

這同樣是一個打印5次hellor的例子,但使用的是for循環,其中iinc(1:5)表示將i從1,2,3,4,5中依次拿出,每拿出一個數,就循環一次,所有數拿完了,就結束循環。

這種寫法比while還要簡潔,但依舊可以實現相同的效果

for(iinc(1:5)){

+print(hellor)

+}

[1]hellor

[1]hellor

[1]hellor

[1]hellor

[1]hellor

break和next

前面提到,在repeat中,只有通過break才能跳出循環。在while和for中,雖然都有自己的結束循環的方法,但break這個關鍵字仍然適用。例如,想要打印10以內,所有平方小于10的數

for(iinc(1:10)){

+if(i^210){break}

+print(i^2)

[1]1

[1]4

[1]9

除了break,next這個關鍵字也可以起到循環控制的作用,其效果為跳過某一次循環,例如,相對10以內的所有奇數做一系列列的操作,常規寫法是

for(iinc(1:10)){

if(i%%2!=0){

.....

但這種寫法將處理流程嵌入了新的層級之中,并不優雅,這個時候可用next來跳過不符合要求的情況,示例如下

for(iinc(1:10)){

+i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論