Skip to contents

Estimates a graph for which there are no observation based on a previously fitted CVN model

Usage

interpolate(cvn, weights, truncate = NULL)

Arguments

cvn

A CVN fit with \(m\) graphs

weights

A vector of length \(m\) with the regression coefficients

truncate

Truncation value. When a value in the precision matrix is considered 0. If NULL, the same truncation is used as for the fitted CVN model (Default)

Value

A 'cvn_interpolated' object, which is a list with

adj_matrices

A list of adjacency matrix. One for each pair of \((\lambda_1, \lambda_2)\) values. The entries are 1 if there is an edge, 0 otherwise. The matrices are sparse using package Matrix

m

Number of graphs

p

Number of variables

weights

The weights used for interpolation

truncate

Truncation value

n_lambda_values

Total number of \((\lambda_1, \lambda_2)\) value combinations

results. It consists of two columns:

lambda1

\(\lambda_1\) value

lambda2

\(\lambda_2\) value

Examples

path <- system.file("cvnfit.RData", package = "CVN")
load(path)

interpolate <- interpolate(fit, c(0,0,0,0,0,0,0,0.5,0.5), truncate = 0.05)
fit10 <- combine_cvn_interpolated(fit, interpolate)
fit10 <- visnetwork_cvn(fit10)
#> Warning: Works only if the original cvn was combined with an interpolated cvn using 
#>             the function 'combine_cvn_interpolated'.
#> Creating visNetwork plots for the CVN...
#> 
#> Number of graphs:                  10
#> Number of different lambda values: 1
#> Creating nodes...
#> Determining the 'core graphs'...
#> Create the subset of edges in the core graphs...
#> 
#> 
#> Create plots given the determined edges...
#> 

if (requireNamespace("htmltools", quietly = TRUE)) {
htmltools::browsable(htmltools::tagList(
  htmltools::div(style = "display: grid; grid-template-columns: repeat(3, 1fr); 
                 column-gap: 1px; row-gap: -10px",
    fit10$plots[[1]][8:10])))
} else {
plot10$plots[[1]][8:10]
}