--- title: "Linking Code Blocks" author: "Doug Hemken" date: "Jul 2026" format: html vignette: > %\VignetteIndexEntry{Linking Code Blocks} %\VignetteEngine{quarto::html} %\VignetteEncoding{UTF-8} --- Each code chunk in your dynamic markdown document runs as a separate batch file in Stata. This means that the results of one code chunk do ***not*** automatically carry over to the next. You can make the results of a chunk carry over to all subsequent chunks by using the `collectcode=TRUE` chunk option. Collected code accumulates, and runs silently before each subsequent chunk. ## Setup Stata Engine (If necessary, manually specify the Stata executable location.) ``` r library(Statamarkdown) ``` ``` ## Stata found at /Applications/StataNow/StataMP.app/Contents/MacOS/StataMP ``` ``` ## The 'stata' engine is ready to use. ``` ## An Example In this example we load the data and calculate a new variable in a first code chunk. Then in a later code chunk we also use the data, including the new variable. ### First code block: In the first code chunk, use the `collectcode` option. ```{{stata first-Stata, collectcode=TRUE}} sysuse auto, clear generate gpm = 1/mpg summarize price gpm ``` Which looks like this in your document: ``` stata sysuse auto, clear generate gpm = 1/mpg summarize price gpm ``` ``` (1978 automobile data) Variable | Obs Mean Std. dev. Min Max -------------+--------------------------------------------------------- price | 74 6165.257 2949.496 3291 15906 gpm | 74 .0501928 .0127986 .0243902 .0833333 ``` ### Second code block: Then you can use the data and the new variable in a later code chunk. ```{{stata second-Stata}} regress price gpm ``` Which looks like this in your document: ``` stata regress price gpm ``` ``` Source | SS df MS Number of obs = 74 -------------+---------------------------------- F(1, 72) = 35.95 Model | 211486574 1 211486574 Prob > F = 0.0000 Residual | 423578822 72 5883039.19 R-squared = 0.3330 -------------+---------------------------------- Adj R-squared = 0.3238 Total | 635065396 73 8699525.97 Root MSE = 2425.5 ------------------------------------------------------------------------------ price | Coefficient Std. err. t P>|t| [95% conf. interval] -------------+---------------------------------------------------------------- gpm | 132990 22180.86 6.00 0.000 88773.24 177206.7 _cons | -509.8827 1148.469 -0.44 0.658 -2799.314 1779.548 ------------------------------------------------------------------------------ ```