生信分析笔记

V1

2022/09/18阅读:24主题:山吹

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

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