for循环
for(i in a )
for(j in b)
{..}
> a <- c('a','b','c','d')
> for(i in c(1:length(a))){print(i)}
[1] 1
[1] 2
[1] 3
[1] 4
> for(i in c(1:length(a))){print(a[i])}
[1] "a"
[1] "b"
[1] "c"
[1] "d"
> for(i in a){print(i)}
[1] "a"
[1] "b"
[1] "c"
[1] "d"
> for(i in c(1:nrow(a)))
+ for(j in c(1:ncol(a)))
+ {print(a[i,j])}
while
和其他语言的while一样
> e <- 1
> i <- 1
> while((1/prod(1:i))-(1/prod(1:i+1)) > 0.000001){
+ e <- e + 1/prod(1:i)
+ i <- i + 1
+ }
> print(e)
[1] 2.718282
repeat
感觉类似while但是没有跳出条件,需要在循环内添加if条件和break函数使函数停止。
repeat {
commands
if(condition) {
break()
}
}
> s <- 0
> repeat{
+ if(s>5){
+ break()
+ }
+ s <- s+1;
+ print(s)
+ }
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6