as_array3 function

Convert between 2D tabular objects and 3D arrays

Convert between 2D tabular objects and 3D arrays

Convert a 2-dimensional tabular object where each row stores a flattened square matrix to a 3-dimensional array of square matrices and vice versa. This allows multiple transition matrices to be stored as either tabular objects (e.g., matrices, data frames, etc) or as arrays.

as_array3(x) as_tbl2( x, output = c("data.table", "data.frame", "matrix", "tpmatrix"), prefix = "", sep = "_" )

Arguments

  • x: For as_array3() a 2-dimensional tabular object where each row stores a flattened square matrix ordered rowwise. Reasonable classes are matrix, data.frame, data.table, and tpmatrix. For as_tbl2() a 3-dimensional array where each slice is a square matrix.
  • output: The class of the object returned by the function. Either a data.table, data.frame, matrix, or tpmatrix.
  • prefix, sep: Arguments passed to tpmatrix_names() for naming the transition probability columns. The states argument is based on the column names (i.e., names of the second dimension) of array; if NULL, then states are named s1, ..., sh where h is the number of states.

Returns

For as_array3() a 3-dimensional array of square matrices; for as_tbl2() a 2-dimensional tabular object as specified by output.

Examples

p_12 <- c(.7, .6) pmat <- tpmatrix( C, p_12, 0, 1 ) pmat as_array3(pmat) as_array3(as.matrix(pmat)) as_tbl2(as_array3(pmat)) as_tbl2(as_array3(pmat), prefix = "p_", sep = ".")

See Also

tpmatrix