R语言基础(一):注释、变量
R语言基础(二):常用函数
R语言基础(三):运算
R语言基础(四):数据类型
6.流程控制语句
和大多数编程语言一样,R语言支持选择结构和循环结构。
6.1 选择语句
选择语句是当条件满足的时候才执行的语句。由if(必须)和else(可选)组成
if(判断条件){ #判断条件的结果是TRUE或者FALSE
要执行的语句 #当条件为TRUE时执行
}
if(判断条件){
要执行的语句 #当条件为TRUE时执行
}else{
#当条件不满足时执行
}
if(判断条件1){
要执行的语句 #当条件为TRUE时执行
}else if(判断条件2){ #条件1不满足时,判断条件2
#当条件2满足时执行
}else if(判断条件3){ #条件1、条件2都不满足,判断条3
#当条件3满足时执行
}
示例代码:
x=20
if(x>10){
print("x>10 is true")
}
x=5
if(x>10){
print("x>10 is true")
}else{
print("x<10 is false")
}
x=75
if(x>80){ #多分支从上到下判断,遇到第一个匹配的分支就执行。
print("x>80 is true")
}else if(x>70){
print("x>70 is true")
}else if(x>60){
print("x>60 is true")
}else{ #前面都不满足,执行else
print("x>60 is false")
}
6.2 分支语句
switch分支语句允许一个变量等于多个值的情况,每个值称为一个
case
> x="BJ" #如果是字符串,返回case中变量名对应的值
> name=switch(x,SH="上海",BJ="北京",SZ="深圳","其它")
> name
[1] "北京"
> x="a"
#没有名字的"其它"是默认值,这种参数只能有一个
> name=switch(x,SH="上海",BJ="北京",SZ="深圳","其它")
> name
[1] "其它"
> x=3 #如果是整数,则返回对应位置的值
> name=switch(x,"上海","北京","深圳")
> name
[1] "深圳"
6.3循环语句
循环语句就是重复执行一段代码。R语言中有三种循环:repeat、while、for。
6.3.1 repeat
repeat循环会一直执行,结束时用break语句。没有break的话,就是死循环。
> x=5
> repeat{
x=x+1
print(x)
if(x>10){ #用于控制循环次数
print("退出循环")
break #结束循环
}
}
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
[1] 11
[1] "退出循环"
6.3.2 while循环
while循环有一个控制条件,当条件为true时进入循环体,否则结束循环
> x=5
> while(x>0){
print(x)
x=x-1 #记得修改条件变量的值,不然会死循环
}
[1] 5
[1] 4
[1] 3
[1] 2
[1] 1
6.3.3 for循环
for循环可以控制循环次数
for (变量 in 条件) {
循环体
}
> for(i in 1:5){ #遍历向量中的元素
print(i)
}
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
> ls=list("A","B","C") #遍历list
> for(a in ls){
print(a)
}
[1] "A"
[1] "B"
[1] "C"
6.4.4 循环控制
循环控制语句有两个,break和next
break用于跳出当前循环
next是结束本次循环,进入下一次循环
> for(i in 1:5){
if(i==3){ #循环变量到3这里就结束了
break
}
print(i)
}
[1] 1
[1] 2
> for(i in 1:5){
if(i==3){ #循环变量到3,跳过本次循环体后面的东西,进入下次循环
next
}
print(i)
}
[1] 1
[1] 2
[1] 4
[1] 5