Psychological Network Analysis and Psychometric Insights
Overview
Estimates psychological networks by group for research in the social sciences and complements them with psychometric modeling. It summarises centrality and bridge centrality indices, evaluates the stability of edges and centrality from bootstrap results, refines items by the stability of exploratory graph analysis (EGA), and plots networks with the variance explained of each node. It also estimates an a priori sample size for EGA through Monte Carlo simulation and includes an interactive application to plan the sample size of a network study. Methods follow Epskamp, Borsboom and Fried (2018) doi:10.3758/s13428-017-0862-1 and Golino and Epskamp (2017) doi:10.1371/journal.pone.0174035.
First version submitted to CRAN.
plot_networks_by_group()restorespar()with an immediateon.exit()call and always closes its temporary device; the NetPowerLab app restores the user'spar()after the plot.- The SemPowerLab application (
run_sempowerlab()), added during development, moved to the PsyMetricTools package, which covers latent variable models.semPoweris no longer suggested.
New functions
- New
run_netpowerlab(): launches the NetPowerLab Shiny application, which plans the sample size of a network study by wrappingbootnet::netSimulator()andpowerly::powerly(). The reference network is built block by block (one block per instrument) and acts as the effect size; the app also writes the reproducible script and a draft of the Participants section.shiny,bslibandpowerlymoved into Suggests.
Show all changes in 1.0.1Hide the rest of the changes in 1.0.1
- New
sample_size_EGA_montecarlo(), withsample_size_EGA_control(),make_likert_thresholds(),plot_sample_size_EGA_montecarlo(),plot_power_curve_ci(),plot_failure_decomposition(),show_recommendation()andshow_plots(): a priori sample size for EGA through Monte Carlo simulation.
Bug fixes
- NetPowerLab ran powerly with an increasing curve for specificity, which falls as N grows. It now reports a recommendation only when powerly converged and the value is not at the top of the range, and the script and paragraph follow the network and settings actually simulated.
sample_size_EGA_control()merged nested lists:control = list(targets = list(ari = .80))silently kept the defaultedge_correlationtarget. Entries now replace the defaults.sample_size_EGA_montecarlo(): items that EGA leaves without a community no longer inflate the ARI; bootstrap resamples that never reach the target are treated as censored instead of dropped, so the upper CI bound is no longer understated; the bootstrap CI is reproducible withparallel = TRUE; a non positive definite partial network stops with a message that gives the admissible edge weight; the sensitivity sweep skips the edge-threshold runs when no target depends on them and compares every row with the main run.optimize_leiden_resolution()treated untested resolutions (after an early stop) as having TEFI = 0, could choose one of them as the best, and misaligned the models with their rows incomparisonwhen a resolution failed.plot_lvm()labelled residual correlations as residual partial correlations, and did not restore the graphical parameters.plot_latent_network_diagram()calledgetmatrix()without importing it, so psychonetrics models failed unless psychonetrics was attached.compute_netScores()wrote to the global environment when the stability step failed.convert_EGA_to_df()returnedNAas the algorithm for EGAnet 2.x results.mgm_error_metrics()passedlevelsinstead ofleveltomgm::mgm().
CRAN compliance
- No function assigns into the global environment: the
printmethods forsilent_ggandsilent_plotare now registered by the package. - Nothing is written to disk by default:
plot_latent_network_diagram()requiresoutput_path. - Functions report progress with
message()instead ofcat(), andcompute_netScores()only asks for dimension names in interactive sessions. - No fixed seeds inside functions:
boot_and_evaluate(),refine_items_by_stability()andcompute_netScores()default toseed = NULL; the user'sfutureplan is restored on exit; parallel defaults use at most 2 cores. - Every exported function documents its return value and has a runnable example.
reshape2andstringrare no longer needed;viridismoved to Suggests;psychonetricsadded to Suggests. Requires R >= 4.1.0.
From NEWS.md in the release
Install
Health
- OK10 OKNow
- OK6 OK2026-10-16
Documentation
- Help pages
- 51 (1 internal)
- Examples that run
- 82%40 run in a plain check (1 of them under a condition) · 9 only when donttest examples are enabled (R CMD check --as-cran)
- Exported functions with examples
- 100%
- Documented parameters
- 98%
- Return-value docs
- 100%
- Help pages citing references
- 2%
Downloads
Repository
Repository github.com/jventural/interconectar is linked, but repository-practices checks have not run for it yet.
Dependencies
Installing InterconectaR adds 197 packages (94 with compiled code, 149 MB of source tarballs). Heaviest: stringi 11 MB, ggplot2 6.0 MB, data.table 5.7 MB.
CRAN will archive these unless their check problems are fixed by the date shown. This package needs each one to install.
Code & Tests
People & History
- 1.0.1Latest2026-10-15 · current release ·
10 days in CRAN's queue
Listed in CRAN's incoming queue from 2026-10-05 20:05 to 2026-10-15 12:21 UTC, in 43 readings. - RR 4.6.0 released · 2026-04-24
Package metadata
- First published
- 2026-10-15
- Total releases
- 1 / 1 yrs
- License
- GPL (>= 3) OSI
- Minimum R
- ≥ 4.1.0
- Download size
- 125 KB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("InterconectaR")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-18, which the citation names so these numbers can be found later. More on citing and the projects behind them.