{
  "_id": "6a1016b9acfb0bcc41c84a21",
  "Package": "bayesiansurpriser",
  "Title": "Bayesian Surprise for De-Biasing Thematic Maps",
  "Version": "0.1.0",
  "Authors@R": "person(\"Dmitry\", \"Shkolnik\", , \"shkolnikd@gmail.com\", role = c(\"aut\", \"cre\"))",
  "Author": "Dmitry Shkolnik [aut, cre]",
  "Maintainer": "Dmitry Shkolnik <shkolnikd@gmail.com>",
  "Description": "Implements Bayesian Surprise methodology for data\nvisualization, based on Correll and Heer (2017)\n<doi:10.1109/TVCG.2016.2598839> \"Surprise! Bayesian Weighting\nfor De-Biasing Thematic Maps\". Provides tools to weight event\ndata relative to spatio-temporal models, highlighting\nunexpected patterns while de-biasing against known factors like\npopulation density or sampling variation. Integrates seamlessly\nwith 'sf' for spatial data and 'ggplot2' for visualization.\nSupports temporal/streaming data analysis.",
  "License": "MIT + file LICENSE",
  "URL": "https://dshkol.github.io/bayesiansurpriser/,\nhttps://github.com/dshkol/bayesiansurpriser",
  "BugReports": "https://github.com/dshkol/bayesiansurpriser/issues",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr",
  "LazyData": "true",
  "Config/pak/sysreqs": "libabsl-dev cmake libgdal-dev gdal-bin libgeos-dev\nlibssl-dev libproj-dev libsqlite3-dev libudunits2-dev",
  "Repository": "https://dshkol.r-universe.dev",
  "Date/Publication": "2026-04-21 06:44:20 UTC",
  "RemoteUrl": "https://github.com/dshkol/bayesiansurpriser",
  "RemoteRef": "HEAD",
  "RemoteSha": "83e5f8b06e55a39c93e622582c5be8d57c5680c6",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-22 08:37:31 UTC",
    "User": "root"
  },
  "MD5sum": "5b280b8138df0bf2b57b63bed133c744",
  "_user": "dshkol",
  "_type": "src",
  "_file": "bayesiansurpriser_0.1.0.tar.gz",
  "_fileid": "469068fe2237efbbc9d9ab389e487579b2e27e210a6af7f2b6f92317a8264f2a",
  "_filesize": 4290764,
  "_sha256": "469068fe2237efbbc9d9ab389e487579b2e27e210a6af7f2b6f92317a8264f2a",
  "_created": "2026-05-22T08:37:31.000Z",
  "_published": "2026-05-22T08:41:29.316Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77345417881,
      "time": 171,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7156374049"
    },
    {
      "job": 77345417933,
      "time": 178,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7156376207"
    },
    {
      "job": 77345417901,
      "time": 196,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7156372264"
    },
    {
      "job": 77345417903,
      "time": 157,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7156362274"
    },
    {
      "job": 77344871970,
      "time": 220,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7156321778"
    },
    {
      "job": 77345417905,
      "time": 132,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7156361751"
    },
    {
      "job": 77345417937,
      "time": 144,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7156365471"
    },
    {
      "job": 77345417902,
      "time": 118,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7156357724"
    },
    {
      "job": 77345417904,
      "time": 103,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7156353419"
    }
  ],
  "_buildurl": "https://github.com/r-universe/dshkol/actions/runs/26277375049",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/dshkol/bayesiansurpriser",
  "_commit": {
    "id": "83e5f8b06e55a39c93e622582c5be8d57c5680c6",
    "author": "dshkol <shkolnikd@gmail.com>",
    "committer": "dshkol <shkolnikd@gmail.com>",
    "message": "Address CRAN review feedback\n",
    "time": 1776753860
  },
  "_maintainer": {
    "name": "Dmitry Shkolnik",
    "email": "shkolnikd@gmail.com",
    "login": "dshkol",
    "bluesky": "@dshkol.bsky.social",
    "twitter": "@dshkol",
    "description": "oss work: geo, census data, ai harnesses for geo and census data / corpo work: marketplace ds and ai @ biggish tech\n",
    "uuid": 5847527
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "ggplot2",
      "version": ">= 3.5.0",
      "role": "Imports"
    },
    {
      "package": "sf",
      "version": ">= 1.0.0",
      "role": "Imports"
    },
    {
      "package": "scales",
      "version": ">= 1.3.0",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "version": ">= 1.1.0",
      "role": "Imports"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "MASS",
      "role": "Imports"
    },
    {
      "package": "RColorBrewer",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "dplyr",
      "role": "Suggests"
    },
    {
      "package": "tibble",
      "role": "Suggests"
    },
    {
      "package": "vdiffr",
      "role": "Suggests"
    },
    {
      "package": "tidycensus",
      "role": "Suggests"
    },
    {
      "package": "tigris",
      "role": "Suggests"
    },
    {
      "package": "cancensus",
      "role": "Suggests"
    },
    {
      "package": "ggrepel",
      "role": "Suggests"
    }
  ],
  "_owner": "dshkol",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-01",
      "n": 4
    },
    {
      "week": "2026-02",
      "n": 1
    },
    {
      "week": "2026-15",
      "n": 4
    },
    {
      "week": "2026-16",
      "n": 4
    },
    {
      "week": "2026-17",
      "n": 1
    }
  ],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "dshkol",
      "count": 14,
      "uuid": 5847527
    }
  ],
  "_userbio": {
    "uuid": 5847527,
    "type": "user",
    "name": "Dmitry Shkolnik",
    "description": "oss work: geo, census data, ai harnesses for geo and census data / corpo work: marketplace ds and ai @ biggish tech\r\n"
  },
  "_downloads": {
    "count": 570,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/bayesiansurpriser"
  },
  "_devurl": "https://github.com/dshkol/bayesiansurpriser",
  "_pkgdown": "https://dshkol.github.io/bayesiansurpriser/",
  "_searchresults": 0,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/bayesiansurpriser.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/dshkol/bayesiansurpriser",
  "_realowner": "dshkol",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2026-04-21"
    }
  ],
  "_exports": [
    "add_model",
    "auto_surprise",
    "bayesian_update",
    "bs_model_baserate",
    "bs_model_baserate_col",
    "bs_model_bootstrap",
    "bs_model_funnel",
    "bs_model_funnel_col",
    "bs_model_gaussian",
    "bs_model_gaussian_mixture",
    "bs_model_sampled",
    "bs_model_uniform",
    "compute_funnel_data",
    "compute_surprise",
    "cumulative_bayesian_update",
    "default_model_space",
    "funnel_pvalue",
    "funnel_zscore",
    "geom_surprise",
    "geom_surprise_density",
    "geom_surprise_histogram",
    "get_model_space",
    "get_surprise",
    "get_surprise_at_time",
    "kl_divergence",
    "log_sum_exp",
    "model_names",
    "model_space",
    "n_models",
    "normalize_minmax",
    "normalize_prob",
    "normalize_rate",
    "normalize_robust",
    "normalize_zscore",
    "remove_model",
    "scale_color_surprise",
    "scale_color_surprise_binned",
    "scale_color_surprise_diverging",
    "scale_color_surprise_thresholds",
    "scale_colour_surprise",
    "scale_colour_surprise_binned",
    "scale_colour_surprise_diverging",
    "scale_colour_surprise_thresholds",
    "scale_fill_surprise",
    "scale_fill_surprise_binned",
    "scale_fill_surprise_diverging",
    "scale_fill_surprise_diverging_binned",
    "scale_fill_surprise_manual",
    "scale_fill_surprise_thresholds",
    "set_prior",
    "st_aggregate_surprise",
    "st_density",
    "st_density_at",
    "st_surprise",
    "stat_surprise",
    "stat_surprise_sf",
    "StatSurprise",
    "StatSurpriseSf",
    "surprise",
    "surprise_animate",
    "surprise_rolling",
    "surprise_temporal",
    "update_surprise"
  ],
  "_datasets": [
    {
      "name": "canada_mischief",
      "title": "Canadian Mischief Crime Data by Province",
      "object": "canada_mischief",
      "class": [
        "data.frame"
      ],
      "fields": [
        "name",
        "population",
        "mischief_count",
        "rate_per_100k",
        "pop_proportion",
        "mischief_proportion"
      ],
      "rows": 13,
      "table": true,
      "tojson": true
    },
    {
      "name": "example_counties",
      "title": "Example County Data with Simulated Events",
      "object": "example_counties",
      "class": [
        "data.frame"
      ],
      "fields": [
        "county_id",
        "name",
        "population",
        "events",
        "expected",
        "is_hotspot",
        "is_coldspot"
      ],
      "rows": 50,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "add_model",
      "title": "Add Model to Space",
      "topics": [
        "add_model"
      ]
    },
    {
      "page": "auto_surprise",
      "title": "Compute Surprise with Automatic Model Selection",
      "topics": [
        "auto_surprise"
      ]
    },
    {
      "page": "bayesian_update",
      "title": "Bayesian Update of Model Space",
      "topics": [
        "bayesian_update"
      ]
    },
    {
      "page": "bs_model_baserate",
      "title": "Create a Base Rate Model",
      "topics": [
        "bs_model_baserate"
      ]
    },
    {
      "page": "bs_model_baserate_col",
      "title": "Create Base Rate Model from Column",
      "topics": [
        "bs_model_baserate_col"
      ]
    },
    {
      "page": "bs_model_bootstrap",
      "title": "Create a Bootstrap Sample Model",
      "topics": [
        "bs_model_bootstrap"
      ]
    },
    {
      "page": "bs_model_funnel",
      "title": "Create a de Moivre Funnel Model",
      "topics": [
        "bs_model_funnel"
      ]
    },
    {
      "page": "bs_model_funnel_col",
      "title": "Create Funnel Model from Column",
      "topics": [
        "bs_model_funnel_col"
      ]
    },
    {
      "page": "bs_model_gaussian",
      "title": "Create a Gaussian Model",
      "topics": [
        "bs_model_gaussian"
      ]
    },
    {
      "page": "bs_model_gaussian_mixture",
      "title": "Create Multi-Modal Gaussian Mixture Model",
      "topics": [
        "bs_model_gaussian_mixture"
      ]
    },
    {
      "page": "bs_model_sampled",
      "title": "Create a Sampled Subset Model (KDE)",
      "topics": [
        "bs_model_sampled"
      ]
    },
    {
      "page": "bs_model_uniform",
      "title": "Create a Uniform Model",
      "topics": [
        "bs_model_uniform"
      ]
    },
    {
      "page": "canada_mischief",
      "title": "Canadian Mischief Crime Data by Province",
      "topics": [
        "canada_mischief"
      ]
    },
    {
      "page": "compute_funnel_data",
      "title": "Compute Funnel Plot Data",
      "topics": [
        "compute_funnel_data"
      ]
    },
    {
      "page": "compute_surprise",
      "title": "Compute Per-Region Surprise",
      "topics": [
        "compute_surprise"
      ]
    },
    {
      "page": "cumulative_bayesian_update",
      "title": "Global Bayesian Update Across All Regions",
      "topics": [
        "cumulative_bayesian_update"
      ]
    },
    {
      "page": "default_model_space",
      "title": "Default Model Space",
      "topics": [
        "default_model_space"
      ]
    },
    {
      "page": "example_counties",
      "title": "Example County Data with Simulated Events",
      "topics": [
        "example_counties"
      ]
    },
    {
      "page": "funnel_pvalue",
      "title": "Compute P-Value from Funnel Z-Score",
      "topics": [
        "funnel_pvalue"
      ]
    },
    {
      "page": "funnel_zscore",
      "title": "Funnel Z-Score (de Moivre)",
      "topics": [
        "funnel_zscore"
      ]
    },
    {
      "page": "geom_surprise",
      "title": "Surprise Map Geom",
      "topics": [
        "geom_surprise"
      ]
    },
    {
      "page": "geom_surprise_density",
      "title": "Surprise Density Plot",
      "topics": [
        "geom_surprise_density"
      ]
    },
    {
      "page": "geom_surprise_histogram",
      "title": "Surprise Histogram",
      "topics": [
        "geom_surprise_histogram"
      ]
    },
    {
      "page": "get_model_space",
      "title": "Get the model space from a surprise result",
      "topics": [
        "get_model_space"
      ]
    },
    {
      "page": "get_surprise",
      "title": "Extract surprise values from result objects",
      "topics": [
        "get_surprise"
      ]
    },
    {
      "page": "get_surprise_at_time",
      "title": "Get Surprise at Specific Time",
      "topics": [
        "get_surprise_at_time"
      ]
    },
    {
      "page": "kl_divergence",
      "title": "Kullback-Leibler Divergence",
      "topics": [
        "kl_divergence"
      ]
    },
    {
      "page": "log_sum_exp",
      "title": "Log-Sum-Exp (Numerically Stable)",
      "topics": [
        "log_sum_exp"
      ]
    },
    {
      "page": "model_names",
      "title": "Get Model Names",
      "topics": [
        "model_names"
      ]
    },
    {
      "page": "model_space",
      "title": "Create a Model Space",
      "topics": [
        "model_space"
      ]
    },
    {
      "page": "n_models",
      "title": "Get Number of Models",
      "topics": [
        "n_models"
      ]
    },
    {
      "page": "normalize_minmax",
      "title": "Min-Max Normalization",
      "topics": [
        "normalize_minmax"
      ]
    },
    {
      "page": "normalize_prob",
      "title": "Normalize to Probability Distribution",
      "topics": [
        "normalize_prob"
      ]
    },
    {
      "page": "normalize_rate",
      "title": "Normalize to Rate (Per Capita)",
      "topics": [
        "normalize_rate"
      ]
    },
    {
      "page": "normalize_robust",
      "title": "Robust Normalization (using quantiles)",
      "topics": [
        "normalize_robust"
      ]
    },
    {
      "page": "normalize_zscore",
      "title": "Z-Score Normalization",
      "topics": [
        "normalize_zscore"
      ]
    },
    {
      "page": "plot.bs_model_space",
      "title": "Plot Model Space",
      "topics": [
        "plot.bs_model_space"
      ]
    },
    {
      "page": "plot.bs_surprise",
      "title": "Plot Surprise Result",
      "topics": [
        "plot.bs_surprise"
      ]
    },
    {
      "page": "plot.bs_surprise_sf",
      "title": "Plot Surprise Map (sf)",
      "topics": [
        "plot.bs_surprise_sf"
      ]
    },
    {
      "page": "plot.bs_surprise_temporal",
      "title": "Plot Temporal Surprise",
      "topics": [
        "plot.bs_surprise_temporal"
      ]
    },
    {
      "page": "remove_model",
      "title": "Remove Model from Space",
      "topics": [
        "remove_model"
      ]
    },
    {
      "page": "scale_fill_surprise",
      "title": "Surprise Color Scale (Sequential)",
      "topics": [
        "scale_color_surprise",
        "scale_colour_surprise",
        "scale_fill_surprise"
      ]
    },
    {
      "page": "scale_fill_surprise_binned",
      "title": "Binned Surprise Scale",
      "topics": [
        "scale_color_surprise_binned",
        "scale_colour_surprise_binned",
        "scale_fill_surprise_binned"
      ]
    },
    {
      "page": "scale_fill_surprise_diverging",
      "title": "Signed Surprise Color Scale (Diverging)",
      "topics": [
        "scale_color_surprise_diverging",
        "scale_colour_surprise_diverging",
        "scale_fill_surprise_diverging"
      ]
    },
    {
      "page": "scale_fill_surprise_diverging_binned",
      "title": "Binned Diverging Surprise Scale",
      "topics": [
        "scale_fill_surprise_diverging_binned"
      ]
    },
    {
      "page": "scale_fill_surprise_manual",
      "title": "Manual Surprise Breaks Scale",
      "topics": [
        "scale_fill_surprise_manual"
      ]
    },
    {
      "page": "scale_fill_surprise_thresholds",
      "title": "Signed Surprise Scale with Meaningful Thresholds",
      "topics": [
        "scale_color_surprise_thresholds",
        "scale_colour_surprise_thresholds",
        "scale_fill_surprise_thresholds"
      ]
    },
    {
      "page": "set_prior",
      "title": "Set Prior Probabilities",
      "topics": [
        "set_prior"
      ]
    },
    {
      "page": "st_density",
      "title": "Spatial Density Estimation for sf Objects",
      "topics": [
        "st_density"
      ]
    },
    {
      "page": "st_density_at",
      "title": "Evaluate Density at sf Feature Locations",
      "topics": [
        "st_density_at"
      ]
    },
    {
      "page": "st_surprise",
      "title": "Compute Surprise for sf Object",
      "topics": [
        "st_surprise"
      ]
    },
    {
      "page": "stat_surprise",
      "title": "Compute Surprise as ggplot2 Stat",
      "topics": [
        "stat_surprise"
      ]
    },
    {
      "page": "stat_surprise_sf",
      "title": "Stat for Surprise with sf Geometries",
      "topics": [
        "stat_surprise_sf"
      ]
    },
    {
      "page": "surprise_animate",
      "title": "Create Animation-Ready Data from Temporal Results",
      "topics": [
        "surprise_animate"
      ]
    },
    {
      "page": "surprise_rolling",
      "title": "Rolling Window Surprise",
      "topics": [
        "surprise_rolling"
      ]
    },
    {
      "page": "surprise_temporal",
      "title": "Compute Temporal Surprise",
      "topics": [
        "surprise_temporal"
      ]
    },
    {
      "page": "surprise",
      "title": "Compute Bayesian Surprise",
      "topics": [
        "surprise",
        "surprise.data.frame",
        "surprise.sf",
        "surprise.tbl_df"
      ]
    },
    {
      "page": "update_surprise",
      "title": "Update Surprise with New Data (Streaming)",
      "topics": [
        "update_surprise"
      ]
    }
  ],
  "_readme": "https://github.com/dshkol/bayesiansurpriser/raw/HEAD/README.md",
  "_rundeps": [
    "class",
    "classInt",
    "cli",
    "cpp11",
    "DBI",
    "e1071",
    "farver",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "KernSmooth",
    "labeling",
    "lifecycle",
    "MASS",
    "proxy",
    "R6",
    "RColorBrewer",
    "Rcpp",
    "rlang",
    "s2",
    "S7",
    "scales",
    "sf",
    "units",
    "vctrs",
    "viridisLite",
    "withr",
    "wk"
  ],
  "_vignettes": [
    {
      "source": "cancensus-workflow.Rmd",
      "filename": "cancensus-workflow.html",
      "title": "Bayesian Surprise with Canadian Census Data (cancensus)",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Prerequisites",
        "Understanding cancensus Data Structure",
        "Example 1: Low Income Rates by Census Division",
        "Fetch Census Data",
        "Compute Bayesian Surprise",
        "Visualize Surprising Regions",
        "Identify Most Surprising Regions",
        "Example 2: Housing Analysis in Metro Vancouver",
        "Example 3: Language at Home Analysis",
        "Example 4: Provincial Comparison with Funnel Plot",
        "Example 5: Comparing Census Years",
        "Example 6: Custom Model Space for Census Data",
        "Interpreting Surprise Values",
        "Session Info"
      ],
      "created": "2025-12-30 06:10:46",
      "modified": "2026-04-13 03:46:11",
      "commits": 5
    },
    {
      "source": "tidycensus-workflow.Rmd",
      "filename": "tidycensus-workflow.html",
      "title": "Bayesian Surprise with US Census Data (tidycensus)",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "When to Use Bayesian Surprise",
        "Prerequisites",
        "Example 1: State-Level Poverty Analysis",
        "Visualize State-Level Results",
        "Example 2: Funnel Plot Visualization",
        "County-Level Funnel (Classic Shape)",
        "Example 3: Tract-Level Analysis (Same-Scale Comparison)",
        "Example 4: Large Counties Only",
        "Understanding the Methodology",
        "Why Small Regions Can Be Misleading",
        "Recommendations",
        "Session Info"
      ],
      "created": "2025-12-30 06:10:46",
      "modified": "2026-04-13 02:04:00",
      "commits": 5
    },
    {
      "source": "complete-reference.Rmd",
      "filename": "complete-reference.html",
      "title": "Complete Function Reference with Examples",
      "engine": "knitr::rmarkdown",
      "headings": [
        "bayesiansurpriser: Complete Reference",
        "1. Core Surprise Computation",
        "1.1 surprise() - Main Function",
        "1.2 auto_surprise() - Simple Vector API",
        "1.3 compute_surprise() - Low-Level Function",
        "2. Model Types",
        "2.1 bs_model_uniform() - Uniform Distribution",
        "2.2 bs_model_baserate() - Base Rate Model",
        "2.3 bs_model_gaussian() - Normal Distribution",
        "2.4 bs_model_sampled() - KDE Model",
        "2.5 bs_model_funnel() - de Moivre Funnel",
        "2.6 bs_model_bootstrap() - Bootstrap Model",
        "2.7 bs_model_gaussian_mixture() - Mixture Model",
        "3. Model Space Operations",
        "3.1 model_space() - Create Model Space",
        "3.2 default_model_space() - Quick Default",
        "3.3 Model Space Manipulation",
        "3.4 bayesian_update() - Update Posterior",
        "3.5 cumulative_bayesian_update() - Sequential Updates",
        "4. Accessor Functions",
        "4.1 get_surprise() and get_model_space()",
        "5. Temporal and Streaming Analysis",
        "5.1 surprise_temporal() - Panel Data",
        "5.2 update_surprise() - Streaming Updates",
        "5.3 surprise_rolling() - Rolling Window",
        "5.4 get_surprise_at_time() - Extract Time Slice",
        "5.5 surprise_animate() - Animation-Ready Data",
        "6. Funnel Analysis Functions",
        "6.1 compute_funnel_data()",
        "6.2 funnel_zscore() and funnel_pvalue()",
        "7. Normalization Utilities",
        "7.1 normalize_prob() - Probability Distribution",
        "7.2 normalize_rate() - Per-Capita Rates",
        "7.3 normalize_zscore() - Z-Score",
        "7.4 normalize_minmax() - Min-Max Scaling",
        "7.5 normalize_robust() - Robust Scaling",
        "8. Mathematical Utilities",
        "8.1 kl_divergence() - KL-Divergence",
        "8.2 log_sum_exp() - Numerically Stable",
        "9. ggplot2 Integration",
        "9.1 Color Scales",
        "Sequential Scale",
        "Diverging Scale",
        "Binned Scale",
        "Diverging Binned Scale",
        "9.2 stat_surprise() - Compute in ggplot2",
        "9.3 Histogram and Density Geoms",
        "10. sf Spatial Functions",
        "10.1 st_surprise() - Convenience Wrapper",
        "10.2 st_density() - Spatial KDE",
        "10.3 st_aggregate_surprise() - Aggregate to Larger Regions",
        "11. Base R Plot Methods",
        "11.1 plot.bs_surprise_sf()",
        "11.2 plot.bs_surprise()",
        "11.3 plot.bs_model_space()",
        "11.4 plot.bs_surprise_temporal()",
        "12. Summary Statistics",
        "12.1 summary.bs_surprise()",
        "13. Included Datasets",
        "13.1 canada_mischief",
        "13.2 example_counties",
        "Session Info"
      ],
      "created": "2025-12-29 18:44:13",
      "modified": "2026-04-12 22:52:05",
      "commits": 3
    },
    {
      "source": "introduction.Rmd",
      "filename": "introduction.html",
      "title": "Introduction to bayesiansurpriser",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "The Problem: Cognitive Biases in Data Visualization",
        "The Solution: Bayesian Surprise",
        "Quick Start",
        "Basic Usage with sf Objects",
        "Plotting Results",
        "Understanding the Output",
        "Customizing Models",
        "Next Steps"
      ],
      "created": "2025-12-29 18:44:13",
      "modified": "2026-04-12 22:52:05",
      "commits": 3
    },
    {
      "source": "sf-workflow.Rmd",
      "filename": "sf-workflow.html",
      "title": "Spatial Data Workflows with sf",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Basic sf Workflow",
        "Loading Spatial Data",
        "Computing Surprise",
        "Convenience Function: st_surprise",
        "Accessing Results",
        "Extracting Surprise Values",
        "Accessing the Model Space",
        "Working with the sf Object",
        "Visualization",
        "ggplot2 Integration",
        "Comparing Time Periods",
        "Advanced: Custom Model Spaces",
        "Integration with dplyr",
        "Tips for Large Datasets"
      ],
      "created": "2025-12-29 18:44:13",
      "modified": "2026-04-12 22:52:05",
      "commits": 3
    },
    {
      "source": "temporal-analysis.Rmd",
      "filename": "temporal-analysis.html",
      "title": "Temporal and Streaming Analysis",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Temporal Analysis with surprise_temporal()",
        "Streaming Updates",
        "Cumulative Bayesian Updates",
        "Rolling Window Analysis",
        "Anomaly Detection Over Time",
        "Best Practices"
      ],
      "created": "2025-12-29 18:44:13",
      "modified": "2026-04-12 22:52:05",
      "commits": 3
    },
    {
      "source": "model-types.Rmd",
      "filename": "model-types.html",
      "title": "Understanding Model Types",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "The Five Model Types",
        "1. Uniform Model (bs_model_uniform)",
        "2. Base Rate Model (bs_model_baserate)",
        "3. Gaussian Model (bs_model_gaussian)",
        "4. Sampled/KDE Model (bs_model_sampled)",
        "5. de Moivre Funnel Model (bs_model_funnel)",
        "Combining Models: Model Space",
        "How Models Affect Surprise",
        "Global Model Updates",
        "Guidelines for Model Selection"
      ],
      "created": "2025-12-29 18:44:13",
      "modified": "2026-04-12 22:52:05",
      "commits": 3
    },
    {
      "source": "ggplot2-visualization.Rmd",
      "filename": "ggplot2-visualization.html",
      "title": "Visualization with ggplot2",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Loading Example Data",
        "Basic Workflow: Compute then Plot",
        "Color Scales",
        "Sequential Scale: scale_fill_surprise()",
        "Diverging Scale: scale_fill_surprise_diverging()",
        "Binned Scale: scale_fill_surprise_binned()",
        "Combining with Other ggplot2 Elements",
        "Adding Labels",
        "Faceting",
        "Theme Customization",
        "Non-Spatial Data",
        "Best Practices"
      ],
      "created": "2025-12-29 18:44:13",
      "modified": "2026-04-12 22:52:05",
      "commits": 3
    }
  ],
  "_score": 5.301029995663981,
  "_indexed": true,
  "_nocasepkg": "bayesiansurpriser",
  "_universes": [
    "dshkol"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-05-22T08:40:01.000Z",
      "distro": "noble",
      "commit": "83e5f8b06e55a39c93e622582c5be8d57c5680c6",
      "fileid": "05d68e29ff781a7f276ae9c79c23325c0b66c3ddf7cfa85d4879da2e7b9ee848",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dshkol/actions/runs/26277375049"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-05-22T08:40:06.000Z",
      "distro": "noble",
      "commit": "83e5f8b06e55a39c93e622582c5be8d57c5680c6",
      "fileid": "645f741694b02b62dd481f915d1490010390453effff07a10e3e8c16a0ade4a2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dshkol/actions/runs/26277375049"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.0",
      "date": "2026-05-22T08:39:56.000Z",
      "commit": "83e5f8b06e55a39c93e622582c5be8d57c5680c6",
      "fileid": "37483b7aa36316a7f0c9f3f1bbd1887aaccf288e1efe866fe65618909755088c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dshkol/actions/runs/26277375049"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.0",
      "date": "2026-05-22T08:39:33.000Z",
      "commit": "83e5f8b06e55a39c93e622582c5be8d57c5680c6",
      "fileid": "bf4a521e89f3ccbf6e9cb91758dcb97d62601251a4376b36c1096bbc54a90401",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dshkol/actions/runs/26277375049"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.0",
      "date": "2026-05-22T08:40:02.000Z",
      "commit": "83e5f8b06e55a39c93e622582c5be8d57c5680c6",
      "fileid": "11f3c108c85dd8d3de14f690cf08e675523b20428207859bb1b9306c29fe6aa0",
      "status": "success",
      "buildurl": "https://github.com/r-universe/dshkol/actions/runs/26277375049"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-05-22T08:39:30.000Z",
      "commit": "83e5f8b06e55a39c93e622582c5be8d57c5680c6",
      "fileid": "06687907cb2a1f46b74eeb6f51a41b9463bbed3545f4d46ed8420bbdd3210f0a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dshkol/actions/runs/26277375049"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-05-22T08:38:56.000Z",
      "commit": "83e5f8b06e55a39c93e622582c5be8d57c5680c6",
      "fileid": "d34f48e531efe9285b3486fd037f42608388de31c7ff0018891b80429a2a0d26",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dshkol/actions/runs/26277375049"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-05-22T08:38:45.000Z",
      "commit": "83e5f8b06e55a39c93e622582c5be8d57c5680c6",
      "fileid": "df7976b90fdd4f444898df3c159318ec5dee745d284ec8b8ec3a1893bc77e39a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dshkol/actions/runs/26277375049"
    }
  ]
}