控制流对R语言来说并不常用。for循环在R语言中的运行速度一直为人诟病。采用向量化运算方法计算比之快几十倍。
应当尽量避免使用for循环等控制流,以多采用向量化运算方法提高速度。
但这不意味着彻底摒弃在R语言中使用控制流。某些情况,使用控制流是非常合适的(如爬虫,使用for循环可以防止代码运行过快,从而减少被对方封锁IP地址的可能性)。
R语言控制流分为:
- 重复和循环
- for结构
- while结构
- 条件执行
- if-else结构
- ifelse结构
- switch结构
重复和循环
循环结构是一个或一系列语句(statement),它在某些条件(cond)为真(TRUE)下一直会执行,知道条件不为真(FALSE)。
for结构
for循环重复地执行一个语句,知道某个变量的值不再包含在序列(seq)中为止。
语法为:
- for(var in seq) statement
示例:
#i为1到10时,输出Hello
for(i in 1:10) print('Hello')
#Hello被重复输出10次
while结构
while循环重复地执行一个语句,直到条件不为真为止。
语法为:
- while(cond)statement<