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
.
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")
devtools::install_github("daattali/rsalad")
There are many different usecases for rsalad. See the overview vignette
browseVignettes("rsalad")
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")
.
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)
str(dfFactorize(df))
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"))
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")
Determine if values in the first argument don't exist in the second argument.
Opposite of the %in%
operator.
c("a", "A") %nin% letters
Given a character vector, convert the first character to lower case.
tolowerfirst(c("CamelCase", "ALLCAPS"))
Perform symmetric set difference, as opposed to base::setdiff()
which
performs assymetric set difference.
setdiffsym(1:4, 3:5)