Templated output in R

April 28, 2019
By

[This article was first published on R on Abhijit Dasgupta, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Earo Wang, who is the curator for the We are R-Ladies twitter feed this week (last week of April, 2019), had a really nice tweet about using the whisker package to create a template incorporating text and data in R. Her example created a list of tidyverse packages with descriptions.

I really liked the example, but thought that the glue package might be able to do the same thing. I used Earo’s code to generate a tibble with the package names and descriptions, and glue_data to create the templated list.

library(tidyverse)
library(glue)
tidy_pkgs <- 
  tibble('pkgs' = c('ggplot2','purrr','readr','tidyr',
                    'dplyr','forcats','lubridate','stringr')) %>% 
  mutate(descr = map_chr(pkgs, ~packageDescription(., fields='Description')))

glue_data(tidy_pkgs, 
          "- [**{pkgs}**](http://{pkgs}.tidyverse.org): {descr}")
  • ggplot2: A system for ‘declaratively’ creating graphics,
    based on “The Grammar of Graphics”. You provide the data, tell ‘ggplot2’
    how to map variables to aesthetics, what graphical primitives to use,
    and it takes care of the details.
  • purrr: A complete and consistent functional programming toolkit for R.
  • readr: The goal of ‘readr’ is to provide a fast and friendly way to read
    rectangular data (like ‘csv’, ‘tsv’, and ‘fwf’). It is designed to flexibly
    parse many types of data found in the wild, while still cleanly failing when
    data unexpectedly changes.
  • tidyr: An evolution of ‘reshape2’. It’s designed
    specifically for data tidying (not general reshaping or aggregating)
    and works well with ‘dplyr’ data pipelines.
  • dplyr: A fast, consistent tool for working with data frame like objects,
    both in memory and out of memory.
  • forcats: Helpers for reordering factor levels (including
    moving specified levels to front, ordering by first appearance,
    reversing, and randomly shuffling), and tools for modifying factor
    levels (including collapsing rare levels into other, ‘anonymising’,
    and manually ‘recoding’).
  • lubridate: Functions to work with date-times and time-spans: fast and user
    friendly parsing of date-time data, extraction and updating of components of
    a date-time (years, months, days, hours, minutes, and seconds), algebraic
    manipulation on date-time and time-span objects. The ‘lubridate’ package has
    a consistent and memorable syntax that makes working with dates easy and
    fun.
    Parts of the ‘CCTZ’ source code, released under the Apache 2.0 License,
    are included in this package. See https://github.com/google/cctz for more
    details.
  • stringr: A consistent, simple and easy to use set of
    wrappers around the fantastic ‘stringi’ package. All function and
    argument names (and positions) are consistent, all functions deal with
    “NA”’s and zero length vectors in the same way, and the output from
    one function is easy to feed into the input of another.

To leave a comment for the author, please follow the link and comment on their blog: R on Abhijit Dasgupta.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.



If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.

Search R-bloggers

Sponsors

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)