adv-r - Advanced R programming: a book

  •        33

This is code and text behind the Advanced R programming book. The site is built with bookdown.



Related Projects

bookdown - Authoring Books and Technical Documents with R Markdown

  •    R

Full documentation at, and see "Get Started" at to know how to get started with writing a book. You are welcome to send us feedback using Github issues or ask questions on StackOverflow with the bookdown tag.

bookdown-demo - A minimal book example using bookdown

  •    CSS

This is a minimal example of a book based on R Markdown and bookdown ( Please see the page "Get Started" at for how to compile this example.

r4ds - R for data science

  •    R

This is code and text behind the R for Data Science book.

tidy-text-mining - Manuscript of the book "Tidy Text Mining with R" by Julia Silge and David Robinson

  •    TeX

This is a draft of the book Text Mining with R: A Tidy Approach, by Julia Silge and David Robinson. Please note that this work is being written under a Contributor Code of Conduct and released under a CC-BY-NC-SA license. By participating in this project (for example, by submitting a pull request with suggestions or edits) you agree to abide by its terms.

ggpubr - 'ggplot2' Based Publication Ready Plots

  •    R

ggplot2 by Hadley Wickham is an excellent and flexible package for elegant data visualization in R. However the default generated plots requires some formatting before we can send them for publication. Furthermore, to customize a ggplot, the syntax is opaque and this raises the level of difficulty for researchers with no advanced R programming skills. The 'ggpubr' package provides some easy-to-use functions for creating and customizing 'ggplot2'- based publication ready plots.

efficientR - Efficient R programming: a book

  •    TeX

The text and code for the forthcoming O'Reilly book: Efficient R programming. Pull requests and general comments are welcome. For details on how to build this book, please see the Appendix.

swirl - :cyclone: Learn R, in R.

  •    R

swirl is a platform for learning (and teaching) statistics and R simultaneously and interactively. It presents a choice of course lessons and interactively tutors a student through them. A student may be asked to watch a video, to answer a multiple-choice or fill-in-the-blanks question, or to enter a command in the R console precisely as if he or she were using R in practice. Emphasis is on the last, interacting with the R console. User responses are tested for correctness and hints are given if appropriate. Progress is automatically saved so that a user may quit at any time and later resume without losing work. swirl leans heavily on exercising a student's use of the R console. A callback mechanism, suggested and first demonstrated for the purpose by Hadley Wickham, is used to capture student input and to provide immediate feedback relevant to the course material at hand.

data-science-at-the-command-line - Data Science at the Command Line

  •    HTML

This repository contains the full text, data, scripts, and custom command-line tools used in the book Data Science at the Command Line. The book is licensed under the Creative Commons Attribution-NoDerivatives 4.0 International License. The command-line tools are licensed under the BSD 2-Clause License.

mindr - an R package which converts markdown files (.md, .Rmd) into mindmaps (brainstorms)

  •    R

mindr is an R package which converts markdown (.md) or rmarkdown (.Rmd) files to mind maps (.mm), and vice versa. Mind map files (.mm) can be opened by or imported to common mindmap software such as the desktop software 'FreeMind'and 'XMind', or the online webware 'mindmeister'. then you will get a demo mind map file in the working directory (getwd()). Open it with any mind-map (brainstorm) software, and you will get a mind map.

plotly - An interactive graphing library for R

  •    R

An R package for creating interactive web graphics via the open source JavaScript graphing library plotly.js.NOTE: The CRAN version of plotly is designed to work with the CRAN version of ggplot2, but at least for the time being, we recommend using the development versions of both plotly and ggplot2 (devtools::install_github("hadley/ggplot2")).

tmap - R package for thematic maps

  •    R

tmap is an actively maintained open-source R-library for drawing thematic maps, written by Martijn Tennekes. The API is based on A Layered Grammar of Graphics by Hadley Wickham and resembles the syntax of ggplot2, a popular R-library for drawing charts. Windows No additional installation required.

Machine-Learning-with-R-datasets - Formatted datasets for Machine Learning With R by Brett Lantz


Machine Learning with R by Brett Lantz is a book that provides an introduction to machine learning using R. As far as I can tell, Packt Publishing does not make its datasets available online unless you buy the book and create a user account which can be a problem if you are checking the book out from the library or borrowing the book from a friend. All of these datasets are in the public domain but simply needed some cleaning up and recoding to match the format in the book.

geocompr - Forthcoming book on geographic data with R

  •    R

This repository hosts the code underlying Geocomputation with R, a book by Robin Lovelace, Jakub Nowosad, and Jannes Muenchow. The online version of the book is developed at We plan to publish the hard copy of the book with CRC Press in 2018.

ProgrammingAssignment2 - Repository for Programming Assignment 2 for R Programming on Coursera

  •    R

This second programming assignment will require you to write an R function that is able to cache potentially time-consuming computations. For example, taking the mean of a numeric vector is typically a fast operation. However, for a very long vector, it may take too long to compute the mean, especially if it has to be computed repeatedly (e.g. in a loop). If the contents of a vector are not changing, it may make sense to cache the value of the mean so that when we need it again, it can be looked up in the cache rather than recomputed. In this Programming Assignment you will take advantage of the scoping rules of the R language and how they can be manipulated to preserve state inside of an R object. In this example we introduce the <<- operator which can be used to assign a value to an object in an environment that is different from the current environment. Below are two functions that are used to create a special object that stores a numeric vector and caches its mean.

knitr - A general-purpose tool for dynamic report generation in R

  •    R

The R package knitr is a general-purpose literate programming engine, with lightweight API's designed to give users full control of the output without heavy coding work. It combines many features into one package with slight tweaks motivated from my everyday use of Sweave. See the package homepage for details and examples. See FAQ's for a list of frequently asked questions (including where to ask questions). Note that if you want to build the source package via R CMD INSTALL without a previously installed version of knitr, you must either pre-install knitr from CRAN, or run R CMD INSTALL on this source repo, otherwise R CMD build will fail (which is probably a bug of base R).

dataviz - A book covering the fundamentals of data visualization.

  •    R

A guide to making visualizations that accurately reflect the data, tell a story, and look professional. This repository holds the R Markdown source for the book "Fundamentals of Data Visualization" to be published with O’Reilly Media, Inc. A rendered version of the completed book chapters is available here. The book requires a supporting R package available here.

future - :rocket: R package: future: Unified Parallel and Distributed Processing in R for Everyone

  •    R

The purpose of the future package is to provide a very simple and uniform way of evaluating R expressions asynchronously using various resources available to the user. In programming, a future is an abstraction for a value that may be available at some point in the future. The state of a future can either be unresolved or resolved. As soon as it is resolved, the value is available instantaneously. If the value is queried while the future is still unresolved, the current process is blocked until the future is resolved. It is possible to check whether a future is resolved or not without blocking. Exactly how and when futures are resolved depends on what strategy is used to evaluate them. For instance, a future can be resolved using a sequential strategy, which means it is resolved in the current R session. Other strategies may be to resolve futures asynchronously, for instance, by evaluating expressions in parallel on the current machine or concurrently on a compute cluster.

plyr - A R package for splitting, applying and combining large problems into simpler problems

  •    R

Considerable effort has been put into making plyr fast and memory efficient, and in many cases plyr is as fast as, or faster than, the built-in equivalents. A detailed introduction to plyr has been published in JSS: "The Split-Apply-Combine Strategy for Data Analysis", You can find out more at, or track development at You can ask questions about plyr (and data manipulation in general) on the plyr mailing list. Sign up at


  •    R

An implementation of the Grammar of Graphics in R

feather - Feather: fast, interoperable binary data frame storage for Python, R, and more powered by Apache Arrow

  •    C++

Feather provides binary columnar serialization for data frames. It is designed to make reading and writing data frames efficient, and to make sharing data across data analysis languages easy. This initial version comes with bindings for python (written by Wes McKinney) and R (written by Hadley Wickham). Feather uses the Apache Arrow columnar memory specification to represent binary data on disk. This makes read and write operations very fast. This is particularly important for encoding null/NA values and variable-length types like UTF8 strings.