You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add normalize_latent_structure(), which normalizes the latent structure of a
DAG while preserving the marginal model over observed variables.
Add minimal_d_separator(), which computes a minimal d-separator between
sets of nodes in a DAG, with support for mandatory inclusions and restrictions.
Add posteriors() query function, which is the dual of anteriors(). It
returns all nodes reachable by following paths where every edge is either
undirected or directed away from the source node. For DAGs, posteriors()
equals descendants(). For PDAGs and AGs, it includes both descendants and
nodes reachable via undirected edges.
You can now specify whether to use an open or closed graph definition for the
queries ancestors(), anteriors(), descendants(), and posteriors().
This can be set globally with caugi_options() or locally with the open = TRUE/FALSE argument. The default remains open = TRUE.
Add is_mpdag() query to check whether a PDAG is closed under Meek's
orientation rules (R1-R4), and meek_closure() to orient all implied edges
until Meek closure.
Rust remains the single source of truth for graph state. Graph properties
(simple, graph_class, nodes, edges) are sourced from the session.
A session is always created, including empty graphs (n = 0), which simplifies
property access.
Deprecated compatibility properties @.state, @name_index_map, @built,
and @ptr now warn on access and return NULL.
Deprecated compatibility constructor arguments build and state in caugi() now warn and are ignored.
The inplace parameter in verb functions (add_edges(), remove_edges(), set_edges(), add_nodes(), remove_nodes()). All graph modifications now use
copy-on-write semantics for consistency with R conventions. The parameter is
deprecated and ignored with a warning.
Added all.equal and compare_proxy methods for caugi objects to support
graph-content comparison in tests.
Add asp parameter to plot() for controlling the aspect ratio. When asp = 1,
the plot respects equal units on both axes, preserving the layout
coordinates. Works like base R's asp parameter (y/x aspect ratio) (#195).
Add pdag_to_dag() function that generates a random DAG consistent with a
given CPDAG/PDAG structure if possible (#201).
Bug Fixes
Fixed a bug causing plot() to use incorrect layout if node names were not
in the same order as in the graph object (#198).
Fixed set_edges() so that it correctly replaces symmetric edges in
simple graphs.
Deprecations
The parameter all in districts() has been deprecated. Use districts()
without arguments to get all districts.