Skip to Content

Dynamic Documents with R and knitr

By Yihui Xie

Chapman and Hall/CRC – 2013 – 216 pages

Series: Chapman & Hall/CRC The R Series

Purchasing Options:

  • Add to CartPaperback: $62.95
    July 25th 2013


The cut-and-paste approach to writing statistical reports is not only tedious and laborious, but also can be harmful to scientific research, because it is inconvenient to reproduce the results. Dynamic Documents with R and knitrintroduces a new approach via dynamic documents, i.e. integrating computing directly with reporting. A comprehensive guide to the R package knitr, the book covers examples, document editors, basic usage, detailed explanations of a wide range of options, tricks and solutions, extensions, and complete applications of this package.

The book provides an overview of dynamic documents, introducing the idea of literate programming. It then explains the importance of dynamic documents to scientific research and its impact on reproducible research. Building on this, the author covers basic concepts, common text editors that support knitr, and the syntax for different document formats such as LaTeX, HTML, and Markdown before going on to discuss core functionality, how to control text and graphics output, caching mechanisms that can reduce computation time, and reuse of source code. He then explores advanced topics such as chunk hooks, integrating other languages such as Python and awk into one report in the knitr framework, and useful tricks that make it easier to write documents with knitr. Discussions of how to publish reports in a variety of formats, applications, and other tools complete the coverage.

Suitable for both beginners and advanced users, this book shows you how to write reports in simple languages such as Markdown. The reports range from homework, projects, exams, books, blogs, and web pages to any documents related to statistical graphics, computing, and data analysis. While familiarity with LaTeX and HTML is helpful, the book requires no prior experience with advanced programs or languages. For beginners, the text provides enough features to get started on basic applications. For power users, the last several chapters enable an understanding of the extensibility of the knitr package.


"After reading Dynamic Documents with R and knitr, … I became a fan of this package and its flexibility. The book is written in a conversational style that gives a clear and practical introduction to knitr for both beginners and advanced users. … Compared with Sweave, knitr is more powerful. … Furthermore, knitr is more flexible than Sweave. … Most impressively, caching can be incorporated in a simple way by knitr. … The book is readable with a clear overall structure. … this book allows us to enhance our knowledge of knitr’s usage and quickly find what we want."

The American Statistician, February 2015

"The book provides a systematic description of the package [knitr], including its concepts, design principles, and philosophy. It also has many examples, well-thought out advice, and useful tips and tricks. … The book is well written. It has introductory material useful for novices as well as advice for more seasoned users, all explained in conversational English without unnecessary technical jargon. … While I have been using Sweave and then knitr for several years, I still learned many new useful things from the book. … the book deserves a place on the bookshelves of both new and experienced R and TeX users."

—Boris Veytsman, TUGboat, Volume 35, 2014

"If you are looking to learn how to use knitr, this book is for you. There are a limited number of resources for learning knitr because the package is relatively new and the documentation produced by Xie is so good. … I think this book will continue to be the best resource about knitr …easy to understand … this is a great read and handy desk reference for the regular knitr user."

Journal of Statistical Software, January 2014

"Three recent books have significantly influenced how I use R in reproducible work: Dynamic Documents with R and knitr by Yihui Xie, Reproducible Research with R and RStudio by Christopher Gandrud, and Implementing Reproducible Research edited by Victoria Stodden, Friedrich Leisch, and Roger D. Peng … I recommend all three books to R users at any level. There really is something here for everyone."

—Richard Layton, PhD, PE, Rose-Hulman Institute of Technology, Terre Haute, Indiana, USA



Reproducible Research


Good and Bad Practices


A First Look


Minimal Examples

Quick Reporting

Extracting R Code





Other Editors

Document Formats

Input Syntax

Document Formats

Output Renderers

R Scripts

Text Output

Inline Output

Chunk Output




Graphical Devices

Plot Recording

Plot Rearrangement

Plot Size in Output

Extra Output Options

The tikz Device

Figure Environment

Figure Path



Write Cache

When to Update Cache

Side Effects

Chunk Dependencies

Cross Reference 79

Chunk Reference

Code Externalization

Child Documents


Chunk Hooks


Language Engines


Languages and Tools

Tricks and Solutions

Chunk Options

Package Options




Multilingual Support

Publishing Reports



HTML5 Slides





Web Site and Blogging

Package Vignettes


Other Tools


Other R Packages

Python Packages

More Tools





A.4 Syntax



Name: Dynamic Documents with R and knitr (Paperback)Chapman and Hall/CRC 
Description: By Yihui Xie. The cut-and-paste approach to writing statistical reports is not only tedious and laborious, but also can be harmful to scientific research, because it is inconvenient to reproduce the results. Dynamic Documents with R and knitrintroduces a new approach...
Categories: Statistical Theory & Methods, Statistical Computing, Bioinformatics