if和else
1.if、else、else if含义与在其他编程语言相同,用法示例:
x<-5
if(x<1)
{
message("small")
}else if(x<5)
{
message("ok!")
}else
{
message("big!")
}
唯一需要注意的是,else if和else必须与上一个判断的右大括号在同一行,否则会报错
-
若传递给if的条件是一个向量,只使用向量的第一个元素进行判断
-
ifelse函数
接受三个参数,第一个为逻辑向量,当为TRUE时,返回第二个参数,当为FALSE时返回第三个参数。若第二个参数和第三个参数为向量,则会循环较短向量或忽略过长的部分,使得这两个参数的长度都和第一个参数的长度相同如果条件参数中有缺失值,返回结果也是缺失值。
switch
- 若第一个参数为一个返回字符串的表达式,结果为其后与第一个参数相匹配的参数值;如果没有匹配参数,但有未命名参数,则返回未命名参数;如上述两种都没有,则返回NULL。
- 若switch的第一个参数是一个整数,则其余参数不需要名字。第一个参数为1,返回第二个参数;第一个参数为2,返回第三个参数,以此类推。
repeat
重复执行代码,通常结合if判断语句和break结束循环。next表示跳过剩余语句进行下一次循环。
while
当条件为真时,重复执行语句直到条件不满足为止。基本格式如下:
while(TRUE)
{
message("a")
.........
}
for
用于知道循环的次数。接受一个迭代器变量和一个向量参数。也可向其传入字符向量、逻辑向量或列表。基本格式如下:
for(i in 1:5)
{
........
}
#1:5可以换成字符向量、逻辑向量或列表