knitr::opts_chunk$set(echo = TRUE,comment = NULL,eval = F) if(!require(gretlR)) install.packages('gretlR') if(!require(kableExtra)) install.packages('kableExtra') options(knitr.kable.NA = '') library(gretlR)
gretlR is an R package that can run gretl
program from R Markdown.
gretlR can be installed using the following commands in R.
install.packages("gretlR") OR devtools::install_github('sagirumati/gretlR')
Please load the gretlR package as follows:
```r `r ''` library(gretlR) ```
Then create a chunk for gretl
as shown below:
```{gretl gretlR,eval=T,echo=T,comment=NULL} `r ''` nulldata 500 set seed 13 gretl1 = normal() gretl2 = normal() setobs 12 1980:01 --time-series gnuplot gretl1 --time-series --with-lines --output="line.png" gnuplot gretl2 gretl1 --output="scatter.png" ols gretl1 const gretl2 modeltab add tabprint --output="olsTable.Rmd" tabprint --output="olsTable.tex" tabprint --output="olsTable.csv" eqnprint --output="olsEquation.tex" ```
```{gretl gretlR,eval=T,echo=F,comment=NULL} nulldata 500 set seed 13 gretl1 = normal() gretl2 = normal() setobs 12 1980:01 --time-series gnuplot gretl1 --time-series --with-lines --output="line.png" gnuplot gretl2 gretl1 --output="scatter.png" ols gretl1 const gretl2 modeltab add tabprint --output="olsTable.Rmd" tabprint --output="olsTable.tex" tabprint --output="olsTable.csv" eqnprint --output="olsEquation.tex"
The above chunk creates a gretl program with the chunk’s content, then automatically run the gretl script, which will save gretl outputs in the new folder `gretlR` created in the current working directory. # include_graph function We can *dynamically and reproducibly* fetch the `gretl` graph object we created with the `gretl` chunk using the following R chunk: For the scatter graph: ```r include_graph(chunk = "gretlR",graph = "scatter.png")
or the line graph:
include_graph(chunk = "gretlR",graph = "line.png")
we can also include the equation of the OLS generated by the gretl
chunk and save as olsEquation.tex
.
If the output is pdf
, one can use the raw LaTeX
codes as follows:
\input{gretlR/gretlR/olsEquation.tex}
\input{gretlR/gretlR/olsEquation.tex}
Or use include_tex
function to include the equation as shown below:
include_tex(chunk = "gretlR",tex = "olsEquation")
include_tex(chunk = "gretlR",tex = "olsTable",start = 7,end = 24)
The OLS table output is saved by the gretl
chunk as olsTable.Rmd
. The entire OLS table output can included as child document as follows:
```r `r ''` ```
The gretl
chunk also saves the OSL table as olsTable.csv
. The import_kable
function can be used to import it as a table. further customisation can be done with kableExtra
package.
import_kable(chunk = "gretlR",file = "olsTable.csv",caption="Table generated from gretl chunk", start=3,end=7,digits=2) %>% kableExtra::kable_styling(latex_options = c("basic","hold_position","scale_down")) %>% kableExtra::row_spec(0,bold=T)
This function writes gretl
file.
code=r'(nulldata 500 set seed 13 gretl1 = normal() gretl2 = normal() setobs 12 1980:01 --time-series gnuplot gretl1 --time-series --with-lines --output="line.png" gnuplot gretl2 gretl1 --output="scatter.png" )' write_inp(code,path="gretlCodes")
This function executes existing gretl
files.
code=r'(nulldata 500 set seed 13 gretl1 = normal() gretl2 = normal() setobs 12 1980:01 --time-series gnuplot gretl1 --time-series --with-lines --output="line.png" gnuplot gretl2 gretl1 --output="scatter.png" )' write_inp(code,path="SomeFolder/gretlCodes") exec_inp("someFolder/gretlCodes")
This function creates gretl
file from R object or a set of character strings and executes it. It is a combination of write_inp
and exec_inp
functions.
code=r'(nulldata 500 set seed 13 gretl1 = normal() gretl2 = normal() setobs 12 1980:01 --time-series gnuplot gretl1 --time-series --with-lines --output="line.png" gnuplot gretl2 gretl1 --output="scatter.png" )' exec_gretl(code)
Demo can be accessed via demo(package="gretlR")
.
demo(exec_inp) demo(write_inp) demo(exec_gretl)
The R Markdown template for the gretlR
can be accessed via file -> New File -> R Markdown -> From Template -> gretlR
Please download a set of example files from Github.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.