Type: | Package |
Title: | Add Uncertainty to Data Visualisations |
Version: | 0.1.0 |
Maintainer: | Harriet Mason <harriet.m.mason@gmail.com> |
Description: | A 'ggplot2' extension for visualising uncertainty with the goal of signal suppression. Usually, uncertainty visualisation focuses on expressing uncertainty as a distribution or probability, whereas 'ggdibbler' differentiates itself by viewing an uncertainty visualisation as an adjustment to an existing graphic that incorporates the inherent uncertainty in the estimates. You provide the code for an existing plot, but replace one of the variables with a vector of distributions, and it will convert the visualisation into it's signal suppression counterpart. |
License: | GPL-3 |
URL: | https://harriet-mason.github.io/ggdibbler/ |
Depends: | R (≥ 4.1.0) |
Imports: | distributional, dplyr, ggplot2, rlang, sf |
Suggests: | knitr, rmarkdown, testthat (≥ 3.0.0), vdiffr |
VignetteBuilder: | knitr |
Config/testthat/edition: | 3 |
Encoding: | UTF-8 |
LazyData: | true |
RoxygenNote: | 7.3.2 |
NeedsCompilation: | no |
Packaged: | 2025-07-29 09:41:19 UTC; hmas0003 |
Author: | Harriet Mason |
Repository: | CRAN |
Date/Publication: | 2025-07-31 10:00:31 UTC |
Visualise Sf Objectjects with Uncertainty
Description
Identical to geom_sf, except that the fill for each area will be a distribution. This function will replace the fill area with a grid, where each cell is filled with an outcome from the fill distribution.
Usage
geom_sf_sample(
mapping = aes(),
data = NULL,
stat = "sample",
position = "identity",
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE,
n = NULL,
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
stat |
The statistical transformation to use on the data for this layer.
When using a
|
position |
A position adjustment to use on the data for this layer. This
can be used in various ways, including to prevent overplotting and
improving the display. The
|
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
You can also set this to one of "polygon", "line", and "point" to override the default legend. |
inherit.aes |
If |
n |
A parameter used to control the number of cells in each grid. Each area is broken up into an nxn grid |
... |
Other arguments passed on to
|
Value
A ggplot2 geom representing a sf_sample which can be added to a ggplot object
Examples
# In it's most basic form, the geom will make a subdivision
library(ggplot2)
library(dplyr)
basic_data <- toy_temp_dist |>
dplyr::filter(county_name %in% c("Pottawattamie County", "Mills County", "Cass County"))
basic_data |>
ggplot() +
geom_sf_sample(aes(geometry = county_geometry, fill=temp_dist))
# The original borders of the sf object can be hard to see,
# so layering the original geometry on top can help to see the original boundaries
basic_data |>
ggplot() +
geom_sf_sample(aes(geometry = county_geometry, fill=temp_dist), linewidth=0.1, n=4) +
geom_sf(aes(geometry=county_geometry), fill=NA, linewidth=1)
Sets scale for distributions
Description
Generates a single value from the distribution and uses it to set the default ggplot scale. The scale can be changed later in the ggplot by using any scale_* function
Usage
## S3 method for class 'distribution'
scale_type(x)
Arguments
x |
value being scaled |
Value
A character vector of scale types. The scale type is the ggplot scale type of the outcome of the distribution.
A toy data set that has the ambient temperature as measured by a collection of citizen scientists for each Iowa county
Description
There are several measurements for each county, with no location marker for individual scientists to preserve anonyminity. Counties can have different numbers of observations as well as a different levels of variance between the observations in the county.
Format
A tibble with 99 observations and 4 variables
- county_name
the name of each Iowa county
- recorded_temp
the ambient temperature recorded by the citizen scientist
- scientistID
the ID number for the scientist who made the recording
- county_geometry
the shape file for each county of Iowa
- county_longitude
the centroid longitude for each county of Iowa
- county_latitude
the centroid latitude for each county of Iowa
A toy data set that provides data for a map with the temperature of each area represented by a random variable.
Description
The map shows a wave pattern in temperature on the state of Iowa. Each estimate also has an uncertainty component added, and is represented as a distribution
Format
A tibble with 99 observations and 4 variables
- county_name
the name of each Iowa county
- temp_dist
the temperature of each county as a distribution
- county_geometry
the shape file for each county of Iowa