← Back to all sparks
S

spEDM

ANALYTICS
Velocity0.0

R package spEDM by stscl — release notes from GitHub.

Spatial causal discovery in R, one exposed method per release

causal-inferencespatial-analysisempirical-dynamic-modelingr-packagebreaking-changescpp-backend
Current state
spEDM brings empirical dynamic modeling to spatial data — cross mapping, convergent cross mapping and pattern causality over spatial vector and raster inputs, with the numerics in C++ behind S4 generics. The recent releases have exposed geographical pattern causality and spatially convergent partial cross mapping at the R level with vignettes, and 1.12 turns to consolidating the API. It is part of the stscl family alongside the temporal-domain tEDM, with which it shares both its C++ core and its maintainer.
Where it's heading
The cadence is steady and predictable: each release surfaces one more EDM method as an R-level API with a vignette, then spends the rest of its notes on parameter-handling consistency across the generics. Breaking changes are frequent and deliberate — argument renames, parameter reordering, NA-handling defaults — which reads as a package still settling its interface while the method surface expands. Shared changes appear in tEDM within days, so interface churn lands on both packages at once.
Prediction
Expect the next release to expose another causality variant at the R level with an accompanying vignette, and to continue renaming or reordering parameters toward consistency across the spatial and temporal packages.

Recent moves

  1. 4mo ago

    Data slicing for large-scale pattern causality, plus API breaks

    Adds library/prediction-set slicing so large-scale pattern causality computations become tractable, and allows asymmetric (E, tau, k) configurations in bidirectional analysis. The breaking half is larger: causality detection direction is realigned with variable naming, k is constrained to be at least E, NA_rm becomes na_rm and defaults to true, and conds in scpcm now takes condition variables in direct path order. Callers should expect to edit code.

    View source ↗
  2. 6mo ago

    spEDM 1.11

    Two fixes: default-initialization pollution from NaN-skipped elements in library and prediction sets, and missing string/utility includes that broke the macOS CRAN check. Build and edge-case hygiene between feature releases.

    View source ↗
  3. 6mo ago

    Spatially convergent partial cross mapping reaches the R API

    Another EDM method graduates from internal C++ to a documented R-level API with a vignette — the same pattern as the spatial logistic map in 1.7 and geographical pattern causality in 1.9. The remainder is console output trimming, include-order enforcement and optional white noise in the logistic map simulation.

    View source ↗
  4. 8mo ago

    Raster cross mapping with anisotropic embedding

    The heaviest recent release: geographical pattern causality gets its R API and vignette, and cross mapping extends to raster data with anisotropic embedding and variable sliding-window steps, plus mean-based and stacked spatial cross-sectional embeddings. Two breaking changes accompany it — internal case data removed and parameter order harmonised across the vector and raster S4 generics.

    View source ↗
  5. 11mo ago

    Configurable distance metrics and multithreaded distance computation

    Cross mapping gains configurable distance metrics and alternative spatial cross-sectional embedding styles, with multithreading added to distance-related computation for runtime. The same configurable-distance-metric change appears in sibling package tEDM within a week, confirming the shared core.

    View source ↗
  6. 1y ago

    Spatial logistic map exposed at the R level

    The spatial logistic map gets an R-level API and vignette, establishing the release pattern the following versions repeat. Four breaking changes ride along, including trend.rm giving way to detrend and a parameter rename in multiview().

    View source ↗