The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
magnitude_difference() compares the frequency (FTNA)
and probability (TNA) views of a transition network and quantifies the
per-edge discrepancy on a common scale, with five metrics, four
scalings, and two polar plot() portraits (stacked and
circular).persistent_homology(),
build_simplicial(type = "vr")) plus diagram tools
bottleneck_distance() and
persistence_landscape().compare_model() (with
netobject_group dispatch),
summary.netobject(), plot.net_comparison(),
and rename_models() for relabelling grouped network
objects.magnitude_difference(),
casedrop_reliability(), build_hypergraph(),
hypergraph_measures(), and cluster_data() were
previously absent.Remotes: field; cograph and
tna are available from CRAN, so no non-CRAN source pin is
needed.Followed codex_docs/audit_clustering and
codex_docs/audit_mcml recommendations across two modules.
Eleven of thirteen findings addressed; two deferred pending design
decisions on numeric semantics (directed = FALSE raw-data
MCML, MMM first-non-NA initial state).
cluster_network() now forwards distance-clustering
arguments (na_syms, weighted,
lambda, seed, q, p,
covariates) to build_clusters() instead of
silently passing them to build_network(). The split runs on
caller ... only — netobject build_args
continue to flow only to the build_network() step,
protecting attention-method (atna) network history from
being re-routed to weighted Hamming. (audit_clustering #1).auto_detect_clusters() (used by
build_mcml() and cluster_summary()) now
requires node_groups to carry a node identifier column when
shaped as a data.frame, or be a named atomic vector keyed by node label.
Previously, a bare cluster-only data.frame was read
positionally — silently mis-assigning nodes whenever
node_groups rows were in a different order than
x$nodes. (audit_mcml #1)build_clusters() now rejects all-missing input early
with a clear message instead of failing indirectly downstream in
pam/hclust. (audit_clustering #4)compare_mmm(return_fits = FALSE) — when
TRUE, the fitted net_mmm models are attached
as attr(result, "fits") keyed by k, so users
can pick the chosen model without re-running EM. Default behaviour
unchanged. (audit_clustering #6)build_clusters() validation messages now name the
offending argument ("'k' must be at least 2 (got k = 1)")
rather than dumping the failing predicate. Top-level type checks
switched to named-condition stopifnot() for the same
reason. (audit_clustering #2)summary.mcml() roxygen corrected — was claiming a
printing side effect that doesn’t exist. (audit_mcml #5)build_mcml() clusters = "<col>" mode
now documents its narrow contract: assigns each row’s group label to
both endpoints, so it only makes sense for within-group edge lists.
(audit_mcml #2)build_mcml() method parameter doc now
steers raw sequence / event-log inputs to "sum", since the
function counts observed transitions. Other methods are for weighted
edge lists or pre-existing matrices. (audit_mcml #4)as_tna.mcml() “Excluded Clusters” section corrected —
drop emits a warning() (was claimed silent) and only fires
for relative method (was claimed unconditional).
(audit_mcml #6)build_clusters() na_syms doc adds an
explicit “Missing-value distance rule” subsection: NA becomes a
comparable sentinel state, not pairwise deletion. (audit_clustering
#3)build_mmm() adds an “Initial states” section explaining
first-column-verbatim init and that build_mmm does NOT honor
build_clusters-style na_syms — only actual NA
cells become NA inits. (audit_clustering #5, doc-only path)node_groups alignment, label
propagation through state_distribution(),
as_tna.mcml() drop-warning fixture, MMM first-column NA
behaviour, and the four-way cluster_network() arg-routing
contract). Full sweep: 1628 / 1628 pass, 0 fail..extract_edges_from_matrix() no longer drops the
diagonal. Netobjects built via .wrap_netobject() (and
therefore everything from build_network(),
build_mcml(), bootstrap_network(),
build_mmm(), wtna(), as_tna())
now have $edges containing every non-zero matrix entry,
including self-loops. Previously $weights and
$edges were silently inconsistent on any matrix with a
non-zero diagonal, causing downstream consumers
(e.g. cograph::centrality() on an MCML macro) to
under-count node degree by 2.plot_state_frequencies() — native S3 generic for
state-frequency plots across netobject,
netobject_group, mcml, and htna.
Defaults to a marimekko (mosaic) layout where column widths reflect
per-group totals and segment heights reflect within-group state
proportions; also supports a colored-bars style and a per-group faceted
marimekko. Uses the package Okabe-Ito palette throughout.plot_mosaic() — exported low-level marimekko primitive
built on geom_rect() with cumulative-width /
cumulative-height geometry. Reusable for any tidy
data.frame(group, state, weight) input.passage_time() and markov_stability() now
raise an explicit error naming the dead state when a transition-matrix
row sums to zero, instead of silently propagating NaN
through eigen/solve. Zero rows mean the chain
is not ergodic; mean first passage times are undefined. Shared helper
.mpt_normalize_rows() factored out of both entry
points..prepare_association_input() no longer hard-rejects
non-square numeric matrices. For association methods (glasso, pcor, cor)
the netobject’s $data slot is a numeric matrix (not a
data.frame). Any downstream caller that row-subsetted $data
and re-invoked the estimator (centrality_stability(),
bootstrap_network(), reliability()) was
silently producing NULL centralities caught by tryCatch,
which surfaced as an “all centrality measures have zero variance”
warning or all-NaN correlations. The matrix branch now
recognises non-square input as raw observation data and recursively
re-enters through the data-frame branch. Square symmetric matrices
(pre-computed correlation / covariance) still go through the
symmetric-matrix path with the symmetry check intact.build_network() gains state_cols and
metadata_cols parameters (both default NULL).
Explicit overrides for the state-vs-metadata column classifier, which
previously used a “values-in-nodes” heuristic that silently
misclassifies metadata columns whose values coincide with node labels
(e.g. a condition column with levels
"A","B","C" when nodes are "A","B","C").
Validation: error on overlap between the two vectors, error on column
names not present in the input data. Forwarded through the
group = ... recursive dispatch so per-group calls honour
the override.plot.net_link_prediction() and plot.mcml()
removed. Nestimate is a computation engine — visualization is the user’s
concern. Previously both methods called cograph:: directly,
violating the stated dependency invariant (Nestimate -> cograph
direction forbidden). Users call cograph::splot(net) or
cograph::plot_mcml(fit) directly.wtna() @param type now flags that
type = "relative" combined with
method = "cooccurrence" produces an asymmetric matrix
(conditional co-occurrence given row state), not a symmetric undirected
weight matrix. Use type = "frequency" if symmetric counts
are required.NESTIMATE_EQUIV_TESTS=true):
test-equiv-permutation.R (vs. stats::p.adjust
+ hand-coded base-R permutation loop), test-equiv-mlvar.R
(vs. mlVAR::mlVAR at machine precision),
test-equiv-association-rules.R (vs.
arules::apriori), test-equiv-link-prediction.R
(vs. clean-room matrix algebra + igraph::similarity),
test-equiv-centrality-stability.R
(vs. bootnet::corStability). Total ~162k per-value
comparisons; all within machine precision except centrality-stability
which uses a documented drop-grid tolerance because bootnet uses
igraph path-based centrality and Nestimate uses
Floyd-Warshall.local_testing_and_equivalence/ validating HON, HONEM, HYPA,
MOGen, and hypergraph against pathpy 2.2.0 (via reticulate),
BiasedUrn, RSpectra, and HyperG.
Not shipped in the R-package tests/ directory; added to
.Rbuildignore.wtna, bootstrap_network,
build_clusters, sequence_plot) — systematic
cross-product tests over all combinations of mode parameters to catch
regressions where one branch silently diverges.build/vignette.rds (the vignette
index). Previous 0.4.2 build used
R CMD build --no-build-vignettes, which preserved pre-built
inst/doc/*.html but stripped the index — CRAN flagged
“VignetteBuilder field but no prebuilt vignette index.”test-gimme.R now skip_on_cran(). GIMME
tests fit a lavaan SEM per subject and took ~50s locally (2-3× on
Windows), pushing total check time to 11 min on win-devel. Full test
suite still runs in CI and local dev.--as-cran --run-donttest audit pass..Rcheck/ and Meta/ build
artifacts from working tree; added explicit
^Nestimate\.Rcheck$ and ^\.\.Rcheck$ entries
to .Rbuildignore as belt-and-suspenders against
repeat-submission contamination.inst/doc/ as required
by CRAN.skip_on_cran() to slow test block to keep check
time under 10 minutes.build_mlvar() — multilevel VAR networks from ESM/EMA
panel data. Estimates temporal (directed), contemporaneous (undirected),
and between-subjects (undirected) networks matching
mlVAR::mlVAR() at machine precision.build_mmm() / compare_mmm() — mixture of
Markov models via EM, with BIC/AIC/ICL model selection and optional
covariate regression.cooccurrence() — standalone co-occurrence network
builder supporting 6 input formats and 8 similarity methods.sequence_compare() — k-gram pattern comparison across
groups with optional permutation testing.sequence_plot() / distribution_plot() —
base-R sequence index and state distribution plots with clustering
integration.build_simplicial(), persistent_homology(),
q_analysis() — topological analysis of networks via
simplicial complexes.nct() — Network Comparison Test matching
NetworkComparisonTest::NCT() at machine precision.build_gimme() — group iterative mean estimation for
idiographic networks via lavaan.passage_time(), markov_stability() —
Markov chain passage times and stability analysis.predict_links() / evaluate_links() — link
prediction with 6 structural similarity methods.association_rules() — Apriori association rule mining
from sequences or binary matrices.predictability() — node predictability for
glasso/pcor/cor networks.build_hon(), build_honem(),
build_hypa(), build_mogen() — higher-order
network methods (HON, HONEM, HYPA, MOGen) now
cograph_network-compatible.human_long, ai_long — canonical
long-format human–AI pair programming interaction sequences (10,796
turns, 429 sessions).chatgpt_srl — ChatGPT-generated SRL scale scores for
psychological network analysis.trajectories — 138-student engagement trajectory matrix
(15 timepoints, 3 states).build_clusters(), network_reliability(),
permutation(), and prepare() replace earlier
internal names for consistency with the build_* naming
convention.mgm estimator added (method = "mgm") for
mixed continuous + categorical data via nodewise lasso, matching
mgm::mgm() at machine precision.build_mmm() no longer crashes on platforms where
parallel::detectCores() returns NA (macOS
ARM64 CRAN check failure).gimme convergence filter now correctly handles all
typed NA variants (NA_character_,
NA_real_, etc.).NaN values in numeric metadata aggregation
(all-NA sessions) normalized to NA_real_.hypa_score column renamed to
p_value..data pronoun added to
globalVariables().base::.rowSums() / base::.colSums()
replaced with rowSums() / colSums().dev.new() guarded by interactive() — no
side effects under knitr or CI.do.call(rbind, ...) replaced with
data.table::rbindlist() in mcml.R and
sequence_compare.R.hypa_score column to p_value
for clarity. Added $over, $under,
$n_over, $n_under fields to
net_hypa objects. Scores are now pre-sorted with anomalous
paths first.summary.net_hypa() now shows
over/under-represented paths separately with a configurable
n parameter.pathways.netobject(): New S3 method to extract
higher-order pathways directly from a netobject (builds HON or HYPA
internally).path_counts(): Now handles NAs in trajectories by
stripping them before k-gram counting.centrality_stability()
and boot_glasso() now accept a centrality_fn
parameter for external centrality computation.graphical_var() from scratch using
coordinate descent lasso + graphical lasso with EBIC model selection,
eliminating the graphicalVAR dependency.ml_graphical_var() — users should use
mlvar() for multilevel VAR.plot.netobject(),
plot.net_bootstrap(), plot.net_permutation(),
plot.net_hon(), plot.net_hypa() and
as_cograph() removed. Users call cograph plotting functions
directly on netobjects.attention estimator for decay-weighted transition
networks.build_network() with 8 built-in
estimators.bootstrap_network()), permutation
testing (permutation()), EBICglasso bootstrap
(boot_glasso()).c("netobject", "cograph_network") output for
cograph compatibility.These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.