Tracking expression history with the histry package

To turn on history tracking, we simply load the histry package:


After this, all successfully executed top-level expressions will be tracked, both in the interactive session and within the weaving/rendering of dynamic reports by knitr or rmarkdown.

We now include the content of the minimal Rmd example from the knitr documentation. At the end of this vignette we will call histry() to see that it captured all of evaluated expressions.

Start content from 001-minimal.Rmd by Yehui Xie

A minimal R Markdown example

A quote:

Markdown is not LaTeX.

To compile me, run this in R:


See output here.

code chunks

A paragraph here. A code chunk below (remember the three backticks):

## [1] 3
.4-.7+.3 # what? it is not zero!
## [1] 5.551115e-17


It is easy.



inline code

Yes I know the value of pi is 3.1415927, and 2 times pi is 6.2831853.


Sigh. You cannot live without math equations. OK, here we go: \(\alpha+\beta=\gamma\). Note this is not supported by native markdown. You probably want to try RStudio, or at least the R package markdown, or the function knitr::knit2html().

nested code chunks

You can write code within other elements, e.g. a list

  1. foo is good

    strsplit('hello indented world', ' ')[[1]]
    ## [1] "hello"    "indented" "world"
  2. bar is better

Or inside blockquotes:

Here is a quote, followed by a code chunk:

x = 1:10
##  [1] 100  81  64  49  36  25  16   9   4   1

end content from 001-minimal.Rmd by Yehui Xie

Viewing the expression history

## [1] "1 + 2"                                         
## [2] "0.4 - 0.7 + 0.3"                               
## [3] "plot(1:10)"                                    
## [4] "hist(rnorm(1010))"                             
## [5] "strsplit(\"hello indented world\", \" \")[[1]]"
## [6] "x = 1:10"                                      
## [7] "rev(x^2)"