2020年4月24日 星期五

"程式教學"R語言混合使用迴圈與流程控制

接下來要談談,寫程式中非常重要的環節,混合應用迴圈與流程控制,其實任何我們看到的應用程式,基本上都是用無數的迴圈跟條件判斷(流程控制)堆疊出來的,也就是說只要熟悉以上的使用方式,基本上就能夠寫出簡易的小程式了。

先來複習一下條件判斷(流程控制)
R語言裡面主要是使用if、else if、與else來做判斷
如果只有一個條件
那就是if跟else組成
我們先來看程式碼

if條件一成立
執行程式一
如果條件一沒有成立的話
則執行程式二



舉實例來說
指定a為2
b為3
然後做兩者的大小判斷



不過可以發現,以上這個條件沒有考慮到如果兩者相等怎麼辦

所以如果有兩個條件以上的話
就會使用if、else if、與else

以上面那個例子來說
就是這樣寫

接著我們來複習一下迴圈for跟while

迴圈
for :通常用於已知要迭代幾次的情況使用

for (條件){
    要持續執行的程式
}
以下我們用內建的month.name來操作
month.name裡面有所有月份的英文
程式如下
for(month in month.name ){
  print(month)

}
如此一來就可以把每個月份都打印出來了

while:通常不知道要迭代幾次,執行到條件終止為止
程式如下
while(條件){
       執行程式
}
一樣用剛剛的month.name來操作
在最後一行讓i持續加1後
因迴圈會反覆執行,當i變成13的時候
條件不成立,所以程式終止執行


接下來就是混合使用了

這裡還要介紹兩個東西
break與next

break是在迴圈執行過程中,離開當前的迴圈

next則是滿足某條件時,略過該次執行的程式

我們先來講break

一樣是用內建的month.name

可以看到,在程式執行到April的時候,就會離開迴圈
所以只會輸出April以前的月份


接下來使用next

則可以發現April被跳過了沒有輸出

以上就是迴圈混合條件判斷與next及break的一些用法

本教學內容參考自“輕鬆學習R語言”與iT邦幫忙網站
https://ithelp.ithome.com.tw/



沒有留言:

張貼留言

經濟日報數位訂閱懶人包

  去年寫過一篇介紹文,經濟日報推出了數位訂閱產品,如果你是價值投資者,或是對產業研究及經濟數據有興趣的朋友,包含深耕國內外財經深度內容、圖像式產業資料庫、早安經濟日報聽新聞等等。   目前有「彭博新聞獨家聯名、七大外媒授權合作、專家解析深度專欄」三大內容,豐富你的關鍵投...