官术网_书友最值得收藏!

1.3.1 if分支

if分支也被稱作條件語句,主要用來判斷相應條件下的代碼執行內容,具體語法如下:

如果if后的條件判斷為真,則執行statements對應的語句,否則執行alternative statements對應的語句。if后的判斷條件可以是邏輯型向量,也可以是數值型向量。當判斷條件為數值型向量時,0代表條件為假,其余數值代表條件為真。根據下面的代碼,由于x的值為6,x大于0,條件判斷為真,因此輸出結果為"Positive number"。

根據下面的代碼,由于x1的值為6,條件判斷為假,因此輸出結果為"Negative number"。

需要注意的是,else必須與if語句的右大括號寫在同一行。上述代碼也可以寫成單獨的一行,得到的輸出結果一致。

R語言的特性允許我們按以下結構編寫代碼:

當有多個條件需要判斷時,可以重復編寫if…else…if…語句,語法如下:

不管有多少個判斷條件,最終只有一個條件滿足要求,也只有該條件下的語句會被執行。由于x4的取值為0,因此它只符合else中的條件,故而執行結果為“Zero”。

向量構成了R語言的基本組成部分,R語言中的大多數函數都將向量作為輸入和輸出,這種代碼向量化的方式比單獨將相同的函數應用于向量的每個元素要快得多。與此概念類似,R語言中的if…else語句有一個向量等價形式,即 ifelse()函數。ifelse()函數的語法為:

其中cond是判斷條件,當判斷條件為真時,輸出statement1的值,否則輸出statement2的值,示例如下:

ifelse()函數的輸入向量x5中包含6個元素,需要判斷這些元素的奇偶性。若其對2求余的結果為0,則說明其為偶數,否則為奇數。

在上述例子中,判斷條件為x5%%2==0,這將導致結果向量(FALSE,TRUE, FALSE, FALSE,TRUE, FALSE),該向量對應到輸出語句后才轉換成了我們看到的結果。

主站蜘蛛池模板: 蕉岭县| 北川| 琼结县| 奉贤区| 宕昌县| 石柱| 赫章县| 广东省| 镶黄旗| 白银市| 蒙阴县| 敖汉旗| 红河县| 淮南市| 沙坪坝区| 司法| 汤阴县| 昌吉市| 将乐县| 南川市| 宿州市| 通海县| 望都县| 玉环县| 道孚县| 临夏县| 准格尔旗| 梁山县| 南召县| 遵义县| 新邵县| 沅陵县| 龙口市| 阿尔山市| 塔河县| 黄平县| 蒲城县| 宣威市| 思南县| 阳山县| 宜丰县|