{
  "_id": "6a1a1f6f1d7bb097a09cee99",
  "Package": "BORG",
  "Title": "Bounded Outcome Risk Guard for Model Evaluation",
  "Version": "0.3.1",
  "Authors@R": "person(\"Gilles\", \"Colling\", email = \"gilles.colling051@gmail.com\",\nrole = c(\"aut\", \"cre\", \"cph\"),\ncomment = c(ORCID = \"0000-0003-3070-6066\"))",
  "Description": "Comprehensive toolkit for valid spatial, temporal, and\ngrouped model evaluation. Automatically detects data\ndependencies (spatial autocorrelation, temporal structure,\nclustered observations), generates appropriate cross-validation\nschemes (spatial blocking, checkerboard, hexagonal, KNNDM,\nenvironmental blocking, leave-location-out, purged CV), and\nvalidates evaluation pipelines for leakage. Includes area of\napplicability (AOA) assessment following Meyer & Pebesma (2021)\n<doi:10.1111/2041-210X.13650>, forward feature selection with\nblocked CV, spatial thinning, block-permutation variable\nimportance, extrapolation detection, and interactive\nvisualizations. Integrates with 'tidymodels', 'caret', 'mlr3',\n'ENMeval', and 'biomod2'. Based on evaluation principles\ndescribed in Roberts et al. (2017) <doi:10.1111/ecog.02881>,\nKaufman et al. (2012) <doi:10.1145/2382577.2382579>, Kapoor &\nNarayanan (2023) <doi:10.1016/j.patter.2023.100804>, and\nLinnenbrink et al. (2024) <doi:10.5194/gmd-17-5897-2024>.",
  "License": "MIT + file LICENSE",
  "Language": "en-US",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "VignetteBuilder": "knitr",
  "URL": "https://github.com/gcol33/BORG, https://gillescolling.com/BORG/",
  "BugReports": "https://github.com/gcol33/BORG/issues",
  "Config/testthat/edition": "3",
  "Repository": "https://gcol33.r-universe.dev",
  "Date/Publication": "2026-05-29 11:16:31 UTC",
  "RemoteUrl": "https://github.com/gcol33/borg",
  "RemoteRef": "HEAD",
  "RemoteSha": "5e8b26b9aab5d8accf764c22a85038cc3006eba7",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-05-29 23:14:26 UTC",
    "User": "root"
  },
  "Author": "Gilles Colling [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0003-3070-6066>)",
  "Maintainer": "Gilles Colling <gilles.colling051@gmail.com>",
  "MD5sum": "e0ff605b99788f782ef9c59d5c53f8d5",
  "_user": "gcol33",
  "_type": "src",
  "_file": "BORG_0.3.1.tar.gz",
  "_fileid": "c4133cf8be84828ed9624654274a662ba8e4829af3694b48a951aeb012dfe26c",
  "_filesize": 1401377,
  "_sha256": "c4133cf8be84828ed9624654274a662ba8e4829af3694b48a951aeb012dfe26c",
  "_created": "2026-05-29T23:14:26.000Z",
  "_published": "2026-05-29T23:21:19.475Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78602384831,
      "time": 192,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7302949022"
    },
    {
      "job": 78602384880,
      "time": 227,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7302955264"
    },
    {
      "job": 78602384833,
      "time": 181,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7302946870"
    },
    {
      "job": 78602384861,
      "time": 195,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7302949673"
    },
    {
      "job": 78602384842,
      "time": 133,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7302937937"
    },
    {
      "job": 78602384832,
      "time": 365,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7302982261"
    },
    {
      "job": 78602384846,
      "time": 183,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7302947265"
    },
    {
      "job": 78602384871,
      "time": 250,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7302960213"
    },
    {
      "job": 78601881321,
      "time": 317,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7302912239"
    },
    {
      "job": 78602384819,
      "time": 132,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7302937444"
    },
    {
      "job": 78602384822,
      "time": 194,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7302949234"
    },
    {
      "job": 78602384827,
      "time": 154,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7302941734"
    },
    {
      "job": 78602384835,
      "time": 173,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7302945379"
    }
  ],
  "_buildurl": "https://github.com/r-universe/gcol33/actions/runs/26666813068",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/gcol33/borg",
  "_commit": {
    "id": "5e8b26b9aab5d8accf764c22a85038cc3006eba7",
    "author": "Gilles Colling <gilles.colling051@gmail.com>",
    "committer": "Gilles Colling <gilles.colling051@gmail.com>",
    "message": "docs: rewrite README in readme-aura style with plain break line\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n",
    "time": 1780053391
  },
  "_maintainer": {
    "name": "Gilles Colling",
    "email": "gilles.colling051@gmail.com",
    "login": "gcol33",
    "linkedin": "in/gilles-colling-0b3747306",
    "orcid": "0000-0003-3070-6066",
    "twitter": "@Gilles__Colling",
    "description": "Building tools for ecology in R, C++, and Rust.\nWhy did Microsoft have to buy it. Sadge :(",
    "uuid": 25009600
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "Rcpp",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "caret",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "version": ">= 3.4.0",
      "role": "Suggests"
    },
    {
      "package": "leaflet",
      "role": "Suggests"
    },
    {
      "package": "rsample",
      "role": "Suggests"
    },
    {
      "package": "tidyselect",
      "role": "Suggests"
    },
    {
      "package": "recipes",
      "role": "Suggests"
    },
    {
      "package": "mlr3",
      "role": "Suggests"
    },
    {
      "package": "sf",
      "role": "Suggests"
    },
    {
      "package": "terra",
      "role": "Suggests"
    },
    {
      "package": "tidyterra",
      "role": "Suggests"
    },
    {
      "package": "ranger",
      "role": "Suggests"
    },
    {
      "package": "parsnip",
      "role": "Suggests"
    },
    {
      "package": "workflows",
      "role": "Suggests"
    },
    {
      "package": "xgboost",
      "role": "Suggests"
    },
    {
      "package": "lightgbm",
      "role": "Suggests"
    },
    {
      "package": "future.apply",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "svglite",
      "role": "Suggests"
    }
  ],
  "_owner": "gcol33",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-02",
      "n": 31
    },
    {
      "week": "2026-03",
      "n": 1
    },
    {
      "week": "2026-10",
      "n": 2
    },
    {
      "week": "2026-11",
      "n": 1
    },
    {
      "week": "2026-12",
      "n": 1
    },
    {
      "week": "2026-13",
      "n": 1
    },
    {
      "week": "2026-14",
      "n": 7
    },
    {
      "week": "2026-21",
      "n": 2
    },
    {
      "week": "2026-22",
      "n": 2
    }
  ],
  "_tags": [
    {
      "name": "v0.1.1",
      "date": "2026-01-09"
    },
    {
      "name": "v0.2.0",
      "date": "2026-01-09"
    },
    {
      "name": "v0.2.1",
      "date": "2026-01-09"
    },
    {
      "name": "v0.2.2",
      "date": "2026-01-09"
    },
    {
      "name": "v0.2.3",
      "date": "2026-01-09"
    },
    {
      "name": "v0.3.1",
      "date": "2026-03-29"
    }
  ],
  "_topics": [
    "dependence",
    "model-evaluation",
    "risk",
    "validation",
    "cpp"
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "gcol33",
      "count": 47,
      "uuid": 25009600
    }
  ],
  "_userbio": {
    "uuid": 25009600,
    "type": "user",
    "name": "Gilles Colling",
    "description": "Building tools for ecology in R, C++, and Rust.\nWhy did Microsoft have to buy it. Sadge :("
  },
  "_downloads": {
    "count": 513,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/BORG"
  },
  "_devurl": "https://github.com/gcol33/borg",
  "_pkgdown": "https://gillescolling.com/BORG/",
  "_searchresults": 13,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/BORG.html",
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/gcol33/borg",
  "_realowner": "gcol33",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.2.5",
      "date": "2026-03-20"
    },
    {
      "version": "0.3.1",
      "date": "2026-03-29"
    }
  ],
  "_exports": [
    "audit_importance",
    "audit_predictions",
    "borg",
    "borg_adversarial",
    "borg_aoa",
    "borg_assimilate",
    "borg_auto_check",
    "borg_best_subset",
    "borg_block_size",
    "borg_bootstrap",
    "borg_cache_clear",
    "borg_cache_get",
    "borg_cache_info",
    "borg_cache_set",
    "borg_calibration",
    "borg_certificate",
    "borg_check",
    "borg_check_coverage",
    "borg_check_nested_cv",
    "borg_check_residuals",
    "borg_compare_cv",
    "borg_compare_models",
    "borg_conformal",
    "borg_cv",
    "borg_debias",
    "borg_di",
    "borg_diagnose",
    "borg_disc_cv",
    "borg_drift",
    "borg_ensemble",
    "borg_error_profile",
    "borg_explain_risk",
    "borg_export",
    "borg_extract",
    "borg_extrapolation",
    "borg_fairness",
    "borg_fold_performance",
    "borg_fold_similarity",
    "borg_forward_selection",
    "borg_geodist",
    "borg_global_validation",
    "borg_group_vfold_cv",
    "borg_importance",
    "borg_initial_split",
    "borg_inspect",
    "borg_leaflet",
    "borg_literature_check",
    "borg_local_moran",
    "borg_metrics",
    "borg_multiscale",
    "borg_null_test",
    "borg_options",
    "borg_pipeline",
    "borg_power",
    "borg_predict_raster",
    "borg_prediction_map",
    "borg_register_hooks",
    "borg_repeated_cv",
    "borg_report",
    "borg_rset",
    "borg_sample_design",
    "borg_shap",
    "borg_simulate",
    "borg_spatial_cv",
    "borg_spatial_loo",
    "borg_stability",
    "borg_stability_map",
    "borg_temporal_cv",
    "borg_thin",
    "borg_to_biomod2",
    "borg_to_enmeval",
    "borg_to_mlr3",
    "borg_trainControl",
    "borg_transferability",
    "borg_unregister_hooks",
    "borg_validate",
    "borg_vfold_cv",
    "borg_willmott",
    "borg_workflow",
    "cv_leakage_report",
    "show"
  ],
  "_help": [
    {
      "page": "as.data.frame.BorgDiagnosis",
      "title": "Coerce BorgDiagnosis to Data Frame",
      "topics": [
        "as.data.frame.BorgDiagnosis"
      ]
    },
    {
      "page": "as.data.frame.BorgRisk",
      "title": "Coerce BorgRisk to Data Frame",
      "topics": [
        "as.data.frame.BorgRisk"
      ]
    },
    {
      "page": "audit_importance",
      "title": "Audit Feature Importance Calculations",
      "topics": [
        "audit_importance"
      ]
    },
    {
      "page": "audit_predictions",
      "title": "Audit Predictions for Data Leakage",
      "topics": [
        "audit_predictions"
      ]
    },
    {
      "page": "autoplot.borg_comparison",
      "title": "Autoplot Method for borg_comparison Objects",
      "topics": [
        "autoplot.borg_comparison"
      ]
    },
    {
      "page": "autoplot.borg_cv",
      "title": "Autoplot Method for borg_cv Objects",
      "topics": [
        "autoplot.borg_cv"
      ]
    },
    {
      "page": "autoplot.borg_fold_perf",
      "title": "Autoplot Method for borg_fold_perf Objects",
      "topics": [
        "autoplot.borg_fold_perf"
      ]
    },
    {
      "page": "autoplot.borg_result",
      "title": "Autoplot Method for borg_result Objects",
      "topics": [
        "autoplot.borg_result"
      ]
    },
    {
      "page": "autoplot.BorgDiagnosis",
      "title": "Autoplot Method for BorgDiagnosis Objects",
      "topics": [
        "autoplot.BorgDiagnosis"
      ]
    },
    {
      "page": "autoplot.BorgRisk",
      "title": "Autoplot Method for BorgRisk Objects",
      "topics": [
        "autoplot.BorgRisk"
      ]
    },
    {
      "page": "borg",
      "title": "BORG: Guard Your Model Evaluation",
      "topics": [
        "borg"
      ]
    },
    {
      "page": "borg_adversarial",
      "title": "Adversarial Validation",
      "topics": [
        "borg_adversarial"
      ]
    },
    {
      "page": "borg_aoa",
      "title": "Area of Applicability",
      "topics": [
        "borg_aoa"
      ]
    },
    {
      "page": "borg_assimilate",
      "title": "Assimilate Leaky Evaluation Pipelines",
      "topics": [
        "borg_assimilate"
      ]
    },
    {
      "page": "borg_auto_check",
      "title": "Enable/Disable BORG Auto-Check Mode",
      "topics": [
        "borg_auto_check"
      ]
    },
    {
      "page": "borg_best_subset",
      "title": "Best Subset Variable Selection with Blocked CV",
      "topics": [
        "borg_best_subset"
      ]
    },
    {
      "page": "borg_block_size",
      "title": "Optimize Spatial Block Size",
      "topics": [
        "borg_block_size"
      ]
    },
    {
      "page": "borg_bootstrap",
      "title": "Block Bootstrap Confidence Intervals for CV Metrics",
      "topics": [
        "borg_bootstrap"
      ]
    },
    {
      "page": "borg_cache",
      "title": "Cache and Retrieve BORG Diagnoses",
      "topics": [
        "borg_cache",
        "borg_cache_clear",
        "borg_cache_get",
        "borg_cache_info",
        "borg_cache_set"
      ]
    },
    {
      "page": "borg_calibration",
      "title": "Model Calibration Diagnostics",
      "topics": [
        "borg_calibration"
      ]
    },
    {
      "page": "borg_certificate",
      "title": "Create Validation Certificate",
      "topics": [
        "borg_certificate"
      ]
    },
    {
      "page": "borg_check",
      "title": "Quick Leakage Check (Pipe-Friendly)",
      "topics": [
        "borg_check"
      ]
    },
    {
      "page": "borg_check_coverage",
      "title": "Check Geographic Representativeness of CV Folds",
      "topics": [
        "borg_check_coverage"
      ]
    },
    {
      "page": "borg_check_nested_cv",
      "title": "Check Nested CV for Leakage",
      "topics": [
        "borg_check_nested_cv"
      ]
    },
    {
      "page": "borg_check_residuals",
      "title": "Check Residual Spatial Autocorrelation",
      "topics": [
        "borg_check_residuals"
      ]
    },
    {
      "page": "borg_compare_cv",
      "title": "Compare Random vs Blocked Cross-Validation",
      "topics": [
        "borg_compare_cv"
      ]
    },
    {
      "page": "borg_compare_models",
      "title": "Compare Multiple Models with Spatial CV",
      "topics": [
        "borg_compare_models"
      ]
    },
    {
      "page": "borg_conformal",
      "title": "Conformal Prediction with Spatial Dependence",
      "topics": [
        "borg_conformal"
      ]
    },
    {
      "page": "borg_cv",
      "title": "Generate Valid Cross-Validation Scheme",
      "topics": [
        "borg_cv"
      ]
    },
    {
      "page": "borg_debias",
      "title": "Spatial+ Debiasing for Spatial Confounding",
      "topics": [
        "borg_debias"
      ]
    },
    {
      "page": "borg_di",
      "title": "Dissimilarity Index",
      "topics": [
        "borg_di"
      ]
    },
    {
      "page": "borg_diagnose",
      "title": "Diagnose Data Dependency Structure",
      "topics": [
        "borg_diagnose"
      ]
    },
    {
      "page": "borg_disc_cv",
      "title": "Leave-Disc-Out Cross-Validation",
      "topics": [
        "borg_disc_cv"
      ]
    },
    {
      "page": "borg_drift",
      "title": "Detect Distribution Shift Between Training and Deployment Data",
      "topics": [
        "borg_drift"
      ]
    },
    {
      "page": "borg_ensemble",
      "title": "Ensemble Predictions from CV Fold Models",
      "topics": [
        "borg_ensemble"
      ]
    },
    {
      "page": "borg_error_profile",
      "title": "Calibrate Dissimilarity Index to Prediction Error",
      "topics": [
        "borg_error_profile"
      ]
    },
    {
      "page": "borg_explain_risk",
      "title": "Explain Risks in Plain Language with Actionable Recommendations",
      "topics": [
        "borg_explain_risk"
      ]
    },
    {
      "page": "borg_export",
      "title": "Export Validation Certificate",
      "topics": [
        "borg_export"
      ]
    },
    {
      "page": "borg_extract",
      "title": "Extract Raster Values at Point Locations for BORG",
      "topics": [
        "borg_extract"
      ]
    },
    {
      "page": "borg_extrapolation",
      "title": "Detect Model Extrapolation",
      "topics": [
        "borg_extrapolation"
      ]
    },
    {
      "page": "borg_fairness",
      "title": "Detect Performance Disparities Across Subgroups Under Blocked CV",
      "topics": [
        "borg_fairness"
      ]
    },
    {
      "page": "borg_fold_performance",
      "title": "Evaluate Per-Fold Model Performance",
      "topics": [
        "borg_fold_performance"
      ]
    },
    {
      "page": "borg_fold_similarity",
      "title": "Per-Fold Environmental Similarity (MESS)",
      "topics": [
        "borg_fold_similarity"
      ]
    },
    {
      "page": "borg_forward_selection",
      "title": "Forward Feature Selection with Spatial/Blocked CV",
      "topics": [
        "borg_forward_selection"
      ]
    },
    {
      "page": "borg_geodist",
      "title": "Distance Distribution Diagnostics",
      "topics": [
        "borg_geodist"
      ]
    },
    {
      "page": "borg_global_validation",
      "title": "Global (Pooled) Cross-Validation Metrics",
      "topics": [
        "borg_global_validation"
      ]
    },
    {
      "page": "borg_group_vfold_cv",
      "title": "BORG-Guarded group_vfold_cv",
      "topics": [
        "borg_group_vfold_cv"
      ]
    },
    {
      "page": "borg_importance",
      "title": "Block-Permutation Variable Importance",
      "topics": [
        "borg_importance"
      ]
    },
    {
      "page": "borg_initial_split",
      "title": "BORG-Guarded initial_split",
      "topics": [
        "borg_initial_split"
      ]
    },
    {
      "page": "borg_inspect",
      "title": "Inspect R Objects for Evaluation Risks",
      "topics": [
        "borg_inspect"
      ]
    },
    {
      "page": "borg_leaflet",
      "title": "Interactive Leaflet Map of Spatial CV Folds",
      "topics": [
        "borg_leaflet"
      ]
    },
    {
      "page": "borg_literature_check",
      "title": "Scan Methods Text for Common Leakage Patterns",
      "topics": [
        "borg_literature_check"
      ]
    },
    {
      "page": "borg_local_moran",
      "title": "Local Moran's I for Residuals",
      "topics": [
        "borg_local_moran"
      ]
    },
    {
      "page": "borg_metrics",
      "title": "Available Classification Metrics",
      "topics": [
        "borg_metrics"
      ]
    },
    {
      "page": "borg_multiscale",
      "title": "Multi-Scale Performance Assessment",
      "topics": [
        "borg_multiscale"
      ]
    },
    {
      "page": "borg_null_test",
      "title": "Null Model Significance Test",
      "topics": [
        "borg_null_test"
      ]
    },
    {
      "page": "borg_options",
      "title": "Get Current BORG Options",
      "topics": [
        "borg_options"
      ]
    },
    {
      "page": "borg_pipeline",
      "title": "Validate an Entire Modeling Pipeline",
      "topics": [
        "borg_pipeline"
      ]
    },
    {
      "page": "borg_power",
      "title": "Estimate Statistical Power After Blocking",
      "topics": [
        "borg_power"
      ]
    },
    {
      "page": "borg_predict_raster",
      "title": "Predict onto a SpatRaster with AOA Masking",
      "topics": [
        "borg_predict_raster"
      ]
    },
    {
      "page": "borg_prediction_map",
      "title": "Spatial Prediction Uncertainty Map",
      "topics": [
        "borg_prediction_map"
      ]
    },
    {
      "page": "borg_register_hooks",
      "title": "Register BORG Hooks",
      "topics": [
        "borg_register_hooks"
      ]
    },
    {
      "page": "borg_repeated_cv",
      "title": "Repeated Blocked Cross-Validation",
      "topics": [
        "borg_repeated_cv"
      ]
    },
    {
      "page": "borg_report",
      "title": "Generate BORG HTML Diagnostic Report",
      "topics": [
        "borg_report"
      ]
    },
    {
      "page": "borg_rset",
      "title": "Convert BORG Folds to an rsample rset Object",
      "topics": [
        "borg_rset"
      ]
    },
    {
      "page": "borg_sample_design",
      "title": "Suggest Sampling Locations to Improve AOA",
      "topics": [
        "borg_sample_design"
      ]
    },
    {
      "page": "borg_shap",
      "title": "Spatial SHAP Values",
      "topics": [
        "borg_shap"
      ]
    },
    {
      "page": "borg_simulate",
      "title": "Generate Synthetic Data with Known Leakage",
      "topics": [
        "borg_simulate"
      ]
    },
    {
      "page": "borg_spatial_cv",
      "title": "Spatial Block Cross-Validation (rsample-compatible)",
      "topics": [
        "borg_spatial_cv"
      ]
    },
    {
      "page": "borg_spatial_loo",
      "title": "Buffered Leave-One-Out Cross-Validation",
      "topics": [
        "borg_spatial_loo"
      ]
    },
    {
      "page": "borg_stability",
      "title": "Analyze CV Fold Stability Across Repeats",
      "topics": [
        "borg_stability"
      ]
    },
    {
      "page": "borg_stability_map",
      "title": "Prediction Stability Map",
      "topics": [
        "borg_stability_map"
      ]
    },
    {
      "page": "borg_temporal_cv",
      "title": "Temporal Block Cross-Validation (rsample-compatible)",
      "topics": [
        "borg_temporal_cv"
      ]
    },
    {
      "page": "borg_thin",
      "title": "Spatially Thin Occurrence Data",
      "topics": [
        "borg_thin"
      ]
    },
    {
      "page": "borg_to_biomod2",
      "title": "Convert BORG Folds to biomod2 Format",
      "topics": [
        "borg_to_biomod2"
      ]
    },
    {
      "page": "borg_to_enmeval",
      "title": "Convert BORG Folds to ENMeval Partition Format",
      "topics": [
        "borg_to_enmeval"
      ]
    },
    {
      "page": "borg_to_mlr3",
      "title": "mlr3 Resampling for BORG Cross-Validation",
      "topics": [
        "borg_to_mlr3"
      ]
    },
    {
      "page": "borg_trainControl",
      "title": "BORG-Guarded trainControl",
      "topics": [
        "borg_trainControl"
      ]
    },
    {
      "page": "borg_transferability",
      "title": "Assess Geographic Transferability",
      "topics": [
        "borg_transferability"
      ]
    },
    {
      "page": "borg_unregister_hooks",
      "title": "Unregister BORG Hooks",
      "topics": [
        "borg_unregister_hooks"
      ]
    },
    {
      "page": "borg_validate",
      "title": "Validate Complete Evaluation Workflow",
      "topics": [
        "borg_validate"
      ]
    },
    {
      "page": "borg_vfold_cv",
      "title": "BORG-Guarded vfold_cv",
      "topics": [
        "borg_vfold_cv"
      ]
    },
    {
      "page": "borg_willmott",
      "title": "Willmott's Index of Agreement",
      "topics": [
        "borg_willmott"
      ]
    },
    {
      "page": "borg_workflow",
      "title": "Create a BORG Validation Workflow",
      "topics": [
        "borg_workflow"
      ]
    },
    {
      "page": "borg-wrappers",
      "title": "BORG-Guarded Cross-Validation Functions",
      "topics": [
        "borg-wrappers"
      ]
    },
    {
      "page": "BorgDiagnosis",
      "title": "BorgDiagnosis S4 Class",
      "topics": [
        "BorgDiagnosis",
        "BorgDiagnosis-class",
        "show,BorgDiagnosis-method"
      ]
    },
    {
      "page": "BorgRisk",
      "title": "BorgRisk S4 Class",
      "topics": [
        "BorgRisk",
        "BorgRisk-class",
        "show,BorgRisk-method"
      ]
    },
    {
      "page": "cv_leakage_report",
      "title": "Generate CV Leakage Report",
      "topics": [
        "cv_leakage_report"
      ]
    },
    {
      "page": "plot.borg_comparison",
      "title": "Plot CV Comparison Results",
      "topics": [
        "plot.borg_comparison"
      ]
    },
    {
      "page": "plot.borg_result",
      "title": "Plot BORG Result Objects",
      "topics": [
        "plot.borg_result"
      ]
    },
    {
      "page": "plot.BorgRisk",
      "title": "Plot BORG Objects",
      "topics": [
        "plot.BorgRisk"
      ]
    },
    {
      "page": "print.borg_cv_report",
      "title": "Print CV Leakage Report",
      "topics": [
        "print.borg_cv_report"
      ]
    },
    {
      "page": "summary.borg_cv",
      "title": "Summarize BORG Cross-Validation",
      "topics": [
        "summary.borg_cv"
      ]
    },
    {
      "page": "summary.borg_pipeline",
      "title": "Summarize BORG Pipeline Validation",
      "topics": [
        "summary.borg_pipeline"
      ]
    },
    {
      "page": "summary.borg_power",
      "title": "Summarize BORG Power Analysis",
      "topics": [
        "summary.borg_power"
      ]
    },
    {
      "page": "summary.borg_result",
      "title": "Summarize BORG Result",
      "topics": [
        "summary.borg_result"
      ]
    },
    {
      "page": "summary.BorgDiagnosis",
      "title": "Summarize BORG Diagnosis",
      "topics": [
        "summary.BorgDiagnosis"
      ]
    },
    {
      "page": "summary.BorgRisk",
      "title": "Summarize BORG Risk Assessment",
      "topics": [
        "summary.BorgRisk"
      ]
    }
  ],
  "_readme": "https://github.com/gcol33/borg/raw/HEAD/README.md",
  "_rundeps": [
    "Rcpp"
  ],
  "_sysdeps": [
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    }
  ],
  "_vignettes": [
    {
      "source": "aoa-extrapolation.Rmd",
      "filename": "aoa-extrapolation.html",
      "title": "Area of Applicability and Extrapolation Detection",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "The Dissimilarity Index",
        "What it measures",
        "Basic usage",
        "Variable importance weighting",
        "Area of Applicability",
        "From DI to a binary mask",
        "Full worked example",
        "Cross-validated threshold",
        "Manual threshold",
        "Extrapolation Detection",
        "Univariate and multivariate checks",
        "Worked example",
        "Comparing extrapolation and AOA",
        "Transferability Assessment",
        "Quantifying performance decay with distance",
        "Interpreting transfer ratios",
        "Prediction Maps",
        "Spatial uncertainty from cross-validation",
        "Stability Maps",
        "Where predictions change with the training set",
        "Stability maps versus prediction maps",
        "Combining AOA with Blocked Cross-Validation",
        "The full pipeline",
        "Diagnose dependencies",
        "Generate blocked CV folds",
        "Fit and evaluate with honest folds",
        "Compute spatially-aware importance",
        "Determine the area of applicability",
        "Generate predictions with AOA mask",
        "Check for extrapolation in the reliable predictions",
        "Practical Guidance",
        "When to use the AOA",
        "When the AOA is less useful",
        "Interpretation guidelines",
        "Mahalanobis distance and its limitations",
        "Reporting AOA results in publications",
        "Connecting to the broader BORG workflow",
        "References"
      ],
      "created": "2026-03-31 06:59:44",
      "modified": "2026-03-31 06:59:44",
      "commits": 1
    },
    {
      "source": "feature-selection.Rmd",
      "filename": "feature-selection.html",
      "title": "Feature Selection with Blocked Cross-Validation",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Simulated data",
        "Block-permutation importance",
        "The problem with standard permutation importance",
        "How block-permutation importance works",
        "Worked example",
        "Comparing block vs. row permutation",
        "Forward feature selection",
        "Why greedy search with blocked CV",
        "Step-by-step example",
        "Using a custom model",
        "Interpreting the selection path",
        "Best subset selection",
        "SHAP values",
        "Beyond global importance",
        "Spatial SHAP",
        "When to use SHAP vs. permutation importance",
        "Comparing methods",
        "Full pipeline",
        "Diagnose dependencies",
        "Generate blocked folds",
        "Screen with permutation importance",
        "Forward selection on screened candidates",
        "Fit the final model",
        "Interpret with SHAP",
        "Practical guidance",
        "How many features relative to sample size?",
        "Stability of selection",
        "Collinearity and importance",
        "When NOT to do feature selection",
        "Reporting feature selection in publications",
        "Temporal and grouped data",
        "References"
      ],
      "created": "2026-03-31 06:59:44",
      "modified": "2026-03-31 06:59:44",
      "commits": 1
    },
    {
      "source": "frameworks.Rmd",
      "filename": "frameworks.html",
      "title": "Framework Integration",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why This Guide Exists",
        "Quick Reference",
        "Base R",
        "Safe Preprocessing Pattern",
        "caret",
        "When to Use BORG with caret",
        "Validating preProcess Objects",
        "Guarded trainControl",
        "Pipeline-Level Validation with borg_pipeline()",
        "tidymodels (rsample + recipes)",
        "When to Use BORG with tidymodels",
        "Validating Recipe Objects",
        "Guarded rsample Functions",
        "Converting BORG Folds to rset Objects",
        "Convenience Constructors: borg_spatial_cv() and borg_temporal_cv()",
        "Validating Existing rsample Objects",
        "mlr3",
        "When to Use BORG with mlr3",
        "Validating mlr3 Tasks and Resamplings",
        "Generating mlr3 Resamplings from BORG Folds",
        "Species Distribution Models",
        "ENMeval",
        "biomod2",
        "Temporal Data Workflows",
        "Basic Temporal Validation",
        "Rolling Origin with rsample",
        "Spatial Data Workflows",
        "Spatial Block Validation",
        "Automatic Spatial CV Generation",
        "Grouped Data Workflows",
        "Complete Pipeline Validation",
        "borg_validate(): Workflow-Level Checks",
        "Catching Overlap",
        "borg_pipeline(): Stage-by-Stage Decomposition",
        "Automatic Repair with borg_assimilate()",
        "Migration Checklist",
        "See Also"
      ],
      "created": "2026-01-07 10:56:26",
      "modified": "2026-03-31 06:59:44",
      "commits": 9
    },
    {
      "source": "model-comparison.Rmd",
      "filename": "model-comparison.html",
      "title": "Model Comparison with Blocked Cross-Validation",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Simulating spatial data",
        "Quantifying inflation",
        "Fair model ranking",
        "Confidence intervals on metrics",
        "Is the signal real?",
        "Per-fold performance",
        "Full comparison pipeline",
        "Practical guidance",
        "How many repeats for borg_compare_cv()",
        "How many permutations for borg_null_test()",
        "How many bootstrap replicates",
        "When to report which metric",
        "When model comparison is misleading",
        "Reporting for publications",
        "Number of folds",
        "Minimum sample size",
        "References"
      ],
      "created": "2026-03-31 22:37:25",
      "modified": "2026-03-31 22:37:25",
      "commits": 1
    },
    {
      "source": "diagnostics.Rmd",
      "filename": "diagnostics.html",
      "title": "Post-Fit Diagnostics",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setup: simulating spatial data and fitting a model",
        "Quick diagnostic check",
        "Residual diagnostics",
        "Calibration",
        "Null hypothesis testing",
        "Model comparison",
        "Quantifying inflation with borg_compare_cv()",
        "Ranking models with borg_compare_models()",
        "Conformal prediction",
        "Bootstrap uncertainty",
        "Power analysis",
        "Per-fold performance",
        "Diagnostic workflow",
        "Practical guidance",
        "When to run which diagnostic",
        "Common pitfalls",
        "Integration with external frameworks"
      ],
      "created": "2026-03-31 06:59:44",
      "modified": "2026-03-31 06:59:44",
      "commits": 1
    },
    {
      "source": "quickstart.Rmd",
      "filename": "quickstart.html",
      "title": "Quick Start",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why your test accuracy might be wrong",
        "Simulating data with known dependencies",
        "Diagnosing data dependencies",
        "Temporal and grouped data",
        "Working with CV folds",
        "Exporting folds to other frameworks",
        "Validating existing splits",
        "Overlapping indices",
        "Target leakage",
        "Preprocessing leakage",
        "Accessing risk details",
        "The borg_check() shortcut",
        "Fitting a model with borg_workflow()",
        "Comparing random vs blocked CV",
        "Power analysis after blocking",
        "Putting it all together",
        "Taste tests: more features",
        "Area of Applicability",
        "Block-permutation variable importance",
        "Residual diagnostics",
        "Calibration",
        "Null test",
        "Extrapolation detection",
        "Geographic distance analysis",
        "Interactive maps",
        "S3 methods",
        "Methods text for publications",
        "Practical guidance",
        "When to use BORG",
        "When NOT to use BORG",
        "Rules of thumb",
        "Validation certificates",
        "Spatial input formats",
        "Function reference",
        "Core",
        "Evaluation",
        "Spatial analysis",
        "Feature selection and importance",
        "Reporting",
        "Simulation",
        "Next steps",
        "References"
      ],
      "created": "2026-01-07 10:56:26",
      "modified": "2026-03-31 06:59:44",
      "commits": 8
    },
    {
      "source": "risk-taxonomy.Rmd",
      "filename": "risk-taxonomy.html",
      "title": "Risk Taxonomy",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Risk Classification",
        "Hard Violations",
        "1. Index Overlap",
        "2. Duplicate Rows",
        "3. Preprocessing Leakage",
        "4. Target Leakage (Direct)",
        "5. Group Leakage",
        "6. Temporal Ordering Violation",
        "7. CV Fold Contamination",
        "8. Model Scope",
        "Soft Inflation Risks",
        "1. Target Leakage (Proxy)",
        "2. Spatial Proximity",
        "3. Spatial Overlap",
        "4. Random CV on Dependent Data",
        "Risk Interactions",
        "Spatial + Target Leakage",
        "Preprocessing + Spatial Structure",
        "Groups + Temporal Ordering",
        "Temporal + Spatial",
        "Decision Tree: Which Risks to Check",
        "Practical Guidance",
        "Hard vs. Soft: Triage Order",
        "How Risk Severity Scales with Dataset Size",
        "Rules of Thumb",
        "Quick Reference",
        "Accessing Risk Details",
        "See Also"
      ],
      "created": "2026-01-07 10:56:26",
      "modified": "2026-03-31 22:37:25",
      "commits": 7
    },
    {
      "source": "spatial-cv.Rmd",
      "filename": "spatial-cv.html",
      "title": "Spatial Cross-Validation",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "The problem: spatial autocorrelation",
        "Simulating spatial data",
        "Spatial block cross-validation",
        "Block size optimization",
        "Alternative spatial CV strategies",
        "Environmental blocking",
        "Leave-disc-out (buffered spatial CV)",
        "Buffered leave-one-out",
        "Spatial+ CV",
        "KNNDM",
        "Distance distribution matching",
        "Comparing random vs blocked CV",
        "Practical guidance",
        "Choosing a spatial CV strategy",
        "Rules of thumb",
        "When NOT to use spatial CV",
        "A practical workflow",
        "References"
      ],
      "created": "2026-03-31 06:59:44",
      "modified": "2026-03-31 06:59:44",
      "commits": 1
    },
    {
      "source": "temporal-cv.Rmd",
      "filename": "temporal-cv.html",
      "title": "Temporal Cross-Validation",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "The problem: temporal autocorrelation",
        "Simulating temporal data",
        "Temporal block CV",
        "Expanding window CV",
        "Embargo periods",
        "Comparing random vs temporal CV",
        "Concept drift detection",
        "Practical guidance",
        "Choosing a strategy",
        "Rules of thumb with specific numbers",
        "When NOT to use temporal CV",
        "Panel data",
        "End-to-end workflow",
        "References"
      ],
      "created": "2026-03-31 22:37:25",
      "modified": "2026-03-31 22:58:25",
      "commits": 2
    }
  ],
  "_score": 5.721398375521505,
  "_indexed": true,
  "_nocasepkg": "borg",
  "_universes": [
    "gcol33"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.3.1",
      "date": "2026-05-29T23:17:09.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "5e8b26b9aab5d8accf764c22a85038cc3006eba7",
      "fileid": "11ba0c0c681371087f7c48b1a778fc0f84abd9979d5fdfa39433da7fd5ee7039",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26666813068"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.3.1",
      "date": "2026-05-29T23:17:35.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "5e8b26b9aab5d8accf764c22a85038cc3006eba7",
      "fileid": "3a9a56c72db180791dd2ec79fe9f86d389037845104732bc83e6cff5ba3f72e3",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26666813068"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.3.1",
      "date": "2026-05-29T23:17:01.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "5e8b26b9aab5d8accf764c22a85038cc3006eba7",
      "fileid": "ecc4c2667df1feb6fc60f22002f87c241477c84444dc9c118db4c937da48ee5a",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26666813068"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.3.1",
      "date": "2026-05-29T23:17:12.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "5e8b26b9aab5d8accf764c22a85038cc3006eba7",
      "fileid": "dde47b5f936ff322468adc3078a9c4a3cd422d8a8c7cec1f807db2c707b08d4e",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26666813068"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.3.1",
      "date": "2026-05-29T23:16:27.000Z",
      "arch": "aarch64",
      "commit": "5e8b26b9aab5d8accf764c22a85038cc3006eba7",
      "fileid": "4d6424e0c7de69ac854008c0fc3810ce296f617d6591bc806c5a7f2af36052ee",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26666813068"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.3.1",
      "date": "2026-05-29T23:18:30.000Z",
      "arch": "x86_64",
      "commit": "5e8b26b9aab5d8accf764c22a85038cc3006eba7",
      "fileid": "4ac8028371f31a78d70e7a18af56210aef2bdc678adcf6d69ef0f5bcf123c046",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26666813068"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.3.1",
      "date": "2026-05-29T23:16:46.000Z",
      "arch": "aarch64",
      "commit": "5e8b26b9aab5d8accf764c22a85038cc3006eba7",
      "fileid": "6d5bf24ad1352550768bd334f2c6b4390169bc1e487652b7ee8df95c5b24df45",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26666813068"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.3.1",
      "date": "2026-05-29T23:17:34.000Z",
      "arch": "x86_64",
      "commit": "5e8b26b9aab5d8accf764c22a85038cc3006eba7",
      "fileid": "c7deef91397391126e0795d4c0296119a2d1d000803606a0772d382dcbc565f2",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26666813068"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.3.1",
      "date": "2026-05-29T23:17:04.000Z",
      "arch": "emscripten",
      "commit": "5e8b26b9aab5d8accf764c22a85038cc3006eba7",
      "fileid": "4a8cea64863d2c1a62736bfbb96d1d584d442ba54ac59dba203f455fb5f2efdf",
      "status": "success",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26666813068"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.3.1",
      "date": "2026-05-29T23:16:14.000Z",
      "arch": "x86_64",
      "commit": "5e8b26b9aab5d8accf764c22a85038cc3006eba7",
      "fileid": "91a7da12a13e3b9196d31e183b9b9192be2f972b2a4e3be62c915381e12db659",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26666813068"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.3.1",
      "date": "2026-05-29T23:15:58.000Z",
      "arch": "x86_64",
      "commit": "5e8b26b9aab5d8accf764c22a85038cc3006eba7",
      "fileid": "114906907e5b8056cb89883c9c56ac4f670d60d7ae68b351e38bc4bcbe1434f6",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26666813068"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.3.1",
      "date": "2026-05-29T23:16:08.000Z",
      "arch": "x86_64",
      "commit": "5e8b26b9aab5d8accf764c22a85038cc3006eba7",
      "fileid": "d1e0530e828ea038486714f26e295b7be2084e7bfcd73667c95e78028655c4c0",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26666813068"
    }
  ]
}