+++ /dev/null
-### This function is a copy of spdep:::lagImpactMat
-### It has been copied because lagImpactMat is not exported by spdep
-### There is no help available for lagImpactMat in spdep,
-### so I have not provided any help, and I am unable to trace the author
-###
-lagImpactMat <- function (x, reportQ = NULL)
-{
- if (is.null(x$res)) {
- direct <- x$direct
- indirect <- x$indirect
- total <- x$total
- } else {
- direct <- x$res$direct
- indirect <- x$res$indirect
- total <- x$res$total
- }
- mat <- cbind(direct, indirect, total)
- colnames(mat) <- c("Direct", "Indirect", "Total")
- rownames(mat) <- attr(x, "bnames")
- if (!is.null(reportQ) && reportQ) {
- if (is.null(x$res)) {
- Qobj <- attr(x, "Qres")
- } else {
- Qobj <- attr(x$res, "Qres")
- }
- if (is.null(Qobj)) {
- warning("No impact components to report")
- } else {
- if (length(attr(x, "bnames")) == 1L) {
- Qobj$direct <- matrix(Qobj$direct, ncol = 1)
- Qobj$indirect <- matrix(Qobj$indirect, ncol = 1)
- Qobj$total <- matrix(Qobj$total, ncol = 1)
- }
- colnames(Qobj$direct) <- attr(x, "bnames")
- colnames(Qobj$indirect) <- attr(x, "bnames")
- colnames(Qobj$total) <- attr(x, "bnames")
- rownames(Qobj$direct) <- paste0("Q", 1:nrow(Qobj$direct))
- rownames(Qobj$indirect) <- paste0("Q", 1:nrow(Qobj$indirect))
- rownames(Qobj$total) <- paste0("Q", 1:nrow(Qobj$total))
- attr(mat, "Qobj") <- Qobj
- }
- }
- mat
-}