From 421d28fc53e0cd33170739d40ad0d8fd9d47ed16 Mon Sep 17 00:00:00 2001 From: jgabry Date: Mon, 25 Sep 2023 12:56:02 -0600 Subject: [PATCH] update the html to reflect the new edits --- docs/articles/r-markdown.html | 74 ++++++++++++++++++++++------------- 1 file changed, 46 insertions(+), 28 deletions(-) diff --git a/docs/articles/r-markdown.html b/docs/articles/r-markdown.html index eeb298b19..c403854e2 100644 --- a/docs/articles/r-markdown.html +++ b/docs/articles/r-markdown.html @@ -40,7 +40,7 @@ cmdstanr - 0.6.0 + 0.6.1 @@ -143,13 +143,27 @@

Mikhail

R Markdown supports a variety of languages through the use of knitr -language engines. One such engine is the stan engine, which -allows users to write Stan programs directly in their R Markdown -documents by setting the language of the chunk to stan.

-

Behind the scenes, the engine relies on RStan to compile the model -code into an in-memory stanmodel, which is assigned to a -variable with the name given by the output.var chunk -option. For example:

+language engines. Where users wish to write Stan programs as chunks +directly in R Markdown documents there are three options:

+
    +
  1. the user wishes all the Stan chunks in the R Markdown document to be +processed using RStan;
    +
  2. +
  3. all Stan chunks are to be processed using CmdStanR; and.
    +
  4. +
  5. some chunks are to be processed by RStan and some by CmdStanR.
  6. +
+

Behind the scenes in each option, the engine compiles the model code +in each chunk and creates an object that provides methods to run the +model: a stanmodel if Rstan is being used, or a +CmdStanModel in the CmdStanR case. This model object is +assigned to a variable with the name given by the +output.var chunk option.

+
+

Option 1: Using RStan for all chunks +

+

This is the default option. In that case we can write, for +example:

```{stan, output.var="model"}
 // Stan model code
 ```
@@ -157,19 +171,21 @@ 

Mikhail ```{r} rstan::sampling(model) ```

-

CmdStanR provides a replacement engine, which can be registered as -follows:

+
+
+

Option 2: Using CmdStanR for all chunks +

+

If CmdStanR is being used a replacement engine needs to be registered +along the following lines:

-

By default, this overrides knitr’s built-in stan engine -so that all stan chunks are processed with CmdStanR, not -RStan. Of course, this also means that the variable specified by +register_knitr_engine(override = TRUE)

+

This overrides knitr’s built-in stan engine so that all +stan chunks are processed with CmdStanR, not RStan. Of +course, this also means that the variable specified by output.var will no longer be a stanmodel -object, but instead a CmdStanModel object, so the code -above would look like this:

+object, but instead a CmdStanModel object, so the example +code above would look like this:

```{stan, output.var="model"}
 // Stan model code
 ```
@@ -177,6 +193,7 @@ 

Mikhail ```{r} model$sample() ```

+
-

Caching chunks -

-

Use cache=TRUE chunk option to avoid re-compiling the -Stan model code every time the R Markdown is knit/rendered.

-

You can find the Stan model file and the compiled executable in the -document’s cache directory.

-
-
-

Using RStan and CmdStanR engines side-by-side +

Option 3: Using both RStan and CmdStanR in the same R Markdown +document

While the default behavior is to override the built-in stan engine because the assumption is that the user is @@ -259,6 +269,14 @@

Using RStan and CmdStanR ```

+

Caching chunks +

+

Use cache=TRUE chunk option to avoid re-compiling the +Stan model code every time the R Markdown is knit/rendered.

+

You can find the Stan model file and the compiled executable in the +document’s cache directory.

+
+

Running interactively

When running chunks interactively in RStudio (e.g. when using R