Several tools for handling block-matrix diagonals and similar constructs are implemented. Block-diagonal matrices can be extracted or removed using two small functions implemented here. In addition, non-square matrices are supported. Block diagonal matrices occur when two dimensions of a data set are combined along one edge of a matrix. For example, trade-flow data in the 'decompr' and 'gvc' packages have each country-industry combination occur along both edges of the matrix.
Block-diagonal matrices can be extracted or removed using two small functions implemented here, in addition, non-square matrices are supported.
Block diagonal matrices occur when we combine two dimensions of a data set along one edge of a matrix. For example, trade-flow data in the decompr and gvc package have each country-industry combination occur on each edge of the matrix.
The stable version of the
diagonals package can be install from CRAN using:
The development version, to be used at your peril, can be installed using:
if (!require('devtools')) install.packages('devtools')devtools::install_github("bquast/diagonals")
Following installation, the package can be loaded using:
For general information on using the package, please refer to the help files .
help("diagonals")help(package = "diagonals")
For examples of usage, see the function specific help page.
In addition to the help files we provide long form examples in the vignettes .
An overview of the changes is available in the NEWS file.
There is also a blog post with information on my personal website.
Development takes place on the GitHub page.
Bugs can be filed on the issues page on GitHub.
replace all previous functions with fatdiag
add fatdig <- function
add support for replacement other than 0 (zero)
break out rectangles to separate functions: rectangle_matrix() and minus_rectangle_matrix()
block_matrix(): for extracting block diagonals
minus_block_matrix(): for dropping block diagonals
add support for non-square matrices