R中的控制流

語句(statement)一條單獨的R語句或一組複合語句(包含在花括號中的一組R語句,使用分號分割)
條件(cond)是一條最終被解析爲真(TRUE)或假(FALSE)的表達式
表達式(expr)是一條數值或字符串的求值語句
序列(seq)是一個數值或字符串序列

  • 重複和循環
    1.for結構
 for (var in seq) statement

2.while結構

 while(cond)statement
  • 條件執行
    1. if-else結構
 if(cond)statement
 if(cond)statement1  else statement2
eg.
 if(is.character(grade)) grade <- as.factor(grade)
 if(is.character(grade)) grade <- as.factor(grade) else print("Grade already is a factor") 

2.ifelse結構

ifelse(cond,statement1,statement2) #if-else結構比較緊湊的向量化版本
ifelse(score > 0.5,print("Passed"),print("Failed")

3.switch結構
switch(expr,…)

feelings <- c("sad","afraid")
for(i in feelings)
    print(
    switch(i,
    happy = "i am glad"
    afraid = "there is nothing to fear"
    sad = "cheer up"
   )
 )

R中有若干函數可以用來爲函數添加錯誤捕獲和糾正功能,你可以使用函數warning()來生成一條錯誤提示信息,用message()來生成一條錯誤診斷信息,或用stop()停止當前表達式的執行並提示錯誤。一份優秀的參考資料是Ducan Murdoch整理的“Debugging in R”(Debugging in R參考資料

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章