Ten 1-line R Hacks to Boost your Productivity

Here are 10 1-line R hacks that will streamline your workflow and increase your productivity.


1. Install problematic packages from source (solves 99% of installation problems)

install.packages(file_name_and_path, repos = NULL, type="source")

The Bash/shell equivalent would be:

 R CMD INSTALL source.library 

2. Count number of unique rows with a condition

 length(unique(df$col[df$col > 0])) 

Rlogo3. Force R not to use scientific notation

options("scipen"=100, "digits"=4)

4. Count number of non-unique, non-NA rows with a condition

sum(data$x<0, na.rm=T)

5. Randomly order rows (useful for drawing a random sample)


6. Conduct pattern matching with wildcards (no REGEX required)

 glob2rx("blue*")[1] "^blue"

7. Add a column of row numbers to a dataframe/object

df$row <- 1:nrow(df)

8. Loop through each unique date and build a subset

uniq <- unique(unlist(data$Date)); for (i in 1:length(uniq)){ data_1 <- subset(data, date == uniq[i]) #your desired function}

9. Drop columns by name

treatment.data <- treatment.data[, !names(treatment.data) %in% c(“name”, “name1”, “name2”)]

10. Append something to column names

names(df) <-  str_c(nam, '.yourstring’)