R语言杂谈(三)

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

你可能感兴趣的:(R语言杂谈(三))