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.
call_graph_fun() builds the call graph required by
all_paths_fun() automatically from an installed
R package (pkg argument) or a directory of
.R scripts (dir argument). Calls are detected
by static analysis (codetools::findGlobals(); the code is
never executed) and cyclomatic complexity is computed internally by
walking the abstract syntax tree of each function, following McCabe
(1976).read_call_graph() imports and validates the edge-list
and complexity tables described in the vignette (data frames or
.csv files), failing early with informative messages on
misspelled columns, functions missing from the complexity table,
duplicated names or non-numeric complexity values. Recommended entry
point for models written in other languages.node_exposure_fun() computes path-aware node
criticality: for each node, the number of entry-to-sink paths containing
it, its risk load (the sum of path risk over those paths) and
the corresponding shares and ranks, separating chokepoints (structurally
exposed functions) from hotspots (complex functions).fix_portfolio_fun() greedily selects the set of nodes
whose fixing most reduces total path risk (or the risk of the riskiest
path) under a budget of interventions, and returns the selection
together with a diminishing-returns plot. For the total-risk objective
the greedy solution carries the usual (1 - 1/e) submodular optimality
guarantee.rank_robustness_fun() quantifies how stable the
identification of the top-k riskiest paths (or nodes) is across the
uncertainty draws of uncertainty_fun(): per-item top-k
membership probability, rank quantiles and a consensus rank correlation.
rank_robustness_plot() visualizes the result.sensitivity_plot_fun() visualizes the Sobol’ indices
stored in the sensitivity_analysis column of
uncertainty_fun() output, either aggregated across all
nodes (boxplots) or for selected nodes with their confidence
intervals.read_call_graph(), node exposure,
budgeted fix portfolios, ranking robustness and Sobol’-index plotting,
with worked examples and figures.codetools added to Imports (ships with
R).NaN risk scores in
all_paths_fun() and uncertainty_fun() when a
weight is 0 and p < 0: zero-valued
normalized metrics produced 0 * Inf = NaN, which was then
silently dropped from path-level aggregation via
na.rm = TRUE. Zero-valued metrics are now replaced by
eps before the power mean is evaluated when
p < 0, matching the guard already used in the
p -> 0 (geometric mean) case.gini_index_fun() now returns 0 instead of
NaN for all-zero input (ineq::Gini() divides
by the mean). This also removes spurious NaN draws in the
gini_index column returned by
uncertainty_fun(), which occurred whenever a Sobol’ draw
pushed every node risk on a path to zero.uncertainty_fun() no longer errors when
all_paths_out$paths is empty (the documented output of
all_paths_fun() for graphs with no entry-to-sink paths).
Node-level results are computed and an empty paths tibble with the usual
columns is returned.slope_fun() now regresses the finite values against
their original positions instead of a compressed index, so removing
non-finite values no longer biases the estimated trend (e.g.,
slope_fun(c(1, NA, 3)) now returns 1 instead
of 2).geom_errorbar(height = ...) in
path_uncertainty_plot(): the argument is now
width, removing the deprecation warning issued by ggplot2
(height was translated to width).plot_top_paths_fun(): supplying a bare
paths tibble always failed with a misleading error because
the fallback deriving node metrics from graph was never
implemented. The function now clearly requires the full output of
all_paths_fun(), and the documentation has been updated
accordingly.purrr::flatten() with
unlist(recursive = FALSE) in
all_paths_fun().trans argument with
transform in scale_fill_viridis_c() within
path_fix_heatmap(); ggplot2 (>= 3.5.0) is now
required.params argument of the internal
risk_ua_sa_fun().lab_expr in the
documentation of plot_top_paths_fun().README.md and
inst/CITATION to the current version.scale_fill_manual() in
plot_top_paths_fun(): values are now named
(b1–b4) to guarantee correct
colour-to-category mapping, and drop = FALSE ensures all
four complexity categories always appear in the legend even when some
are absent from the plotted nodes.risk_form_variance_share_fun() has been removed. Its
functionality is fully subsumed by uncertainty_fun(), which
already computed identical Sobol’ sensitivity indices for all four
parameters as part of its output. Users should call
uncertainty_fun() directly and read the
sensitivity_analysis list-column from
$nodes.risk_form argument from
all_paths_fun() and uncertainty_fun(). The
additive formula (risk_form = "additive") is now subsumed
by the unified power-mean formula with p = 1
(default).uncertainty_fun() now returns tibbles instead of
data.table objects. The data.table package is
no longer a dependency."p" column bug in Sobol sample matrices
within uncertainty_fun(). The raw column from
sobol_matrices() is now named "p_raw"
internally so the rescaled p column is correctly used.@importFrom rlang %||% to
plot_top_paths_fun() (previously not imported).@importFrom declarations for
ggplot2::scale_fill_viridis_c,
ggplot2::geom_tile, stats::setNames,
ggplot2::geom_errorbar, ggplot2::geom_point,
and scales::breaks_pretty.nodes_tbl in
plot_top_paths_fun() that was missing
risk_score. The function now requires
all_paths_out to be the output of
all_paths_fun().\deqn{[0, 1]} in @param of
plot_top_paths_fun().uncertainty_fun() now returns Sobol’ sensitivity
indices labelled alpha, beta,
gamma, and p in the
sensitivity_analysis list-column of $nodes,
replacing the previous internal raw labels a_raw,
b_raw, c_raw, p_raw. Internally
the Sobol’ design still draws four independent U(0,1)
values (required by the quasi-random sequence); the raw draws are
normalised to weights and mapped to p ∈ [−1, 2] before the
model is evaluated. The documentation explains this in a dedicated
Parameter labels and the Sobol’ design section.slope_fun() now uses an analytic OLS formula instead of
stats::lm().slope_per_draw_from_nodes closure
in uncertainty_fun() and replaced it with calls to
slope_fun().validate_all_paths_out() used across multiple
functions.eps parameter to uncertainty_fun()
for forwarding to the risk evaluation.@return documentation for
path_cc in all_paths_fun().inst/CITATION to version 0.2.0.NAMESPACE.bak.!is.na(x) guard in
slope_fun() and gini_index_fun().vapply loops in
path_uncertainty_plot() with a single pass.all_paths_fun.R.testthat test suite with tests for
slope_fun, gini_index_fun,
all_paths_fun, and uncertainty_fun.path_fix_heatmap
function (from R_k to P_k).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.