grottaBar: grottaBar

View source: R/grottaBar.R

grottaBarR Documentation

grottaBar

Description

Automates the production of a Grotta Bar using ggplot()

Usage

grottaBar(x,groupName,scoreName,strataName = NULL,
          colorScheme="lowGreen",
          printNumbers = "count",
          nCol = 1, dir = "v",
          width = 0.9,
          textSize = 15, numberSize = 5,
          textFace = "plain",
          textColor = "black", textCut = 0,
          lineSize = 0.5,
          returnData = FALSE,
          ...
)

Arguments

x

a 2- or 3- dimensional table, returned by the table() function

groupName

a character string giving the name of the group varialble

scoreName

a character string giving outcome (mRS) labels

strataName

a character string giving the strata variable name

colorScheme

a character string indicating the colors that should be used by the plot

printNumbers

a character string indicating if numbers should be printed for each category.

nCol

an integer indicating the number of columns to use for displaying stratified results. Has no effect if no stratification is used.

dir

a character indicating if stratified results should be laid out vertically ("v") or horizontally "h".

width

a number adjusting the width of the lines between bars

textSize

a number indicating the size of text labels

numberSize

a number indicating the size of printed numbers

textFace

a character string indicating font face of printed numbers. Can be "plain", "bold", "italic" or "bold.italic".

textColor

vector of two colors for text labels

textCut

Controls when the color of the text changes. The first textCut categories will use the first color

lineSize

a number indicating the thickness of lines in the plot

returnData

a boolean indicating if the data used to create the plot should be returned. For expert users only.

...

additional arguments. Ignored except for colourScheme and textColour which will override their counterpart arguments.

Details

This tool produces a "Grotta" bar chart based on a table of count data. A Grotta bar chart is a common data visualisation tool in stroke research, and is in essence a horizontally stacked proportional bar chart showing the distribution of ordinal outcome data (typically the modified Rankin Scale) across groups, with lines drawn connecting categories across groups.

The tool provides three default options for colorScheme:

  • "lowGreen" A "traffic light" gradient from green to red, where low scores are colored green

  • "lowRed" A "traffic light" gradient from red to green, where low scores are colored red

  • "grayscale" A grayscale gradient for producing a black and white plot

In addition to these, setting colorScheme="custom" allows for a user-specified color scheme by using the ggplot2 family of scale_fill_ functions.

The options for printNumbers are:

  • "count" The raw counts in the table.

  • "proportion" The within-group proportion, rounded to 2 decimal places.

  • "percentage" The within-group percentage, rounded to 2 decimal places.

  • "count.percentage" The raw count with percentage in parentheses.

  • "none" Do not print any numbers.

These options may be abbreviated. "p" is not a valid abbreviation as it matches to multiple options. The minimal abbreviation for "count.percentage" is "c.p"

Value

A ggplot object, or a list containing a ggplot object and the data used to generate it.

Examples


df <- alteplase
df$mRS <- df$mRS -1
x <- table(mRS=df$mRS,
           Group=df$treat,
           Time=df$time)

grottaBar(x,groupName="Group",
          scoreName = "mRS",
          strataName="Time",
          colorScheme ="lowGreen"
 )

  grottaBar(x,groupName="Time",
          scoreName = "mRS",
          strataName="Group",
          colorScheme ="grayscale"
 )

x <- table(mRS=df$mRS,
          Group=df$treat)

   grottaBar(x,groupName="Group",
             scoreName = "mRS",
             colorScheme ="custom"
   ) + ggplot2::scale_fill_brewer(palette = "Spectral", direction=-1)

  grottaBar(x,groupName="Group",
          scoreName = "mRS",
          colorScheme ="custom",
          textFace = "italic",
          printNumbers = "count.percentage"
 ) + viridis::scale_fill_viridis(discrete = TRUE,direction = -1)


grottaBar(
          x,
          groupName = "Group",
          scoreName = "mRS",
          colorScheme = "custom",
          textFace = "italic",
          printNumbers = "count.percentage"
) + viridis::scale_fill_viridis(discrete = TRUE, direction = -1)


grottaBar(x,groupName="Group",
           scoreName = "mRS",
           colorScheme ="custom",
           textFace = "italic",
           textColor = c("black","white"),
           textCut = 5,
           printNumbers = "count.percentage"
) + viridis::scale_fill_viridis(discrete = TRUE,direction = -1)



rankinPlot documentation built on Feb. 16, 2023, 5:55 p.m.