Unlike other program languages, the for loop of R language can be write as
>samples <- c(rep(1:10)) >samples
[1] 1 2 3 4 5 6 7 8 9 10
Go through the samples one by one and print them out:
>for (thissample in samples) +{ + print(thissample) +}
[1] 1 [1] 2 [1] 3 [1] 4 [1] 5 [1] 6 [1] 7 [1] 8 [1] 9 [1] 10
Let's do something inside the for loop:
>for (thissample in samples) +{ + str <- paste(thissample,"is current sample",sep=" ") + print(str) +}
[1] "1 is current sample" [1] "2 is current sample" [1] "3 is current sample" [1] "4 is current sample" [1] "5 is current sample" [1] "6 is current sample" [1] "7 is current sample" [1] "8 is current sample" [1] "9 is current sample" [1] "10 is current sample"
Let's terminate the loop when the sample is 3:
>for (thissample in samples) +{ + if (thissample == 3) break + str <- paste(thissample,"is current sample",sep=" ") + print(str) +}
[1] "1 is current sample" [1] "2 is current sample"
Let's ignore when the sample number is even:
>for (thissample in samples) +{ + if (thissample %% 2 == 0) next + str <- paste(thissample,"is current sample",sep=" ") + print(str) +}
[1] "1 is current sample" [1] "3 is current sample" [1] "5 is current sample" [1] "7 is current sample" [1] "9 is current sample"
Let's just loop through last three samples:
>end <- length(samples) >begin <- end - 2 >for (thissample in begin:end) +{ + str <- paste(thissample,"is current sample",sep=" ") + print(str) +}
[1] "8 is current sample" [1] "9 is current sample" [1] "10 is current sample"