View source: R/network_to_SEset.R
network_to_SEset | R Documentation |
Takes a precision matrix and generates the SE-set, a set of statistically equivalent path models. Unless otherwise specified, the SEset will contain one weights matrix for every possible topological ordering of the input precision matrix
network_to_SEset( omega, orderings = NULL, digits = 20, rm_duplicates = FALSE, input_type = "precision" )
omega |
input p \times p precision matrix |
orderings |
An optional matrix of n orderings from which to generate the SE-set. Must be in the form of a p \times n matrix with each column a vector of dimension names in the desired order. If unspecified, all p! possible orderings are used |
digits |
desired rounding of the output weights matrices in the SE-set, in decimal places. Defaults to 20. |
rm_duplicates |
Logical indicating whether only unique DAGs should be returned |
input_type |
specifies what type of matrix 'omega' is. default is "precision", other options include a matrix of partial correlations ("parcor") or a model implied covariance or correlation matrix "MIcov" |
a p! \times p matrix containing the SE-set (or n \times p matrix if a custom set of n orderings is specified). Each row represents a lower-triangular weights matrix, stacked column-wise.
ryan2019SEset
\insertRefshojaie2010penalizedSEset
\insertRefbollen89semSEset
network_to_path
, reorder_mat
, order_gen
# first estimate the precision matrix data(riskcor) omega <- (qgraph::EBICglasso(riskcor, n = 69, returnAllResults = TRUE))$optwi # qgraph method estimates a non-symmetric omega matrix, but uses forceSymmetric to create # a symmetric matrix (see qgraph:::EBICglassoCore line 65) omega <- as.matrix(Matrix::forceSymmetric(omega)) # returns the precision matrix SE <- network_to_SEset(omega, digits=3) # each row of SE defines a path-model weights matrix. # We can extract element 20 by writing it to a matrix example <- matrix(SE[20,],6,6) # Example path model can be plotted as a weighted DAG pos <- matrix(c(2,0,-2,-1,-2,1,0,2,0.5,0,0,-2),6,2,byrow=TRUE) # qgraph reads matrix elements as "from row to column" # regression weights matrices are read "from column to row" # path model weights matrix must be transposed for qgraph qgraph::qgraph(t(example), labels=rownames(riskcor), layout=pos, repulsion=.8, vsize=c(10,15), theme="colorblind", fade=FALSE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.