2019年5月27日 星期一

"程式教學"R語言的流程控制(for, while, ifelse)

流程控制 代表在程式執行時,指令、子程式或求值的順序
前面我們講過邏輯判斷,沒看過的記得先去看看
https://hn28082251.blogspot.com/2019/05/r-variable-type-logical.html
接下來要講條件判斷與迴圈

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

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

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

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





條件判斷if else

if('條件'){
 '做A'
 }else{
 '做B' 
}

來看看下面這個例子
如果條件成立就執行上面那行
如果條件不成立就執行else那行

也可以用比較簡化的寫法一行達成
if(條件)  '做A' else '做B'

還有ifelse的寫法
ifelse('條件', '條件若成立:做A', '條件若不成立:做B')

還有if 、else if 、else多重條件判斷

if(條件一){
做A
}else if(條件二){
做B
}else{
做C
}
比如說我們來寫個依據氣溫來判斷要去哪裡運動

如果我們把氣溫改成42的話呢

這樣大家有理解流程控制的用法了嗎?

下一篇來簡單介紹一下混合使用迴圈與流程控制
還有break 與next的用法



本教學內容參考自“輕鬆學習R語言”與iT邦幫忙網站

https://ithelp.ithome.com.tw/


沒有留言:

張貼留言

經濟日報數位訂閱懶人包

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