MyNixOS website logo
Description

Statistical and Machine Learning Engine for Long-Term Natural Resource Management Data.

A comprehensive toolkit for statistical and machine learning-based analysis of long-term Natural Resource Management (NRM) datasets. Integrates formula-driven approaches, statistical inference, and machine learning (ML) models for advanced analytics. Modules cover trend and structural analysis (Mann-Kendall test, slope estimation, Chow test, structural break detection), multivariate system modelling (Partial Least Squares (PLS), Structural Equation Modelling (SEM)), response curve optimisation, time-series forecasting (Autoregressive Integrated Moving Average (ARIMA), hybrid models), panel data and treatment effects (Difference-in-Differences (DiD), causal machine learning), uncertainty and sensitivity analysis (bootstrap, Monte Carlo, Bayesian), and automated model selection and performance comparison. Designed for long-term datasets covering soil, water, crop, and climate domains. Key references: Mann and Kendall (1945) <doi:10.2307/1907187>; Sen (1968) <doi:10.1080/01621459.1968.10480934>; Bai and Perron (2003) <doi:10.1002/jae.659>; Rosseel (2012) <doi:10.18637/jss.v048.i02>; Croissant and Millo (2008) <doi:10.18637/jss.v027.i02>.

NRMstatsML

Lifecycle: experimental License: GPL v3

NRMstatsML is a comprehensive R package providing a statistical and machine learning engine for long-term Natural Resource Management (NRM) datasets. It integrates formula-driven approaches, statistical inference, and machine learning for reproducible analytics across soil, water, crop, and climate domains.


Installation

# Install from CRAN
install.packages("NRMstatsML")

Core Modules

ModuleKey FunctionsDescription
trendMLnrm_trend(), nrm_mann_kendall(), nrm_sens_slope(), nrm_structural_break()Monotonic trend tests, slope estimation, structural break detection
multiSysMLnrm_multivariate(), nrm_pls(), nrm_sem()OLS, PLS, Structural Equation Modelling
responseMLnrm_response_curve(), nrm_optimize_input()Yield-response curves and input optimisation
tsMLnrm_forecast(), nrm_arima()ARIMA/SARIMA forecasting with prediction intervals
panelMLnrm_panel(), nrm_did()Fixed/random effects, difference-in-differences
uncertaintyMLnrm_uncertainty(), nrm_bootstrap(), nrm_monte_carlo()Bootstrap, Monte Carlo, Bayesian uncertainty
autoMLnrm_automl(), nrm_benchmark()Automated model selection and benchmarking

Quick Start

library(NRMstatsML)

# Load synthetic example data
data(nrm_example)

# 1. Validate data
nrm_data_check(nrm_example)

# 2. Trend analysis
trend <- nrm_trend(nrm_example, time_var = "year", value_var = "crop_yield")
print(trend)
nrm_plot(trend)

# 3. Yield-response curve
rc  <- nrm_response_curve(nrm_example, input_var = "N",
                           response_var = "crop_yield", type = "quadratic")
opt <- nrm_optimize_input(rc, price_ratio = 0.6)
print(opt)

# 4. Forecast next 5 years
fc <- nrm_forecast(nrm_example, value_var = "crop_yield", horizon = 5)
nrm_plot(fc)

# 5. Bootstrap uncertainty of mean yield
bs <- nrm_bootstrap(nrm_example,
                    stat_fn = function(d) mean(d$crop_yield),
                    n_iter  = 1000)
print(bs)

Design Principles

  • Consistent API: every module follows nrm_<verb>() naming.
  • CRAN compliant: no global state, explicit imports, documented datasets.
  • Reproducible: set seed arguments for deterministic results.
  • Modular: use individual module functions or the high-level wrappers.
  • ggplot2-based visualisation: all nrm_plot() methods return editable ggplot objects.

Citation

citation("NRMstatsML")

License

GPL (>= 3). See the GNU General Public License for details.

Metadata

Version

0.1.4

License

Unknown

Platforms (79)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    wasip1
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arc-linux
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • sh4-linux
  • vc4-none
  • wasm32-wasip1
  • wasm64-wasip1
  • x86_64-cygwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows