语句(statement)一条单独的R语句或一组复合语句(包含在花括号中的一组R语句,使用分号分割)
条件(cond)是一条最终被解析为真(TRUE)或假(FALSE)的表达式
表达式(expr)是一条数值或字符串的求值语句
序列(seq)是一个数值或字符串序列
- 重复和循环
1.for结构
for (var in seq) statement
2.while结构
while(cond)statement
- 条件执行
- 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参考资料)