R: Read data from GDX into R

rgdx {gdxrrw} | R Documentation

## Read data from GDX into R

### Description

Read one data item (also called a symbol) from GDX into R, returning it as a list. Note that GDX files contain multiple symbols (e.g. sets, parameters). Each symbol is read with a separate call.

### Usage

      # generic form - return a symbol as a list
      rgdx(gdxName, requestList = NULL, squeeze = TRUE, useDomInfo = TRUE)

      # return a set or parameter in a data frame
      rgdx.set(gdxName, symName, names=NULL, compress=FALSE, ts=FALSE, useDomInfo = TRUE)
      rgdx.param(gdxName, symName, names=NULL, compress=FALSE, ts=FALSE, squeeze=TRUE, useDomInfo = TRUE)

      # return a scalar
      rgdx.scalar(gdxName, symName, ts=FALSE)

### Arguments

`gdxName` | the name of the GDX file to read
`requestList` | the name of the symbol to read, and (optionally) information about how much information to return and in what format. This argument must be a list. If omitted, the universe of UELs contained in the GDX file is returned
`squeeze` | if TRUE/nonzero, squeeze out any zero or EPS stored in the GDX container
`useDomInfo` | if TRUE, the default filter will be the domain info in the GDX. If no domain info is available, or if `useDomInfo=FALSE`, the default filter will be the GDX universe
`symName` | the name of the GDX symbol to read
`names` | the column names to use in the data frame returned
`compress` | if TRUE, compress the factors in the data frame so they only include required levels. For the default compress=FALSE, each factor includes levels for the entire universe of UELs in the GDX file
`ts` | if TRUE, include the `.ts` field (i.e. the explanatory text) for the symbol in the return

### Value

By default, the return value is a list with components describing the data item or symbol returned.

`name` | symbol name
`type` | symbol's data type: `set`, `parameter`, `variable` or `equation`
`dim` | symbol dimension
`val` | array containing the symbol data
`form` | form of the data in `val`, i.e. `full` or `sparse`
`uels` | vector of UEL lists, one list per symbol dimension

The functions `rgdx.param` and `rgdx.set` are special-purpose wrappers that read parameters and sets, respectively, and return them as data frames.

The function `rgdx.scalar` returns a scalar (i.e. a 0-dimensional parameter) as a double.

The output format can be adjusted via a global option. Documentation for this is in progress.

### Note

A common problem is failure to load the external GDX libraries that are required to interface with GDX data. Use `igdx` to troubleshoot and solve this problem.

### Author(s)

Original coding by Rishabh Jain. Adopted and packaged by Steve Dirkse. Maintainer: R@gams.com

### See Also

`igdx`, `wgdx`, `gdxInfo`

### Examples

      # run R-script trnsport.r from the data subdirectory of the gdxrrw package
      # to load up some data for writing to a GDX file
      data(trnsport)

      wgdx("rgdx1",sf,si,sj,sa,sb,sd)
      ou = rgdx("rgdx1")
      req <- list(name="f")
      of = rgdx("rgdx1",req)
      req <- list(name="i")
      oi = rgdx("rgdx1",req)
      req <- list(name="j")
      oj = rgdx("rgdx1",req)
      req <- list(name="a")
      oa = rgdx("rgdx1",req)
      req <- list(name="b")
      ob = rgdx("rgdx1",req)
      req <- list(name="d")
      od = rgdx("rgdx1",req)

      ## Not run:
        # complete tests and examples can be run in the
        # extdata directory of the gdxrrw package
        # check .libPaths for a hint on where packages are installed
        setwd(paste(.libPaths()[1],"/gdxrrw/extdata",sep=""))
        source("tAll.R")

    ## End(Not run)

[Package gdxrrw version 0.2.0 Index]