Skip to contents

`r lifecycle::badge("stable")`

A widget that generates a scatter plot of group-level metric results, plotting the denominator on the x-axis and the numerator on the y-axis.

Usage

Widget_ScatterPlot(
  dfResults,
  lMetric = NULL,
  dfGroups = NULL,
  dfBounds = NULL,
  bAddGroupSelect = TRUE,
  strShinyGroupSelectID = "GroupID",
  bDebug = FALSE
)

Arguments

dfResults

`data.frame` A stacked summary of analysis pipeline output. Created by passing a list of results returned by [Summarize()] to [BindResults()]. Expected columns: `GroupID`, `GroupLevel`, `Numerator`, `Denominator`, `Metric`, `Score`, `Flag`, `MetricID`, `StudyID`, `SnapshotDate`.

lMetric

`list` Metric-specific metadata for use in charts and reporting. Created by passing an `lWorkflow` object to [MakeMetric()] and turing it into a list. Expected columns: `File`,`MetricID`, `Group`, `Abbreviation`, `Metric`, `Numerator`, `Denominator`, `Model`, `Score`, and `strThreshold`. For more details see the Data Model vignette: `vignette("DataModel", package = "gsm.kri")`.

dfGroups

`data.frame` Group-level metadata dictionary. Created by passing CTMS site and study data to [MakeLongMeta()]. Expected columns: `GroupID`, `GroupLevel`, `Param`, `Value`.

dfBounds

`data.frame` Set of predicted percentages/rates and upper- and lower-bounds across the full range of sample sizes/total exposure values for reporting. Created by passing `dfResults` and `dfMetrics` to [MakeBounds()]. Expected columns: `Threshold`, `Denominator`, `Numerator`, `Metric`, `MetricID`, `StudyID`, `SnapshotDate`.

bAddGroupSelect

`logical` Add a dropdown to highlight sites? Default: `TRUE`.

strShinyGroupSelectID

`character` Element ID of group select in Shiny context. Default: `'GroupID'`.

bDebug

`logical` Print debug messages? Default: `FALSE`.

Examples

## Filter data to one metric and snapshot
reportingResults_filter <- gsm.core::reportingResults %>%
  dplyr::filter(MetricID == "Analysis_kri0001" & SnapshotDate == max(SnapshotDate))

reportingMetrics_filter <- gsm.core::reportingMetrics %>%
  dplyr::filter(MetricID == "Analysis_kri0001") %>%
  as.list()

reportingBounds_filter <- gsm.core::reportingBounds %>%
  dplyr::filter(MetricID == "Analysis_kri0001" & SnapshotDate == max(SnapshotDate))

Widget_ScatterPlot(
  dfResults = reportingResults_filter,
  lMetric = reportingMetrics_filter,
  dfGroups = gsm.core::reportingGroups,
  dfBounds = reportingBounds_filter
)