R语言是数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。R语言是解释运行的语言(与C语言的编译运行不同),它的执行速度比C语言慢得多,不利于优化。但它在语法层面提供了更加丰富的数据结构操作并且能够十分方便地输出文字和图形信息,所以它广泛应用于数学尤其是统计学领域。这也是大多数生信工作者选择R语言的原因。
高级数据管理——条件和循环
- Part1 while循环:
只要给定的条件为 true,R 语言中的 while 循环语句会重复执行一个目标语句。
# 语法格式如下:
while(condition)
{
statement(s);
}
在这里,statement(s) 可以是一个单独的语句,也可以是几个语句组成的代码块。
condition 可以是任意的表达式,当为任意非零值时都为 true。当条件为 true 时执行循环。 当条件为 false 时,退出循环,程序流将继续执行紧接着循环的下一条语句。
######################################################
# while循环:
i = 1
while (i<10) {
print(paste("第",i,"次打印:生信师兄!",sep = ""))
i = i+1
}
# 在for循环中,循环控制变量的初始化和修改都放在语句头部分,
# 形式较简洁,且特别适用于循环次数已知的情况。
for (i in 1:10) {
print(paste("第",i,"次打印:生信师兄!",sep = ""))
}
######################################################
# 在while循环中,循环控制变量的初始化一般放在while语句之前,
# 循环控制变量的修改一般放在循环体中,形式上不如for语句简洁,
# 但它比较适用于循环次数不易预知的情况(用某一条件控制循环)。
a <- seq(2,100,2)
i <- 1
while (a[i]<50) {
print(paste("a的第",i,"个元素为:", a[i],"; 它小于50",sep = ""))
i = i+1
}
#######################################################
# 多个判断条件:
a <- seq(2,100,2)
b <- seq(3,99,3)
i <- 1
while (a[i]<50 & b[i]<60) {
print(paste("a的第",i,"个元素为:", a[i],"; 它小于50",sep = ""))
print(paste("b的第",i,"个元素为:", b[i],"; 它小于60",sep = ""))
i = i+1
}
# 使用cat输出:
a <- seq(2,100,2)
b <- seq(3,99,3)
i <- 1
while (a[i]<50 & b[i]<60) {
cat("a的第",i,"个元素为:", a[i],"; 它小于50","\t",
"b的第",i,"个元素为:", b[i],"; 它小于60","\n")
i = i+1
}
在for循环中,循环控制变量的初始化和修改都放在语句头部分,形式较简洁,且特别适用于循环次数已知的情况。
在while循环中,循环控制变量的初始化一般放在while语句之前,循环控制变量的修改一般放在循环体中,形式上不如for语句简洁,但它比较适用于循环次数不易预知的情况(用某一条件控制循环)。
两种形式各有优点,但它们在功能上是等价的,可以相互转换。
好啦,以上就是本期文章的全部内容。如果大家想要继续了解更多的生信基础知识,欢迎点赞收藏!师兄会尽快更新哦!
网友评论