It is common place in psychological networks to compute “confidence” intervals. This can also be done in BGGM. In a Bayesian context, they are called credible intervals. Note the intepretation also differs between confidence and credible intervals, but that is not something I discuss here (see google search).
First fit the model.
Next summarize the partial correlations.
summary_fit <- summary(fit, cred = 0.90)
# print
summary_fit
#> BGGM: Bayesian Gaussian Graphical Models
#> ---
#> Posterior Samples: 5000
#> Observations (n): 2709
#> Variables (p): 5
#> Edges: 10
#> ---
#> Call:
#> estimate(Y = Y, iter = 5000, analytic = FALSE)
#> ---
#> Estimates:
#>
#> Edge Estimate Est.Error Cred.lb Cred.ub
#> 1--2 -0.240 0.018 -0.270 -0.210
#> 1--3 -0.108 0.019 -0.139 -0.076
#> 2--3 0.286 0.017 0.257 0.315
#> 1--4 -0.007 0.019 -0.040 0.024
#> 2--4 0.165 0.019 0.134 0.195
#> 3--4 0.178 0.019 0.147 0.208
#> 1--5 -0.009 0.019 -0.041 0.023
#> 2--5 0.156 0.019 0.126 0.186
#> 3--5 0.359 0.017 0.331 0.386
#> 4--5 0.122 0.019 0.090 0.154
#> ---
The object summary_plot
can then be further customized. The following is a simple example.
library(ggplot2)
# plot
plot(summary_fit, width = 0) +
# flip
coord_flip() +
# change the theme
theme_bw() +
# remove legend
theme(legend.position = "none",
panel.grid = element_blank()) +
# add line at zero
geom_hline(yintercept = 0,
linetype = "dotted",
alpha = 0.30) +
# change color to black border
geom_point(color = "black", size = 2) +
# make inner point white
geom_point(color = "white", size = 1.75) +
# color blind
scale_color_manual(values = c("#999999", "#CC79A7"))
When there are many partial correlations, it might be useful to add scale_x_discrete(labels = NULL)
which will remove the names.