R: 控制流: if & for & while

###################################################spa

問題:if 判斷   18.4.29

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

解決方案:test

    # if(){}擴展

    # if(){}else{}循環

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

 

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

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

    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  4co

討論擴展:

         #複合檢查。雙重形式(&& 和 ||)最好用於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)

討論擴展:

另請參閱:

相關文章
相關標籤/搜索