Package 'gretlR'

Title: A Seamless Integration of 'Gretl' and 'R'
Description: It allows running 'gretl' (<http://gretl.sourceforge.net/index.html>) program from R, R Markdown and Quarto. 'gretl' ('Gnu' Regression, 'Econometrics', and Time-series Library) is a statistical software for Econometric analysis. This package does not only integrate 'gretl' and 'R' but also serves as a 'gretl' Knit-Engine for 'knitr' package. Write all your 'gretl' commands in 'R', R Markdown chunk.
Authors: Sagiru Mati [aut, cre]
Maintainer: Sagiru Mati <[email protected]>
License: GPL
Version: 0.1.4
Built: 2024-11-21 03:49:44 UTC
Source: https://github.com/sagirumati/gretlr

Help Index


gretlR: A Seamless Integration of 'Gretl' and 'R'

Description

It allows running 'gretl' (http://gretl.sourceforge.net/index.html) program from R, R Markdown and Quarto. 'gretl' ('Gnu' Regression, 'Econometrics', and Time-series Library) is a statistical software for Econometric analysis. This package does not only integrate 'gretl' and 'R' but also serves as a 'gretl' Knit-Engine for 'knitr' package. Write all your 'gretl' commands in 'R', R Markdown chunk.

Author(s)

Maintainer: Sagiru Mati [email protected] (ORCID)

See Also

Useful links:

Other important functions: eng_gretl(), exec_gretl(), exec_inp(), import_kable(), include_graph(), include_tex(), write_inp()


Add gretl as knit-engine to knitr package

Description

This package runs on top of knitr to facilitate communication with gretl. Run gretl scripts from R, R Markdown and Quarto document.

Usage

eng_gretl(options)

Arguments

options

Chunk options, as provided by knitr during chunk execution. Chunk option for this is gretl

Details

The gretl engine can be activated via

knitr::knit_engines$set(gretl = gretlR::eng_gretl)

This will be set within an R Markdown document's setup chunk.

Value

Set of gretl (open-source software for Econometrics) codes

Author(s)

Sagiru Mati, ORCID: 0000-0003-1413-3974

References

Mati, Sagiru. 2020a. “DynareR: Bringing the Power of Dynare to R, R Markdown, and Quarto.” CRAN. https://CRAN.R-project.org/package=DynareR.

Mati, Sagiru. 2020b. EviewsR: A Seamless Integration of EViews and R. https://CRAN.R-project.org/package=EviewsR.

Mati, Sagiru. 2020c. gretlR: A Seamless Integration of Gretl and R. https://CRAN.R-project.org/package=gretlR.

Mati, Sagiru. 2023b. URooTab: Tabular Reporting of EViews Unit Root Tests. https://CRAN.R-project.org/package=URooTab.

Mati, Sagiru, Irfan Civcir, and S. I. Abba. 2023. “EviewsR: An r Package for Dynamic and Reproducible Research Using EViews, r, r Markdown and Quarto.” The R Journal 15 (2): 169–205. https://doi.org/10.32614/rj-2023-045.

Bob Rudis (2015).Running Go language chunks in R Markdown (Rmd) files. Available at: https://gist.github.com/hrbrmstr/9accf90e63d852337cb7

Yihui Xie (2019). knitr: A General-Purpose Package for Dynamic Report Generation in R. R package version 1.24.

Yihui Xie (2015) Dynamic Documents with R and knitr. 2nd edition. Chapman and Hall/CRC. ISBN 978-1498716963

Yihui Xie (2014) knitr: A Comprehensive Tool for Reproducible Research in R. In Victoria Stodden, Friedrich Leisch and Roger D. Peng, editors, Implementing Reproducible Computational Research. Chapman and Hall/CRC. ISBN 978-1466561595

See Also

Other important functions: exec_gretl(), exec_inp(), gretlR, import_kable(), include_graph(), include_tex(), write_inp()

Examples

knitr::knit_engines$set(gretl = gretlR::eng_gretl)
library(gretlR)

Execute gretl codes in R

Description

Use this function to Execute gretl codes in R.

Usage

exec_gretl(code,path=basename(tempfile("gretlR")))

Arguments

code

Object or a character string representing the set of gretl codes

path

Object or a character string representing the directory to execute the gretl codes (default: gretlR)

Value

Set of gretl (open-source software for Econometrics) outputs

See Also

Other important functions: eng_gretl(), exec_inp(), gretlR, import_kable(), include_graph(), include_tex(), write_inp()

Examples

library(gretlR)
## Not run: 
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)

## End(Not run)

Execute existing gretl inp file(s) in R

Description

Use this function to execute existing gretl inp file(s) in R

Usage

exec_inp(path=".")

Arguments

path

Object or a character string representing the path(s) to the gretl file(s). (default: ".")

Value

Set of gretl (open-source software for Econometrics) outputs

See Also

Other important functions: eng_gretl(), exec_gretl(), gretlR, import_kable(), include_graph(), include_tex(), write_inp()

Examples

library(gretlR)
## Not run: 
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")


## End(Not run)

Import file as kable in R Markdown or Quarto document.

Description

Use this function to import file as kable in R Markdown or Quarto document.

Usage

import_kable(path=".",chunk="",file="",start=NA,end=NA,skip_blank=TRUE,
format=kable_format(),digits = getOption("digits"), row.names = NA,col.names = NA, align,
caption = NULL,
  label = NULL, format.args = list(),escape = FALSE, table.attr = "", booktabs = TRUE,
   longtable = FALSE, valign = "t",position = "h", centering = TRUE,
   vline = getOption("knitr.table.vline",if (booktabs) "" else "|"),
toprule = getOption("knitr.table.toprule",
if (booktabs) "\\toprule" else "\\hline"),
bottomrule = getOption("knitr.table.bottomrule",
if (booktabs) "\\bottomrule" else "\\hline"),
midrule = getOption("knitr.table.midrule",
if (booktabs) "\\midrule" else "\\hline"),
linesep = if (booktabs) c("","", "", "", "\\addlinespace") else "\\hline",
 caption.short = "",table.envir = if (!is.null(caption)) "table",...)

Arguments

path

Object or a character string representing the path(s) to the TeX (default: ".")

chunk

Name of the gretl chunk that generates the TeX file.

file

Name of a file to be imported as kable

start

Numeric. The start line of the TeX file to include.

end

Numeric. The last line of the TeX file to include.

skip_blank

Logical. Whether or not to include blank rows.

format

A character string. Possible values are latex, html, pipe (Pandoc's pipe tables), simple (Pandoc's simple tables), rst, jira, and org (Emacs Org-mode). The value of this argument will be automatically determined if the function is called within a knitr document. The format value can also be set in the global option knitr.table.format. If format is a function, it must return a character string.

digits

Maximum number of digits for numeric columns, passed to round(). This can also be a vector of length ncol(x), to set the number of digits for individual columns.

row.names

Logical: whether to include row names. By default, row names are included if rownames(x) is neither NULL nor identical to 1:nrow(x).

col.names

A character vector of column names to be used in the table.

align

Column alignment: a character vector consisting of 'l' (left), 'c' (center) and/or 'r' (right). By default or if align = NULL, numeric columns are right-aligned, and other columns are left-aligned. If length(align) == 1L, the string will be expanded to a vector of individual letters, e.g. 'clc' becomes c('c', 'l', 'c'), unless the output format is LaTeX.

caption

The table caption.

label

The table reference label. By default, the label is obtained from knitr::opts_current$get('label'). To disable the label, use label = NA.

format.args

A list of arguments to be passed to format() to format table values, e.g. list(big.mark = ',').

escape

Boolean; whether to escape special characters when producing HTML or LaTeX tables. When escape = FALSE, you have to make sure that special characters will not trigger syntax errors in LaTeX or HTML.

table.attr

A character string for addition HTML table attributes. This is convenient if you simply want to add a few HTML classes or styles. For example, you can put 'class="table" style="color: red"'.

booktabs

T/F for whether to enable the booktabs format for tables. I personally would recommend you turn this on for every latex table except some special cases.

longtable

T/F for whether to use the longtable format. If you have a table that will span over two or more pages, you will have to turn this on.

valign

You probably won't need to adjust this latex option very often. If you are familar with latex tables, this is the optional position for the tabular environment controling the vertical position of the table relative to the baseline of the surrounding text. Possible choices are b, c and t (default).

position

This is the "real" or say floating position for the latex table environment. The kable only puts tables in a table environment when a caption is provided. That is also the reason why your tables will be floating around if you specify captions for your table. Possible choices are h (here), t (top, default), b (bottom) and p (on a dedicated page).

centering

T (default)/F. Whether to center tables in the table environment.

vline

vertical separator. Default is nothing for booktabs tables but "|" for normal tables.

toprule

toprule. Default is hline for normal table but toprule for booktabs tables.

bottomrule

bottomrule. Default is hline for normal table but bottomrule for booktabs tables.

midrule

midrule. Default is hline for normal table but midrule for booktabs tables.

linesep

By default, in booktabs tables, kable insert an extra space every five rows for clear display. If you don't want this feature or if you want to do it in a different pattern, you can consider change this option. The default is c(”, ”, ”, ”, '\addlinespace'). Also, if you are not using booktabs, but you want a cleaner display, you can change this to ”.

caption.short

Another latex feature. Short captions for tables

table.envir

You probably don't need to change this as well. The default setting is to put a table environment outside of tabular if a caption is provided.

...

Other arguments (see Examples and References).

Value

kable

See Also

Other important functions: eng_gretl(), exec_gretl(), exec_inp(), gretlR, include_graph(), include_tex(), write_inp()

Examples

library(gretlR)
## Not run: 
code=r'(nulldata 500
set seed 13
gretl1 = normal()
gretl2 = normal()
setobs 12 1980:01 --time-series
ols gretl1 const gretl2
tabprint --output="olsTable.csv")'

exec_gretl(code=code,path='gretlR/Table/gretlCode') # this creates 'gretlR/Table' folder

import_kable(chunk = "Table",file = "olsTable.csv",format="pandoc",caption="Table generated
from gretl chunk", start=3,end=7,digits=2)

# Alternatively, use the absolute/relative path to the file

import_kable(path = "gretlR/Table/olsTable.csv",format="pandoc",caption="Table generated
 from path", start=3,end=7,digits=2)

## End(Not run)

Include graph file in R Markdown or Quarto document.

Description

Use this function to include graph file in R Markdown or Quarto document.

Usage

include_graph(path=".",chunk="",graph="")

Arguments

path

Object or a character string representing the path(s) to the TeX (default: ".")

chunk

Name of the gretl chunk that generates the TeX file.

graph

Name of the graph and its extension

Value

Set of gretl (open-source software for Econometrics) outputs

See Also

Other important functions: eng_gretl(), exec_gretl(), exec_inp(), gretlR, import_kable(), include_tex(), write_inp()

Examples

library(gretlR)
## Not run: 
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"
)'
exec_gretl(code)

include_graph(path="line.png")


## End(Not run)

Include TeX file in R Markdown or Quarto document.

Description

Use this function to include TeX file in R Markdown or Quarto document.

Usage

include_tex(path=".",chunk="",tex="",start=NA,end=NA)

Arguments

path

Object or a character string representing the path(s) to the TeX (default: ".")

chunk

Name of the gretl chunk that generates the TeX file.

tex

Name of a LaTeX file

start

Numeric. The start line of the TeX file to include.

end

Numeric. The last line of the TeX file to include.

Value

Set of gretl (open-source software for Econometrics) outputs

See Also

Other important functions: eng_gretl(), exec_gretl(), exec_inp(), gretlR, import_kable(), include_graph(), write_inp()

Examples

library(gretlR)
## Not run: 
code=r'(nulldata 500
set seed 13
gretl1 = normal()
gretl2 = normal()
setobs 12 1980:01 --time-series
ols gretl1 const gretl2
tabprint --output="olsTable.tex")'

exec_gretl(code=code,path='gretlR/TeXFolder/gretlCode')

include_tex(chunk="TeXFolder",tex="olsTable")

# Alternatively, use the absolute/relative path to the TeX file

include_tex("gretlR/TeXFolder/olsTable.tex")

## End(Not run)

Write gretl inp file in R

Description

Use this function to write gretl inp file in R

Usage

write_inp(code,path)

Arguments

code

Object or a character string representing the set of gretl codes

path

Object or a character string representing the path to write the gretl inp file.

Value

Set of gretl (open-source software for Econometrics) outputs

See Also

Other important functions: eng_gretl(), exec_gretl(), exec_inp(), gretlR, import_kable(), include_graph(), include_tex()

Examples

library(gretlR)
## Not run: 
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")

## End(Not run)