knitr::opts_chunk$set(collapse = TRUE, comment = "#>")
Target Markdown is a powerful R Markdown interface for reproducible analysis pipelines, and the chapter at https://books.ropensci.org/targets/markdown.html walks through it in detail. This R Markdown report the example from the chapter. Try it out in both interactive and non-interactive modes, either by running the code chunks in different ways or setting the tar_interactive
chunk option.
If you are using old versions of targets
(<= 0.7.0) and/or knitr
(<= 1.33), you will need to load the targets
package in the R Markdown document in order for Target Markdown code chunks to work.
library(targets)
Near the top of the document, you may also wish to remove the _targets_r
directory previously written by non-interactive runs of the report. Otherwise, your pipeline may contain superfluous targets.
library(targets) tar_unscript()
Our first target borrows the airquality
dataset built into base R.
```{targets raw-data} tar_target(raw_data, airquality)
Our next targets preprocess the data, make a histogram, and fit a model. ```{targets downstream-targets} list( tar_target(data, {raw_data[complete.cases(airquality), ]}), tar_target(hist, hist(data$Ozone)) )
Set the tar_simple
chunk option to TRUE
to define a single target with the command in the code chunk. The chunk below only contains biglm(Ozone ~ Wind + Temp, data)
in the source, but because tar_simple
is TRUE
, it is shorthand for tar_target(name = fit, command = biglm(Ozone ~ Wind + Temp, data))
. All other arguments to tar_target()
are set to their default values (configurable with tar_option_set()
).
```{targets fit, tar_simple = TRUE} lm(Ozone ~ Wind + Temp, data)
# Pipeline If you ran all the `{targets}` chunks in non-interactive mode, then your R scripts are set up to run the pipeline. ```r tar_make()
You can retrieve results from the _targets/
data store using tar_read()
or tar_load()
.
tar_read(fit)
tar_read(hist)
At this point, you can go back and run {targets}
chunks in interactive mode without interfering with the code or data of the non-interactive pipeline.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.