All Projects → yihui → Knitr

yihui / Knitr

A general-purpose tool for dynamic report generation in R

Programming Languages

r
7636 projects
CSS
56736 projects
TeX
3793 projects
HTML
75241 projects

Projects that are alternatives of or similar to Knitr

papeR
A toolbox for writing Sweave or other LaTeX-based papers and reports and to prettify the output of various estimated models.
Stars: ✭ 26 (-98.78%)
Mutual labels:  knitr, sweave
Liftr
🐳 Containerize R Markdown documents for continuous reproducibility
Stars: ✭ 155 (-92.74%)
Mutual labels:  rmarkdown, knitr
r-novice-inflammation
Programming with R
Stars: ✭ 142 (-93.35%)
Mutual labels:  rmarkdown, knitr
Knitr Book
Dynamic Documents with R and knitr
Stars: ✭ 215 (-89.93%)
Mutual labels:  rmarkdown, knitr
Kableextra
Construct Complex Table with knitr::kable() + pipe.
Stars: ✭ 465 (-78.21%)
Mutual labels:  rmarkdown, knitr
epoxy
Extra-strength glue engines for R Markdown and Quarto
Stars: ✭ 141 (-93.39%)
Mutual labels:  rmarkdown, knitr
xaringan slides
📺 Links to HTML5 presentations made using the R package {xaringan}.
Stars: ✭ 20 (-99.06%)
Mutual labels:  rmarkdown, knitr
reportfactory
Lightweight infrastructure to handle multiple rmarkdown reports
Stars: ✭ 68 (-96.81%)
Mutual labels:  rmarkdown, knitr
Wraprmd
RStudio addin for wrapping RMarkdown paragraphs
Stars: ✭ 87 (-95.92%)
Mutual labels:  rmarkdown, knitr
Rmarkdown Cookbook
R Markdown Cookbook. A range of tips and tricks to make better use of R Markdown.
Stars: ✭ 324 (-84.82%)
Mutual labels:  rmarkdown, knitr
Knitrhooks
Extend {knitr} with hooks
Stars: ✭ 32 (-98.5%)
Mutual labels:  rmarkdown, knitr
Jupytext
Jupyter Notebooks as Markdown Documents, Julia, Python or R scripts
Stars: ✭ 4,969 (+132.85%)
Mutual labels:  rmarkdown, knitr
Klippy
Copy to Clipboard Buttons for RMarkdown HTML Documents
Stars: ✭ 40 (-98.13%)
Mutual labels:  rmarkdown, knitr
Shufflecards
✨ Create magical grid layouts in Shiny & Markdown
Stars: ✭ 76 (-96.44%)
Mutual labels:  rmarkdown
Conflr
Post R Markdown documents to Confluence
Stars: ✭ 96 (-95.5%)
Mutual labels:  rmarkdown
Ninja Theme
A xaringan / remark js ninja theme
Stars: ✭ 75 (-96.49%)
Mutual labels:  rmarkdown
Betterposter
👩‍🔬👨‍🔬 Another R Markdown Better Scientific Poster
Stars: ✭ 74 (-96.53%)
Mutual labels:  rmarkdown
Bsplus
Shiny and R Markdown addons to Bootstrap 3
Stars: ✭ 120 (-94.38%)
Mutual labels:  rmarkdown
Blogdown
Create Blogs and Websites with R Markdown
Stars: ✭ 1,327 (-37.82%)
Mutual labels:  rmarkdown
Dss Workshops Archived
IQSS Data Science Services workshop materials
Stars: ✭ 72 (-96.63%)
Mutual labels:  rmarkdown

knitr

Check & Coverage Check knitr examples Coverage status CRAN release

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).

Installation

You can install the stable version on CRAN:

install.packages('knitr')

You can also install the development version (hourly build) from https://yihui.r-universe.dev:

options(repos = c(
  yihui = 'https://yihui.r-universe.dev',
  CRAN = 'https://cloud.r-project.org'
))

install.packages('knitr')

Motivation

While Sweave and related add-on packages like cacheSweave and pgfSweave are fairly good engines for literate programming in R, I often feel my hands are tied. For example:

  • I stared at the source code of Sweave and wished for hundreds of times, if only I could easily insert [width=.8\textwidth] between \includegraphics and {my-plot.pdf}. (The official way in Sweave is \setkeys{Gin} but it is setting a global width, which is unrealistic since we often have to set widths individually; yes, you can use \setkeys{Gin} for many times, but why not just provide an option for each chunk?)
  • I wished for many times, if only I could use graphics devices other than PDF and postscript; now the dream has come true in the official R, but what I was hoping for was an option as simple as dev = 'png' or dev = 'CairoJPEG'.
  • I wished multiple plots in a code chunk could be recorded instead of only the last one.
  • I wished there was a way to round the numbers in \Sexpr{} other than writing expressions like \Sexpr{round(x, 3)} for each single \Sexpr{}
  • I wished I did not have to print() plots from. ggplot2 and a simple qplot(x, y) would just give me a plot in Sweave.
  • I wished users would never need instructions on Sweave.sty or run into troubles due to the fact that LaTeX cannot find Sweave.sty.
  • I wished cacheSweave could print the results of a code chunk even if it was cached.
  • I wished brew could support graphics.
  • I wished R2HTML could support R code syntax highlighting.
  • ...

The book Dynamic Documents with R and knitr

The package knitr was designed to give the user access to every part of the process of dealing with a literate programming document, so there is no need to hack at any core components if you want more freedom. I have gone through the source code of pgfSweave and cacheSweave for a couple of times and I often feel uncomfortable with the large amount of code copied from official R, especially when R has a new version released (I will begin to worry if the add-on packages are still up-to-date with the official Sweave).

Usage

library(knitr)
?knit
knit(input)

If options are not explicitly specified, knitr will try to guess reasonable default settings. A few manuals are available such as the main manual, and the graphics manual. For a more organized reference, see the knitr book.

License

This package is free and open source software, licensed under GPL.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].