Skip to content

idiographic

0.3.4Package record

Person-Specific (Idiographic) and Heterogeneous Complex Networks

1packages depend
845downloads / year
86.1%test coverage
13/13flavors OK

Overview

About

Person-specific and within-person network estimation from intensive longitudinal and panel data. Estimators include ordinary vector autoregression (VAR), graphical vector autoregression (graphical VAR), multilevel vector autoregression (mlVAR), rolling ordinary and graphical VAR, native Bayesian VAR and multilevel Bayesian VAR, unified Structural Equation Modeling (uSEM), and Group Iterative Multiple Model Estimation (GIMME). All estimators are native clean-room implementations. All functions are validated against authoritative literature. Also provides preprocessing audits, edge-stability diagnostics, model-comparison reports, and rolling forecast validation. Methods are described in doi:10.1007/978-3-031-95365-1_20 and doi:10.1080/00273171.2018.1454823.

Changes in 0.3.4

New features

  • The pure-R graphical-lasso kernel that powers fit_graphical_var() is now a supported public API: glasso_fit(), glasso_path(), and glasso_kkt(). glasso_fit() returns a glasso_result whose $wi and $w elements are named exactly as glasso::glasso()'s, so existing call sites port unchanged, and it supports element-wise penalty matrices and hard zero constraints in addition to a scalar penalty. glasso_kkt() certifies a solution from the graphical-lasso stationarity conditions rather than against another solver. Both results have print() and tidy as.data.frame() methods. This exists so sibling packages can drop their own copies of the same kernel and depend on this one; see OFFLOAD.md in the repository.
  • matrices() gains a print argument. The default (print = TRUE) is unchanged: it prints each matrix and returns the list invisibly. With print = FALSE the function prints nothing and returns the list visibly, which is the form dependent packages and resampling loops need. Threaded through every matrices() method, including those that delegate to another method. print follows ... in every method, so it must be named in full and can never be matched positionally or by partial name.
Show all changes in 0.3.4Hide the rest of the changes in 0.3.4

Bug fixes

  • glasso_kkt() no longer reports optimal zero-constrained fits as non-optimal. At an entry hard-constrained by zero, the inactive-edge condition |W_ij - S_ij| <= rho_ij does not apply: the equality constraint carries its own Lagrange multiplier, which absorbs the residual. Constrained pairs are now excluded from the check. A fit matching glasso's Fortran kernel to 2e-12 previously certified as violating optimality by 0.028.
  • glasso_fit() now rejects a covariance matrix that is not positive semi-definite (classed condition idiographic_not_psd). A negative eigenvalue produced a precision matrix with a negative diagonal, from which every partial correlation was NaN. Singular but positive semi-definite covariances remain valid input. The tidy accessor also refuses a precision matrix with a non-positive diagonal (idiographic_bad_precision) rather than letting stats::cov2cor() warn and emit NaN weights.
  • An asymmetric element-wise penalty matrix is now rejected by glasso_fit() and by fit_graphical_var()'s regularize_mat_kappa. The penalty on edge (i, j) is a single scalar over a symmetric Theta, so an asymmetric penalty is ill-posed rather than stricter; previously it was accepted and produced a fit that failed the package's own optimality check.
  • glasso_kkt() validates penalize_diagonal instead of letting isTRUE() silently map NA and other invalid values to FALSE, and warns (idiographic_glasso_kkt_override) when a supplied rho or penalize_diagonal differs from the one the fit was made with, since the returned violation then certifies a different problem.
  • The internal graphical-lasso optimality checker used to measure the *unpenalised* diagonal stationarity condition (W_ii = S_ii) even for fits made with penalize.diagonal = TRUE, whose condition is W_ii - S_ii = rho. It therefore reported a spurious violation of exactly rho for every such fit — including glasso's own Fortran output, which is how this was found. It now takes the diagonal-penalty flag into account. No estimator result and no previously published number changes; only the diagnostic was wrong.

Documentation

  • matrices() now documents that it is a display verb by default, and points at print = FALSE for programmatic extraction.
  • The three most computationally expensive vignettes -- Graphical VAR, Bayesian VAR/DSEM, and GIMME -- are now pkgdown articles rather than installed vignettes. Their content is unchanged and they remain published at <https://pak.dynasite.org/idiographic/>, but they are no longer rebuilt during R CMD check. Rebuilding all ten vignettes took 574 seconds on Windows R-devel (68% of the total check time, against CRAN's 10-minute guideline); these three accounted for the large majority of it. The remaining seven vignettes are renumbered 1-7.

From NEWS.md in the release

Install

Health

CRAN checks
13OK
Slowest check: 5.5 min · r-oldrel-windows-x86_64
Status changes
  • OK13 OKNow
  • OK8 OK2026-08-04
Advisories

none known

Documentation

In release 0.3.4
READMEYes · 883 wordsVignettesYes · 7 · dynamicNEWSYes · 100% structured · mentions 0.3.4Citation fileNoWebsiteYes · pkgdown

The repository also keeps web-only articles.

Help pages
73includes a package overview page
Examples that run
70%30 run in a plain check (1 of them under a condition) · 12 only when donttest examples are enabled (R CMD check --as-cran) · 1 never run
Exported functions with examples
100%
Documented parameters
92%
Return-value docs
100%
Help pages citing references
3%

Downloads

845
CRAN downloads in the past year
Rank #13,851 · ~2/day · ~70/mo
Daily download trend is not available in this view yet.
27930 days
84590 days
8451 year
Compare downloads with other packages →
Also on25 r2u4 autocran

Repository

2Stars
0Forks
0Open issues
0Open PRs
0Releases
26Commits
1Commit identities
26 commits · Last activity 2026-08-23
Responsiveness
not measured

Commits over time

2026-08-09 · 222026-09-15 · 26
PracticesBeta

5 development-tooling and community-health practices detected across 2 families in the upstream repository

Checks run against github.com/mohsaqr/idiographic on 2026-10-18.

Continuous integration (2)
GitHub ActionsR CMD check workflow

The R CMD check workflow runs on Linux

Docs source (3)
pkgdown

GitHub Pages site last deployed 2026-10-18 · The repository has a site deploy workflow

pkgdown site last built 2026-10-18

How this is detected·Detection ruleset v3 (2026-09-26)

Dependencies

Declared dependencies
8 external dependencies (excludes base and recommended)

Installing idiographic adds no packages beyond those that come with R.

Depends (1)
R >= 4.1
Imports (3)
statsutilsparallel
LinkingTo (0)
none
Enhances (0)
none
Reverse dependencies
1direct
1indirect
Imports 1
Depends, Imports or LinkingTo, most downloaded first

Datasets

People & History

People (2)
Author, Maintainer since 0.3.2 (2026), Copyright holder
Releases (2)

Pick two releases to compare their code metrics.

  • 0.3.4Latest
    record
    2026-08-24 · current release · diff ↗ ·
    added 3 exports
    glasso_fit, glasso_kkt, glasso_path
  • 0.3.2
    record
    2026-08-03
  • R
    R 4.6.0 released · 2026-04-24

Package metadata

First published
2026-08-03
Total releases
2 / 1 yrs
License
GPL-3 OSI
Minimum R
≥ 4.1
Bundled data
90 KB / 2 files
Download size
1.5 MB

Cite

Cite this package

Run in R for the authors' preferred citation:

citation("idiographic")
Saqr, M., & López-Pernas, S. (2026). idiographic: Person-Specific (Idiographic) and Heterogeneous Complex Networks (Version 0.3.4) [Computer software]. https://doi.org/10.32614/CRAN.package.idiographic

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.

APA

Balamuta, J. J. (2026). R Observatory: Metrics for idiographic version 0.3.4 [Data set]. HJJB, LLC. Data release v2026-10-22. https://doi.org/10.5281/zenodo.21843040

From data release v2026-10-22, which the citation names so these numbers can be found later. More on citing and the projects behind them.

Report a problem with this page →

Privacy choices

These apply to this browser and are stored on this device only. Nothing about your choice is sent to us.

Read the privacy policy