1. 程式人生 > >R: 控制流: if & for & while

R: 控制流: if & for & while

iris 如何 擴展 ack test gin next amp for 循環

###################################################

問題:if 判斷 18.4.29

if 的應用與??。。。。。。

解決方案:

# if(){}

# if(){}else{}

# if(){}else if(){}else if(){}else{}

# ifelse() #ifelse(2==2&1==2,"yes","noo") #[1] "noo" #像三元選擇符,條件為真返回第二個參數,為假返回第三個參數。

totest = c(1,3,10,0,1,0,2)

ifelse(totest == 1,"yes","no") #[1] "yes" "no" "no" "no" "yes" "no" "no"

ifelse(totest == 1,totest*3,totest+2) #[1] 3 5 12 2 3 2 4

討論擴展:

#復合檢查。雙重形式(&& 和 ||)最好用於if語句;單重形式(& 和 |)用於ifelse語句。雙重僅僅比較兩邊的一個元素,單重比較兩邊的每一個元素。

另請參閱:

###################################################

問題:for 循環 18.4.29

如何用 for 循環實現計算滿足條件的個案數???

解決方案:

#例1:用 for 循環實現,計算滿足條件的個案數。。

j = 0

for (i in iris1$Sepal.Length){

if (i>3 & i<5){j = j+1}

}

print(j)

#等價於:

length(which(iris1$Sepal.Length > 3 & iris1$Sepal.Length<5))

討論擴展:

# next 約等於continue,,跳過本次循環的剩余部分,直接執行下一輪循環。不執行循環體中next後面的部分

# break 即 break。用法一樣。

另請參閱:

###################################################

問題:while 循環 18.4.29

while循環,。。。

解決方案:

j = 1

while (j<=5 ){

print(paste("第",j,"行",sep = ""))

print(iris1[j,]);j = j+1

}

print(j)

討論擴展:

另請參閱:

R: 控制流: if & for & while