Title: IO for GAMS GDX Files using 'data.table'
Version: 0.1.0
Author: Alois Dirnaichner [aut, cre]
Maintainer: Alois Dirnaichner <alodi@directbox.com>
Description: Interfaces GAMS data (*.gdx) files with 'data.table's using the GAMS R package 'gdxrrw'. The 'gdxrrw' package is available on the GAMS wiki: https://support.gams.com/doku.php?id=gdxrrw:interfacing_gams_and_r.
Depends: R (≥ 3.1), data.table (≥ 1.11.0),
License: MIT + file LICENCE
Encoding: UTF-8
LazyData: true
RoxygenNote: 6.1.1
Suggests: gdxrrw, testthat
NeedsCompilation: no
Packaged: 2019-11-27 14:50:37 UTC; alois
Repository: CRAN
Date/Publication: 2019-11-30 11:50:08 UTC

raw2dt

Description

Provided the raw output from gdxrrw::rgdx, create a data.table with the correct UEL dimensions.

Usage

raw2dt(full_data)

Arguments

full_data

a list as given by gdxrrw::rgdx.

Value

a data.table


raw2gdx

Description

Save to a GAMS gdx file. Works on a named list providing domains and data as given by gdxrrw::rgdx. This is a *workaround* to fix bugs in the implementation of gdxrrw::wgdx, namely the problems that domains are lost when writing the output of gdxrrw:rgdx and that for variables, a '_field' domain has always to be given. Using this wrapper, round-tripping data between R and gdx files should be possible.

Usage

raw2gdx(gdx, var)

Arguments

gdx

the gdx filename.

var

list of properties of a gdx symbol as provided by gdxrrw::rgdx.


readgdx

Description

Read a variable, parameter or set from a gdx file to a data.table.

Usage

readgdx(fname, varname, field = NULL)

Arguments

fname

the gdx filename.

varname

name of the object to load.

field

(for variable), select a field (default="l").

Value

a data.table

Examples

## Not run: 
dt <- as.data.table(mtcars, keep.rownames = TRUE)
tmpgdx <- file.path(tempdir(), "test.gdx")
test_var <- "mtcars"
writegdx(tmpgdx, dt, test_var, valcol="wt", uelcols="rn", type="parameter")
new_dt <- readgdx(tmpgdx, test_var)

## End(Not run)

writegdx

Description

Save a data.table to a GAMS gdx file.

Usage

writegdx(gdx, dt, name, valcol, uelcols, type = "parameter",
  field = "l")

Arguments

gdx

the gdx filename.

dt

a data.table.

name

name of the variable.

valcol

name of data column.

uelcols

vector of column names with index dimensions.

type

type of symbol (variable or parameter)

field

the field if ‘type == ’variable''

Examples

## Not run: 
dt <- as.data.table(mtcars, keep.rownames = TRUE)
tmpgdx <- file.path(tempdir(), "test.gdx")
test_var <- "mtcars"
writegdx(tmpgdx, dt, test_var, valcol="wt", uelcols="rn", type="parameter")
new_dt <- readgdx(tmpgdx, test_var)

## End(Not run)

writegdx.parameter

Description

Save a data.table to a parameter in a GAMS gdx file.

Usage

writegdx.parameter(gdx, dt, name, valcol, uelcols)

Arguments

gdx

the gdx filename.

dt

a data.table.

name

name of the parameter.

valcol

name of data column.

uelcols

vector of column names with index dimensions.

Examples

## Not run: 
dt <- as.data.table(mtcars, keep.rownames = TRUE)
tmpgdx <- file.path(tempdir(), "test.gdx")
test_var <- "mtcars"
writegdx.parameter(tmpgdx, dt, test_var, valcol="wt", uelcols="rn")
new_dt <- readgdx(tmpgdx, test_var)

## End(Not run)

writegdx.variable

Description

Save a data.table to a variable in a GAMS gdx file.

Usage

writegdx.variable(gdx, dt, name, valcol, uelcols, field = "l")

Arguments

gdx

the gdx filename.

dt

a data.table.

name

name of the variable.

valcol

name of data column.

uelcols

vector of column names with index dimensions.

field

the field if ‘type == ’variable''

Examples

## Not run: 
dt <- as.data.table(mtcars, keep.rownames = TRUE)
tmpgdx <- file.path(tempdir(), "test.gdx")
test_var <- "mtcars"
writegdx.variable(tmpgdx, dt, test_var, valcol="wt", uelcols="rn", field="l")
new_dt <- readgdx(tmpgdx, test_var)

## End(Not run)