Given R code on the clipboard, selected in RStudio, as an expression (quoted or not), or in a file ...
- run it via
- with deliberate choices re: arguments and setup chunk.
Get resulting runnable code + output as
- Markdown, formatted for target venue, e.g.
so, or as
- R code, augmented with commented output.
Result is returned invisibly, placed on the clipboard, and written to a file. Preview an HTML version in RStudio viewer or default browser.
Install from CRAN:
or get a development version from GitHub:
Let's say you copy this code onto your clipboard:
(y <- 1:4) mean(y)
reprex(), where the default target venue is GitHub:
A nicely rendered HTML preview will display in RStudio's Viewer (if you're in RStudio) or your default browser otherwise.
The relevant bit of GitHub-flavored Markdown is ready to be pasted from your clipboard:
``` r (y <- 1:4) #>  1 2 3 4 mean(y) #>  2.5 ```
Here's what that Markdown would look like rendered in a GitHub issue:
(y <- 1:4) #>  1 2 3 4 mean(y) #>  2.5
Anyone else can copy, paste, and run this immediately.
Instead of reading from the clipboard, you can:
reprex(mean(rnorm(10)))to get code from expression.
reprex(input = "mean(rnorm(10))\n")gets code from character vector (detected via length or terminating newline). Leading prompts are stripped from input source:
reprex(input = "> median(1:3)\n")produces same output as
reprex(input = "median(1:3)\n")
reprex(input = "my_reprex.R")gets code from file
Use one of the RStudio add-ins to use the selected text or current file.
But wait, there's more!
Set the target venue to StackOverflow with
reprex(..., venue = "so").
Get a runnable R script, augmented with commented output, with
reprex(..., venue = "R").
By default, figures are uploaded to imgur.com and resulting URL is dropped into an inline image tag.
outfileargument to control where results are left behind.
Get clean, runnable code from wild-caught reprexes with
reprex_invert()= the opposite of
reprex_clean(), e.g. when you copy/paste from GitHub or StackOverflow
reprex_rescue(), when you're dealing with copy/paste from R Console