A mix of useful R functions that are good for you
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
R deprecate spinMyR and move it to ezknitr officially Dec 7, 2015
man deprecate spinMyR and move it to ezknitr officially Dec 7, 2015
tests fix broken tests (looks like testthat doesn't see whole package, just… Apr 9, 2015
vignettes remove remaining files relating to spinMyR Dec 7, 2015
.Rbuildignore add travis CI Apr 7, 2015
.gitignore remvoe ggplot stuff from readme Apr 7, 2015
.travis.yml try travis again Mar 17, 2016
LICENSE modify DESCRIPTION Nov 14, 2014
NAMESPACE deprecate spinMyR and move it to ezknitr officially Dec 7, 2015
README.md add copyright and license text to README Aug 7, 2016



Build Status

Copyright 2015 Dean Attali. Licensed under the MIT license.

rsalad, like any other salad, is a mixture of different healthy vegetables that you should be having frequently and that can make your life much better. Except that instead of vegetables, rsalad provides you with R functions.

This package was born as a result of me constantly breaking the DRY principle by copy-and-pasting functions from old projects into new ones. Hence, the functions in rsalad do not have a single common topic, but they are all either related to manipulating data.frames or general productivity utilities.

This package does not solve any one large problem, but rather has several functions that can prove to be useful and time-saving if you happen to need to perform one of the tasks implemented by rsalad.

Note - functions that have moved on to better packages

All the ggplot2 related functions have graduated out of this package and are now available in the ggExtra package. ggExtra can be downloaded from CRAN or GitHub.

The flagship function spinMyR() has graduated into its own package, where it can be much more robust. It is available in the ezknitr package.


rsalad is currently only available through GitHub and can be downloaded easily using devtools.

# install.packages("devtools")

Getting started

There are many different usecases for rsalad. See the overview vignette

vignette("overview", "rsalad")
vignette("dfCountPerf", "rsalad")

Alternatively, see the help file for any specific function for a complete detailed explanation of the function. For example ?rsalad::moveFront.

Below is a very brief introduction to the functions in rsalad. The package must first be loaded for the examples to work library("rsalad").

dfFactorize(): convert data.frame columns to factors

Convert character columns in a data.frame to factors.

df <- data.frame(a = 1:3, b = letters[1:3], c = LETTERS[1:3],
								 stringsAsFactors = FALSE)

move functions: move columns to front/back

Move specific columns in data.frames to be the first or last columns.

df <- data.frame(a = 1:3, b = 4:6, c = 7:9, d = 10:12)
moveFront(df, d, c)
moveBack_(df, c("d", "c"))

dfCount(): count number of rows per group

Count how many times each distinct value of a data.frame column is observed.

df <- data.frame(col = c(rep("a", 2), rep("b", 3)))
dfCount(df, "col")

%nin% and notIn()

Determine if values in the first argument don't exist in the second argument. Opposite of the %in% operator.

c("a", "A") %nin% letters

tolowerfirst(): convert first character to lower case

Given a character vector, convert the first character to lower case.

tolowerfirst(c("CamelCase", "ALLCAPS"))

setdiffsym(): symmetric set difference

Perform symmetric set difference, as opposed to base::setdiff() which performs assymetric set difference.

setdiffsym(1:4, 3:5)