最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

R語(yǔ)言中循環(huán)的相關(guān)知識(shí)詳解

 更新時(shí)間:2023年03月16日 09:00:18   作者:微小冷  
這篇文章主要為大家詳細(xì)介紹了R語(yǔ)言中循環(huán)的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)R語(yǔ)言有一定的幫助,感興趣的可以了解一下

repeat

repeat是最存粹的循環(huán),只要不讓出來(lái),就一直重復(fù){}中的代碼,可以在命令行中輸入

repeat{print("hello r")}

然后就會(huì)看到命令行瘋狂地刷新,輸出hello r。這個(gè)時(shí)候不用擔(dān)心,只需點(diǎn)擊命令行右上角出現(xiàn)的紅色的stop按鈕,就可以中斷輸出了。

為了讓repeat能跳出循環(huán),可以采用break關(guān)鍵字。例如,想輸出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循環(huán)直接包含了循環(huán)條件,當(dāng)不滿足這個(gè)條件時(shí),可以自動(dòng)跳出

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

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

> 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循環(huán)之前,有必要介紹一下向量。向量可以理解為數(shù)的組合,是R語(yǔ)言處理較多數(shù)據(jù)時(shí)的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),其創(chuàng)建方法為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

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

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

for循環(huán)

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

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

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

這種寫法比while還要簡(jiǎn)潔,但依舊可以實(shí)現(xiàn)相同的效果

> 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才能跳出循環(huán)。在while和for中,雖然都有自己的結(jié)束循環(huán)的方法,但break這個(gè)關(guān)鍵字仍然適用。例如,想要打印10以內(nèi),所有平方小于10的數(shù)

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

除了break,next這個(gè)關(guān)鍵字也可以起到循環(huán)控制的作用,其效果為跳過某一次循環(huán),例如,相對(duì)10以內(nèi)的所有奇數(shù)做一系列列的操作,常規(guī)寫法是

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

但這種寫法將處理流程嵌入了新的層級(jí)之中,并不優(yōu)雅,這個(gè)時(shí)候可用next來(lái)跳過不符合要求的情況,示例如下

> 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

到此這篇關(guān)于R語(yǔ)言中循環(huán)的相關(guān)知識(shí)詳解的文章就介紹到這了,更多相關(guān)R語(yǔ)言 循環(huán)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • R語(yǔ)言中R-squared與Adjust R-squared參數(shù)的解釋

    R語(yǔ)言中R-squared與Adjust R-squared參數(shù)的解釋

    這篇文章主要給大家介紹了關(guān)于R語(yǔ)言中R-squared與Adjust R-squared兩個(gè)參數(shù)的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • R語(yǔ)言非線性模型的實(shí)現(xiàn)

    R語(yǔ)言非線性模型的實(shí)現(xiàn)

    本文主要介紹了R語(yǔ)言非線性模型的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • R語(yǔ)言實(shí)現(xiàn)線性回歸的示例

    R語(yǔ)言實(shí)現(xiàn)線性回歸的示例

    這篇文章主要介紹了R語(yǔ)言實(shí)現(xiàn)線性回歸的示例,幫助大家更好的理解和學(xué)習(xí)使用R語(yǔ)言,感興趣的朋友可以了解下
    2021-03-03
  • 基于R語(yǔ)言時(shí)間序列的平穩(wěn)時(shí)間序列模型預(yù)測(cè)圖文詳解

    基于R語(yǔ)言時(shí)間序列的平穩(wěn)時(shí)間序列模型預(yù)測(cè)圖文詳解

    時(shí)間序列是將統(tǒng)一統(tǒng)計(jì)值按照時(shí)間發(fā)生的先后順序來(lái)進(jìn)行排列,時(shí)間序列分析的主要目的是根據(jù)已有數(shù)據(jù)對(duì)未來(lái)進(jìn)行預(yù)測(cè),下面這篇文章主要給大家介紹了基于R語(yǔ)言時(shí)間序列的平穩(wěn)時(shí)間序列模型預(yù)測(cè)的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • R語(yǔ)言中fread使用方法

    R語(yǔ)言中fread使用方法

    在R語(yǔ)言中,fread函數(shù)是data.table包中的一個(gè)功能強(qiáng)大的數(shù)據(jù)讀取函數(shù),可以用于快速讀取大型數(shù)據(jù)文件,它比基本的read.table和read.csv函數(shù)更快,尤其在處理大型數(shù)據(jù)集時(shí)效果更為明顯,這篇文章主要介紹了R語(yǔ)言中fread使用方法,需要的朋友可以參考下
    2023-12-12
  • R語(yǔ)言批量讀取某路徑下文件內(nèi)容的方法

    R語(yǔ)言批量讀取某路徑下文件內(nèi)容的方法

    批量地做就是解放雙手地過程,本文主要介紹了R語(yǔ)言批量讀取某路徑下文件內(nèi)容的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • R語(yǔ)言-如何定義數(shù)據(jù)框的列名

    R語(yǔ)言-如何定義數(shù)據(jù)框的列名

    這篇文章主要介紹了R語(yǔ)言-定義數(shù)據(jù)框的列名操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2021-04-04
  • R語(yǔ)言可視化開發(fā)forestplot根據(jù)分組設(shè)置不同顏色

    R語(yǔ)言可視化開發(fā)forestplot根據(jù)分組設(shè)置不同顏色

    這篇文章主要為大家介紹了R語(yǔ)言可視化開發(fā)使用forestplot根據(jù)分組設(shè)置不同顏色的實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • R語(yǔ)言中na.fail和na.omit的用法

    R語(yǔ)言中na.fail和na.omit的用法

    這篇文章主要介紹了R語(yǔ)言中na.fail和na.omit的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2021-04-04
  • R語(yǔ)言中igraph包的用法(鄰接矩陣)

    R語(yǔ)言中igraph包的用法(鄰接矩陣)

    這篇文章主要介紹了R語(yǔ)言中igraph包的用法(鄰接矩陣),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2021-04-04

最新評(píng)論

准格尔旗| 南投县| 蓝山县| 浦东新区| 兴文县| 三明市| 特克斯县| 南漳县| 潼南县| 海兴县| 婺源县| 宝丰县| 萍乡市| 邻水| 图们市| 扶余县| 金川县| 城口县| 蕲春县| 甘谷县| 开原市| 京山县| 化州市| 札达县| 伊宁市| 台东市| 新平| 通江县| 梁平县| 峡江县| 百色市| 兴仁县| 微山县| 承德县| 德惠市| 革吉县| 南雄市| 繁峙县| 寿宁县| 陆河县| 鄂州市|