What about seq_len2 <- function(length.out, from=1L) { seq(from=from, length.out=max(0L, length.out-from+1L)) }
> lapply(0:4, FUN=seq_len2, from=2L) [[1]] integer(0) [[2]] integer(0) [[3]] [1] 2 [[4]] [1] 2 3 [[5]] [1] 2 3 4 /Henrik On Sat, Dec 21, 2013 at 2:57 PM, Göran Broström <goran.brost...@umu.se> wrote: > 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 > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.