Linking Code Blocks

Doug Hemken

May 2023

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

library(Statamarkdown)

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:

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:

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