1.条件控制 if
if (condition) {
do sth
} else {
do sth different
}
2. 循环 for #知道重复的次数
primes <-c(2,3,5,7,11,13)
#第一种循环
for (p in primes) {
print(p)
}
#第二种循环,最常用的方法
for (i in 1:length(primes)) {
print(primes[i])
}
2.1 Next和Break
num<-seq(1:5)
for (i in 1:length(num)){
if (i==3) next #如果i=3,则跳过
print(num[i])
}
##结果是1245
num<-seq(1:5)
for (i in 1:length(num)){
if (i==3) break #如果i=3,则跳出
print(num[i])
}
##结果为12
3. 循环 while #只想关注同预后相关的基因,只有条件,tell him when to stop
while (condition) {
Do sth
}
#举个例子
while (i<5) {
print(i)
i=i+1
}
那么如何读别人代码?从里往外读
4. 批量操作 apply函数 (sapply, lapply)
lapply就是list apply,对list进行批量操作,举个例子
x <- list("R", "is","awesome")
lapply(x,nchar) #计算x里面每一个的字符数
sapply返回的是向量形式,也就是simple lapply,unlist(lapply(x,nchar))
apply是针对矩阵的,apply(X, MARGIN, FUN...)这里MARGIN代表了按行(1)操作或按列(2)操作
如c<-matrix(c("R","is","awesome"), nrow=1)
apply(c,1,nchar)返回的是127
apply(c,2,nchar)返回的是no vector
网友评论