(This article was first published on R – Win-Vector Blog, and kindly contributed to R-bloggers)
Another Rtip. Use seq_len()
to avoid The backwards seqeunce bug.
Many R users use the “colon sequence” notation to build sequences. For example:
for(i in 1:5) { print(paste(i, i*i)) } #> [1] "1 1" #> [1] "2 4" #> [1] "3 9" #> [1] "4 16"
However, the colon notation can be unsafe as it does not properly handle the empty sequence case:
n <- 0 1:n #> [1] 1 0
Notice the above example built a reversed sequence, instead of an empty sequence. To avoid this use seq_len()
:
seq_len(5) #> [1] 1 2 3 4 5 n <- 0 seq_len(n) #> integer(0)
“integer(0)
” is a length zero sequence of integers (not a sequence containing the value zero).
To leave a comment for the author, please follow the link and comment on their blog: R – Win-Vector Blog.
R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...