
I’d seen my father. He was a poor man, and I watched him do astonishing things. - Sidney Poitier
{poorman} is a grammar of data manipulation, providing dependency free versions of {dplyr} verbs that help you solve the most common data manipulation challenges:
select() picks variables based on their names.mutate() adds new variables that are functions of
existing variables.filter() picks cases based on their values.summarise() reduces multiple values down to a single
summary.arrange() changes the ordering of the rows.{poorman} attempts to replicate the {dplyr} API exactly such that
your {dplyr} code will still run even if you use {poorman} in its place.
In addition to replicating {dplyr} functionality, {poorman} implements
other functionality from the wider {tidyverse} such as select helpers
and the pipe, %>%.
For more details on the functionality available within {poorman}, check out the {poorman} series of blog posts here.
You can install:
# install.packages("remotes")
remotes::install_github("nathaneastwood/poorman")install.packages("poorman")If you’d like to try out the latest version of the package on CRAN using Docker, you can run the latest image with:
docker run --rm -it nathaneastwood/poormanlibrary(poorman, warn.conflicts = FALSE)
#
# I'd seen my father. He was a poor man, and I watched him do astonishing things.
# - Sidney Poitier
mtcars %>%
select(mpg, wt, starts_with("c")) %>%
mutate(kpl = (1.609 * mpg) / 3.785, wt_kg = wt * 453.5924) %>%
filter(mpg > 28)
# mpg wt cyl carb kpl wt_kg
# Fiat 128 32.4 2.200 4 1 13.77321 997.9033
# Honda Civic 30.4 1.615 4 2 12.92301 732.5517
# Toyota Corolla 33.9 1.835 4 1 14.41086 832.3421
# Lotus Europa 30.4 1.513 4 2 12.92301 686.2853
mtcars %>%
group_by(am, cyl) %>%
summarise(mean_mpg = mean(mpg), sd_mpg = sd(mpg)) %>%
ungroup()
# am cyl mean_mpg sd_mpg
# 1 0 4 22.90000 1.4525839
# 2 0 6 19.12500 1.6317169
# 3 0 8 15.05000 2.7743959
# 4 1 4 28.07500 4.4838599
# 5 1 6 20.56667 0.7505553
# 6 1 8 15.40000 0.5656854b_*(),
e.g. b_select().*_data() to each of its
functions, e.g. select_data().