[R] seq_len and loops

Göran Broström goran.brostrom at umu.se
Sat Dec 21 23:57:36 CET 2013


I was recently reminded on this list that

"Using 1:ncol() is bad practice (seq_len is designed for that purpose)" 
(Ripley)

This triggers the following question: What is "good practice" for 
2:ncol(x)? (This is not a joke; in a recursive situation it often makes 
sense to perform the calculation for the start value i = 1, then 
continue with a loop over the rest, "the Fortran way";)

I usually use

if (ncol(x) > 1)
     for (i in 2:ncol(x)){
        ....

but I can think of

for (i in seq_len(x - 1)){
     I <- i + 1
    ....

and

i <- 1
while (i < ncol(x)){
     i <- i + 1
     ....

What is "good practice" (efficient and safe)?

Göran Broström



More information about the R-help mailing list