p_prod3() is renamed to pprodnormal3() to match the existing
pprodnormal()/qprodnormal() family. p_prod3() remains available as a
silent (non-warning) alias and will gain a formal deprecation warning in a
future release.
ProductNormal2() remains available but is superseded by ProductNormal()
for direct construction; internal callers now use ProductNormal()
directly.
The ci() generic's dispatch argument is renamed from mu to object for
consistency with the package's other S7 generics (cdf(), dist_quantile()).
This only affects callers using ci(mu = ...) as a named argument;
positional calls (ci(mu, ...)) are unaffected.
Undocumented internal helpers (validate_ProductNormal(),
is_valid_for_computation(), ProductNormal_from_lavaan()) are now hidden
from the package documentation index (@noRd); they remain available
internally but are not part of the public API.
| Old | New |
|-----|-----|
| p_prod3(q, mean, cov, ...) | pprodnormal3(q, mean, cov, ...) |
| ci(mu = ..., Sigma = ..., quant = ...) | ci(..., Sigma = ..., quant = ...) (positional) |
@examples to all exported functions/generics that previously
lacked them, addressing goodpractice::gp() advisories ahead of CRAN
resubmission.ProductNormal3 for sequential indirect effects of the form
a1 * a2 * b, with print(), cdf(), confint(), and ci() methods.p_prod3() computes P(a1 * a2 * b <= q) via the
conditional-expectation dimension-reduction double integral (Tofighi, 2026).cubature::hcubature; degenerate covariances are
reduced to the existing two-variable product-normal CDF.cubature (>= 2.1.0) to Imports.Remotes: data-wise/medfit; medfit now resolves from CRAN. Pinned Suggests: medfit (>= 0.2.0).ci() for medfit MediationData/SerialMediationData now extracts the path
covariance by parameter name and uses the full covariance matrix (including
off-diagonals) for both simple and serial mediation. Removed the previous
positional/value-matching heuristics and the independence/diagonal fallbacks,
which could silently produce incorrect intervals; unresolved path labels now
raise an informative error.medfit::extract_mediation()
produces a SerialMediationData for both lavaan (ordered mediator vector)
and lm/glm (mediator_models) chains, and ci() consumes it via the
documented d1, d2, ... path-name contract. Added integration tests that fit a
real model, extract, and run ci() end-to-end (skipped when medfit < 0.2.0).ubuntu-latest (devel) and ubuntu-latest (oldrel-1) configurations--ignore-vignettes flag to skip vignette validation during CI checksreexports topic from _pkgdown.yml reference indextidy topic to _pkgdown.yml reference index^STATUS\.md$ to match ecosystem standardsubuntu-latest (devel) and ubuntu-latest (oldrel-1) configurations--ignore-vignettes flag to skip vignette validation during CI checksreexports topic from _pkgdown.yml reference indextidy topic to _pkgdown.yml reference index^STATUS\.md$ to match ecosystem standardse1071, modelr, and generics packages are no longer required..skewness(), .kurtosis(), and .resample_bootstrap() functions to replace external dependencies.tidy() generic instead of re-exporting from generics.R-CMD-check.yaml workflow for multi-platform testing (macOS, Windows, Ubuntu with R devel/release/oldrel).test-coverage.yaml workflow for Codecov integration.VignetteBuilder: knitr to DESCRIPTION for proper vignette building.ProductNormal: Represents the distribution of the product of normal random variables.MBCOResult: Encapsulates results from MBCO tests.cdf(), dist_quantile(), ci(), print(), summary(), show().print, summary, show) for meaningful output.type = "mc").ProductNormal(mu = c(0.3, 0.4, 0.5), Sigma = diag(3)) for three-way products..compute_ci_dop(), .compute_ci_mc(), .compute_ci_asymp(), .compute_cdf_dop(), .compute_cdf_mc(), .compute_quantile_dop(), .compute_quantile_mc().ProductNormal objects natively.medci(), pprodnormal(), qprodnormal()) convert parameters and dispatch to S7 core.ci() Functionci() to S7 generic with methods for:
numeric: Legacy support for direct coefficient/covariance input.lavaan: Automatic extraction and CI computation for indirect effects.ProductNormal: Native S7 class support.ab := a*b) in lavaan models.mu for better legacy compatibility.mbco() to S7 generic with method for MxModel objects.MBCOResult S7 objects with properties: statistic, df, p_value, type.$, [[, names) for backward-compatible list-style access (e.g., result$chisq, result$p).checkmate package across all functions.match.arg() for categorical arguments.print(), summary(), and show() methods.ProductNormal displays: distribution type, means, covariance matrix, SDs, and correlations.MBCOResult displays: test type, statistics, p-values with significance levels, and interpretation.quantile() generic to dist_quantile() to avoid masking stats::quantile().print(), summary(), show() now properly register with base generics.S7::S4_register() for formal generic support.doParallel, foreach, methods).alpha and level parameters.type parameter (accepts "MC", "mc", "DOP", "dop", etc.).ci() method (now returns list with CI, Estimate, SE components).mbco function documentation.checkmate for robust input validation.Fixed an issue where the type="all" in the medci function would generate an error "object 'MeekerCI' not found".
changed the dependency version for grDevices to >= 3.5 in the description file.
*New parametric and non-parametric MBCO test, using mbco function.
'medci' function output structure is changed. For each 'type', it produces a 'list' of '(1-alpha/2)% CI', 'Estimate', and 'SE'. See help(ci) for more information.
Two functions 'pMC' and 'qMC' are added.
for medci(), type=’prodclin’ is replaced with ’dop’.