Skip to content

dcomtois/summarytools

Repository files navigation

CRAN status PayPal donate button

Summarytools 1.1 is out!

Check out what’s new.

Love summarytools? Share the love, buy me a coffee!

summarytools is a an R package for data cleaning, exploring, and simple reporting. The package was developed with the following objectives in mind:

  • Provide a coherent set of easy-to-use descriptive functions akin to those included in commercial statistical software suites such as SAS, SPSS, and Stata
  • Offer flexibility in terms of output format & content
  • Integrate well with commonly used software & tools for reporting (the RStudio IDE, Rmarkdown, Quarto, and knitr) while also allowing for standalone, simple report generation using any R interface

On a more personal level, I simply wish to share with the R community and the scientific community at large the functions I first developed for myself, but realized would benefit others who are facing similar challenges when dealing daily with (often messy) data.

Package Documentation

The bulk of the technical documentation can now be found in the following vignettes:

Introduction to summarytools | CRAN version
Summarytools in R Markdown | CRAN Version
PDF Manual (automatically generated by CRAN)

Installing summarytools

Required Software

Additional software is used by summarytools for fine-tuning graphics as well as offering interactive functionality. If you are installing summarytools for the first time, click on the relevant link to get OS-specific instructions. On Windows, no additional software is required.

Mac OS X
Ubuntu / Debian / Mint
Older Ubuntu (14 and 16)
Fedora / Red Hat / CentOS
Solaris

Installing From GitHub

This method has the advantage of benefiting from minor fixes and improvements that are added between CRAN releases. Its main drawback is that you won’t be noticed when a new version is available. You can either check this page from time to time, or best, use a package that checks for package updates on various repositories, such as dtupdate and Drat.

install.packages("remotes")        # Using devtools or pak is also possible
library(remotes)
install_github("rapporter/pander") # Strongly recommended
install_github("dcomtois/summarytools", build_vignettes = TRUE)

Installing From CRAN

CRAN versions are stable but are not updated as often as the GitHub versions. On the plus side, they can be easier to install on some systems.

install.packages("summarytools")

Latest Changes

  • Version 1.1.0 introduced a few significant improvements, aside from the bug fixes.

    • In stby(), the useNA parameter can be used to generate additional groupings for observations where the grouping variable(s) are NA
    • Labelled vectors from haven & labelled are treated like factors by freq() (always) and dfSummary() (only when all values have labels; this is to avoid generating factors with countless numerical levels).
    • descr() is more flexible with the stats parameters; you can for instance use stats = c("all", -"kurtosis") if you need everything except kurtosis
    • The helper function zap_attr() turns results into simple matrices, adding an alternative to tb() when you need to work further with the results
    • A new na.val parameter was added to freq(), ctable() and dfSummary(), which allows treating a particular character value or factor level as NA. One common instance would be “” (empty string) for character vectors.
    • Sampling weights were a bit buggy with by-groups, and so was tb() with freq() results. This is now a thing of the past.
    • See the package’s NEWS for more details: news(package="summarytools")
  • In dfSummary() since 1.0.1:

    • It is possible to control which statistics to show in the Freqs / Values column (see help("st_options", "summarytools") for examples)
    • In html outputs, tables are better aligned horizontally (categories >> counts >> charts); if misalignment occurs, adjusting graph.magnif should resolve it
    • List-type columns and Inf values are handled properly

For more details, see vignette("introduction", "summarytools") as well as news(package = "summarytools").

Additional Software Installations

Required Software on Mac OS

Magick++ can be installed using Homebrew or Macports.

Back to installation instructions

Required Software for Debian / Ubuntu / Linux Mint

Magick++
sudo apt install libmagick++-dev

Back to installation instructions

Required Software for Older Ubuntu Versions

This applies only if you are using Ubuntu Trusty (14.04) or Xenial (16.04).

Magick++

sudo add-apt-repository -y ppa:opencpu/imagemagick
sudo apt-get update
sudo apt-get install -y libmagick++-dev

Back to installation instructions

Required Software for Fedora / Red Had / CentOS

Magick++
sudo yum install ImageMagick-c++-devel

Back to installation instructions

Required Software for Solaris

Magick++

pkgadd -d http://get.opencsw.org/now
/opt/csw/bin/pkgutil -U
/opt/csw/bin/pkgutil -y -i imagemagick 
/usr/sbin/pkgchk -L CSWimagemagick

Back to installation instructions

Supporting summarytools’ Development

Supporters

A big thanks to the following people who made donations:

  • Ashirwad Barnwal
  • David Thomas
  • Peter Nilsson
  • Ross Dunne
  • Igor Rubets
  • Joerg Sahlmann
  • Mark Friedman
  • Roger Hilfiker
  • Stefano Lav

If summarytools brings value to your work, please consider making a donation. It will bring a smile to my face and boost my productivity! Buy me a coffee, or use the PayPal link. Thanks!

The package comes with no guarantees. It is a work in progress and feedback is always welcome. Please open an issue on GitHub if you find a bug or wish to submit a feature request.

Back to top