
生信分析笔记
V1
2022/09/18阅读:47主题:山吹
R语言学习day2丨三大法宝:判断、循环、函数
本次笔记分享R语言中判断语句、循环使用方法
R语言判断语句
判断结构指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句和条件为假时要执行的语句。
R语言中的判断语句:
-
if
> if(3 > 2)
{print("ok")}
[1] "ok"
if语句可以判断逻辑表达式的正确性,若正确执行{}
内的代码,若错误不执行。
-
if else
> if(3 < 2)
{print("ok")}
else {print("no")}
[1] "no"
与if语句相似,else
后的语句在表达式为FALSE时执行。这种结构可以嵌套完成多重判断。
-
switch
> wo="ren"
> switch(
wo,
ren = "good people",
tere = "sun day"
)
[1] "good people"
> switch(3,"das","dasd","dsfs","fsdg","sdf")
[1] "dsfs"
语法结构switch(exp, case1, ....)
,如果exp表达式为整数时,返回这个位置的case值。如果exp为变量时,返回对应变量名case的值。若没有找到,则返回NULL
。
R语言循环结构
有时候,可能需要多次执行同一块代码。语句是按顺序执行的,函数中的第一个语句先执行,接着是第二个语句,依此类推。R语言提供的循环类型:repeat、while、for;R语言提供的循环控制语句:break、next。
循环类型
-
repeat:循环执行,直到条件为真时退出,如下。
repeat {
// 相关代码
// 相关代码
if(条件) {
break
}
}
示例:定义一个计数变量cnt
,重复打印文本内容,每一次计数+1
,直到第四次退出循环,共打印四行内容。
bianliang = c("shengxin","fenxi","biji")
cnt = 2
repeat {
print(bianliang)
cnt = cnt + 1
if (cnt > 5){
break
}
}
[1] "shengxin" "fenxi" "biji"
[1] "shengxin" "fenxi" "biji"
[1] "shengxin" "fenxi" "biji"
[1] "shengxin" "fenxi" "biji"
-
while:只要给定条件为真,则重复执行目标语句。如下
while(条件)
{
待执行语句;
}
示例:与上一条类似,定义cnt为计数变量,然后设置条件打印文本内容。
bianliang = c("shengxin","biji")
cnt = 2
while (cnt < 5) {
print(bianliang)
cnt = cnt + 1
}
[1] "shengxin" "biji"
[1] "shengxin" "biji"
[1] "shengxin" "biji"
-
for:可以重复执行指定语句,重复次数可在 for 语句中控制。如下:
for (value in vector) {
statements
}
R 语言的 for 循环特别灵活,不仅可以循环整数变量,还可以对字符向量,逻辑向量,列表等数据类型进行迭代。
> v = LETTERS[1:3]
> for (i in v){
+ print(i)
+ }
[1] "A"
[1] "B"
[1] "C"
循环控制
-
break:跳出循环,插入在循环体中,用于退出当前循环或语句,并开始脚本执行紧接着的语句。如果循环嵌套, break
语句将停止最内层循环的执行,并开始执行的外层的循环语句。 -
next:跳过当前循环,开始下一次循环。示例如下,输出前六个大写字母,当D时跳过当次循环,但不结束循环。
> v <- LETTERS[1:6]
> for(i in v){
+ if (i == "D"){
+ next
+ }
+ print(i)
+ }
[1] "A"
[1] "B"
[1] "C"
[1] "E"
[1] "F"
R语言函数
作者介绍

生信分析笔记
V1
欢迎关注公众号:生信分析笔记