10 R One Liners to Impress Your Friends

June 5, 2011
By

Following the trend of one liners for various languages (Haskell, Scala, Python), here’s some examples in R

Multiply Each Item in a List by 2

`#listslapply(list(1:4),function(n){n*2})# otherwise(1:4)*2 `

Sum a List of Numbers

`#listslapply(list(1:4),sum)# otherwisesum(unlist(list(1:4))) # or simplysum(1:4) `

Verify if Exists in a String

`wordlist = c("lambda", "data", "plot", "statistics", "R")tweet = c("R is an integrated suite of software facilities for data manipulation, calculation and graphical display")wordlist[wordlist %in% (c(unlist(strsplit(tweet,' ', fixed=T))))] `

`readLines("data.file", n=-1) `

Happy Birthday to You!

`lapply((1:4),function(x){ paste(c("Happy Birthday to ", ifelse(x!=3, "you", "dear Name")), sep="", collapse="")}) `

Filter list of numbers

`n = c(49, 58, 76, 82, 88, 90); c(list(n[which(n<=60)]),list(n[which(n>60)])) `

Fetch and Parse an XML web service

`library('XML'); xmlParseDoc('http://search.twitter.com/search.atom?&q=R-Project', asText=F) `

Find minimum (or maximum) in a List

`# for listslapply(list(c(14, 35, -7, 46, 98)), min, classes="numeric", how="replace")# otherwisemin(unlist(list(14, 35, -7, 46, 98)))# or simplymin(c(14, 35, -7, 46, 98))max(c(14, 35, -7, 46, 98)) `

Parallel Processing

`# http://cran.r-project.org/web/packages/doSMP/vignettes/gettingstartedSMP.pdf# copy from Section 4 An example doSMP sessionlibrary(doSMP); w <- startWorkers(workerCount = 4); registerDoSMP(w); foreach(i = 1:3) %dopar% sqrt(i) `

Sieve of Eratosthenes

`##ok, this one is a little cheatinglibrary('spuRs'); primesieve(c(),2:50) `

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...