mosaic.dt: Mosaic plot as data.table

View source: R/class-plotdata-mosaic.R

mosaic.dtR Documentation

Mosaic plot as data.table

Description

This function returns a data.table of plot-ready data with one row per panel. Columns 'x' and 'y' contain the raw data for plotting. Column 'panel' specifies the panel the data belongs to.

Usage

mosaic.dt(
  data,
  variables,
  statistic = NULL,
  columnReferenceValue = NA_character_,
  rowReferenceValue = NA_character_,
  overlayValues = NULL,
  sampleSizes = c(TRUE, FALSE),
  completeCases = c(TRUE, FALSE),
  evilMode = c("noVariables", "allVariables", "strataVariables"),
  verbose = c(TRUE, FALSE)
)

Arguments

data

data.frame to make plot-ready data for

variables

veupathUtil::VariableMetadataList

statistic

String indicating which statistic to calculate. Vaid options are 'chiSq' and 'all', the second of which will return odds ratios and relative risk.

columnReferenceValue

String representing a value present in the column names of the contingency table

rowReferenceValue

String representing a value present in the row names of the contingency table

overlayValues

veupathUtils::BinList providing overlay values of interest

sampleSizes

boolean indicating if sample sizes should be computed

completeCases

boolean indicating if complete cases should be computed

evilMode

String indicating how evil this plot is ('strataVariables', 'allVariables', 'noVariables')

verbose

boolean indicating if timed logging is desired

Value

data.table plot-ready data

Evil Mode

An 'evilMode' exists. It will do the following:
- when ‘strataVariables' it will return ’no data' as a regular value for strata vars but will discard such cases for the axes vars.
- when ‘allVariables' it will return ’no data' as a regular value for all variables.
- when 'noVariables' it will do the sensible thing and return complete cases only.
- not return statsTables
- allow smoothed means and agg values etc over axes values where we have no data for the strata vars
- return a total count of plotted incomplete cases
- represent missingness poorly, conflate the stories of completeness and missingness, mislead you and steal your soul

Examples

# Construct example data
df <- data.table('entity.xvar' = sample(c('a','b','c'), 100, replace=T),
                 'entity.yvar' = sample(c('1','2','3'), 100, replace=T), stringsAsFactors = F)

# Create VariableMetadataList that specifies variable role in the plot and supplies variable metadata
variables <- veupathUtils::VariableMetadataList(
  veupathUtils::VariableMetadata(
    variableClass = veupathUtils::VariableClass(value = 'native'),
    variableSpec = veupathUtils::VariableSpec(variableId = 'xvar', entityId = 'entity'),
    plotReference = veupathUtils::PlotReference(value = 'xAxis'),
    dataType = veupathUtils::DataType(value = 'STRING'),
    dataShape = veupathUtils::DataShape(value = 'CATEGORICAL')
  ),
  veupathUtils::VariableMetadata(
    variableClass = veupathUtils::VariableClass(value = 'native'),
    variableSpec = veupathUtils::VariableSpec(variableId = 'yvar', entityId = 'entity'),
    plotReference = veupathUtils::PlotReference(value = 'yAxis'),
    dataType = veupathUtils::DataType(value = 'STRING'),
    dataShape = veupathUtils::DataShape(value = 'CATEGORICAL')
  )
)

# Returns a data table with plot-ready data
dt <- mosaic.dt(df, map)

VEuPathDB/plot.data documentation built on Feb. 20, 2025, 6:33 p.m.