编程中减少代码重复的两个工具,一是循环,一是函数。
循环,用来处理对多个同类输入做相同事情(即迭代),如对不同列做相同操作、对不同数据集做相同操作。
R语言有三种方式实现循环:
for循环中一般包括三个部分,输出容器、迭代器和循环体,下面写几个例子
s =0 # 输出容器
for (i in 1:100) { # 迭代器
s = s+i # 循环体
}
s
seq_along()、length()常被用于迭代器的构建
results = vector("numeric", length(mtcars)) # 输出容器
for (i in seq_along(mtcars)) { # 迭代器
results[i] = mean(mtcars[[i]], na.rm = T) # 循环体
}
n <- 1
N <- 4356
for (i in c(n:N)) {
cat(paste0(round((i-n+1)/(N-n+1)*100), '% completed'))
………………………………………………………… #循环体
if(i==N)cat('\\nDONE!\\n')
else cat('\\r')
}
While循环是比for循环更一般的循环,因为for循环总可以改写为while循环,但while循环不一定能改写为for循环