knitr::opts_chunk$set(echo = TRUE,comment = NULL,eval = T) 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.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.