91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

R語言中循環的相關知識點有哪些

發布時間:2023-03-16 10:56:29 來源:億速云 閱讀:98 作者:iii 欄目:開發技術

這篇文章主要介紹“R語言中循環的相關知識點有哪些”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“R語言中循環的相關知識點有哪些”文章能幫助大家解決問題。

repeat

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

repeat{print("hello r")}

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

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

i = 0
repeat{
    if(i==5){break}
    i <- i + 1
    print("hello r")
}

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

> repeat{
+     if(i==5){break}
+     i <- i + 1
+     print("hello r")
+ }
[1] "hello r"
[1] "hello r"
[1] "hello r"
[1] "hello r"
[1] "hello r"

while

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

i = 0
while(i<5){
    i <- i+1
    print("hello r")}

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

> i = 0
> while(i<5){
+     i <- i+1
+     print("hello r")}
[1] "hello r"
[1] "hello r"
[1] "hello r"
[1] "hello r"
[1] "hello r"

向量

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

> c1 <- c(1,2,3,4,5)
> c2 <- c(1:5)
> print(c1)
[1] 1 2 3 4 5
> print(c2)
[1] 1 2 3 4 5

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

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

for循環

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

for(i in c(1:5)){
    print("hello r")
}

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

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

> for(i in c(1:5)){
+     print("hello r")
+ }
[1] "hello r"
[1] "hello r"
[1] "hello r"
[1] "hello r"
[1] "hello r"

break和next

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

> for(i in c(1:10)){
+     if(i^2>10){break}
+     print(i^2)
+ }
[1] 1
[1] 4
[1] 9

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

for(i in c(1:10)){
    if(i%%2!=0){
        .....
    }
}

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

> for(i in c(1:10)){
+     if(i%%2==0){next}
+     print(i^2+sin(i))
+ }
[1] 1.841471
[1] 9.14112
[1] 24.04108
[1] 49.65699
[1] 81.41212

關于“R語言中循環的相關知識點有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吴堡县| 惠来县| 赤壁市| 天台县| 华蓥市| 剑河县| 丽江市| 康定县| 亳州市| 盖州市| 巴东县| 塔河县| 巴中市| 池州市| 蓬溪县| 桓台县| 灵丘县| 青岛市| 宜川县| 修文县| 扎赉特旗| 遂宁市| 婺源县| 西宁市| 嵊泗县| 驻马店市| 哈密市| 五寨县| 巨野县| 英山县| 抚远县| 舟山市| 闸北区| 东乡| 陆川县| 都江堰市| 九寨沟县| 临沭县| 平阴县| 横山县| 陈巴尔虎旗|