CRAN status lifecycle Project Status: Active – The project has reached a stable, usable state and is being actively developed. R-CMD-check Codecov test coverage DOI


Statement of need

Matrices are important mathematical objects, and they often describe networks of flows among nodes. The power of matrices lies in their ability to organize network-wide calculations, thereby simplifying the work of analysts who study entire systems.

But wouldn’t it be nice if there were an easy way to create R data frames whose entries were not numbers but entire matrices? If that were possible, matrix algebra could be performed on columns of similar matrices.

That’s the reason for matsindf. It provides functions to convert a suitably-formatted tidy data frame into a data frame containing a column of matrices.

Furthermore, matsbyname is a sister package that

When used together, matsindf and matsbyname allow analysts to wield simultaneously the power of both matrix mathematics and tidyverse functional programming.


You can install matsindf from CRAN with:


You can install a recent development version of matsindf from github with:

# install devtools if not already installed
# install.packages("devtools")
# To build vignettes locally, use
devtools::install_github("MatthewHeun/matsindf", build_vignettes = TRUE)


The functions in this package were used in Heun et al. (2018).

More Information

Find more information, including vignettes and function documentation, at


Heun, Matthew Kuperus, Anne Owen, and Paul E. Brockway. 2018. “A Physical Supply-Use Table Framework for Energy Analysis on the Energy Conversion Chain.” Applied Energy 226 (September): 1134–62.