expand_to_tidy: Expand a "tidy" data frame with matsindf-style matrices to a...

Description Usage Arguments Details Value Examples

View source: R/expand.R

Description

A data frame with matsindf-style matrices contains matrices with names matnames in the column specified by matvals). An IO-style matrix has named rows and columns. In addition, matsindf-style matrices have "types" for row and column information, such as "Commodities", "Industries", "Products", or "Machines".

Usage

1
2
3
expand_to_tidy(.DF, matnames = "matnames", matvals = "matvals",
  rownames = "rownames", colnames = "colnames",
  rowtypes = "rowtypes", coltypes = "coltypes", drop = NA)

Arguments

.DF

the data frame containing matsindf-style matrices. (.DF may also be a named list of matrices, in which case names of the matrices are taken from the names of items in the list and list items are expected to be matrices.)

matnames

name of the column in .DF containing matrix names (a string). Default is "matnames".

matvals

name of the column in .DF containing IO-style matrices or constants (a string), This will also be the name of the column containing matrix entries in the output data frame. Default is "matvals".

rownames

name for the output column of row names (a string). Default is "rownames".

colnames

name for the output column of column names (a string). Default is "colnames".

rowtypes

optional name for the output column of row types (a string). Default is "rowtypes".

coltypes

optional name for the output column of column types (a string) Default is "coltypes".

drop

if specified, the value to be dropped from output, For example, drop = 0 will cause 0 entries in the matrices to be deleted from output. If NA, no values are dropped from output. Default is NA.

Details

Names for output columns are specified in the rownames, colnames, rowtypes, and coltypes, arguments. The entries of the matsindf-style matrices are stored in an output column named values.

Value

a tidy data frame containing expanded matsindf-style matrices

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
library(magrittr)
library(dplyr)
library(matsbyname)
ptype <- "Products"
itype <- "Industries"
tidy <- data.frame(Country  = c( "GH",  "GH",  "GH",  "GH",  "GH",  "GH",  "GH",
                                 "US",  "US",  "US",  "US", "GH", "US"),
                  Year      = c( 1971,  1971,  1971,  1971,  1971,  1971,  1971,
                                 1980,  1980,  1980,  1980, 1971, 1980),
                  matrix    = c(  "U",   "U",   "Y",   "Y",   "Y",   "V",   "V",
                                  "U",   "U",   "Y",   "Y", "eta", "eta"),
                  row       = c(  "c1",  "c2",  "c1",  "c2",  "c2",  "i1",  "i2",
                                  "c1",  "c1",  "c1",  "c2", NA, NA),
                  col       = c(  "i1",  "i2",  "i1",  "i2",  "i3",  "c1",  "c2",
                                  "i1",  "i2",  "i1",  "i2", NA, NA),
                  rowtypes  = c( ptype, ptype, ptype, ptype, ptype, itype, itype,
                                 ptype, ptype, ptype, ptype, NA, NA),
                  coltypes  = c(itype, itype, itype, itype, itype, ptype, ptype,
                                itype, itype, itype, itype, NA, NA),
                  vals  = c(    11  ,  22,    11 ,   22 ,   23 ,   11 ,   22 ,
                                11 ,   12 ,   11 ,   22,   0.2, 0.3)) %>%
  group_by(Country, Year, matrix)
mats <- collapse_to_matrices(tidy, matnames = "matrix", rownames = "row", colnames = "col",
                             rowtypes = "rowtypes", coltypes = "coltypes",
                             matvals = "vals") %>%
  ungroup()
expand_to_tidy(mats, matnames = "matrix", matvals = "vals",
                     rownames = "rows", colnames = "cols",
                     rowtypes = "rt",   coltypes = "ct")
expand_to_tidy(mats, matnames = "matrix", matvals = "vals",
                     rownames = "rows", colnames = "cols",
                     rowtypes = "rt",   coltypes = "ct", drop = 0)

MatthewHeun/matsindf documentation built on Nov. 12, 2018, 2:32 p.m.