library(knitr) opts_chunk$set( echo = TRUE, results = 'markup', warning = FALSE, # stop document execution if error (not the default) error = FALSE, message = FALSE, cache = FALSE, fig.width = 8, fig.height = 7, fig.path = "./figures_vignette/", fig.align = 'center') options(width = 170) # instead of warn = 0 by default # include warnings when they occur in the document options(warn = 1)
This vignette focuses on the visualization functionalities available within the
inTextSummaryTable
package.
If you need to see figures bigger, just click on a graphic, and it will pop up more readable.
Summary statistics can be visualized by:
computeSummaryStatisticsTable
function (used for getSummaryStatistics
function)subjectProfileSummaryPlot
functionBy default the subjectProfileSummaryPlot
plots the mean values with
error bars based on standard errors.
Moreover, the subjectProfileSummaryPlot
allows the possibility to add a table
of counts of the number of subject for a specific combination of variables.
This vignette will guide the user to
However, in order to get a full overview of the functionalities the
documentation is available in the console with ? subjectProfileSummaryPlot
.
We will first create example data sets to show how the exporting functionalities
work. The data sets used here are available in the clinUtils
package.
library(inTextSummaryTable) library(clinUtils) library(pander)
# load example data data(dataADaMCDISCP01) dataAll <- dataADaMCDISCP01 labelVars <- attr(dataAll, "labelVars")
Below we compute summary statistics for the laboratory data set.
dataLB <- subset(dataAll$ADLBC, grepl("Baseline|Week", AVISIT)) dataLB$AVISIT <- with(dataLB, reorder(trimws(AVISIT), AVISITN)) dataLB$TRTA <- with(dataLB, reorder(TRTA, TRTAN)) summaryTableDf <- computeSummaryStatisticsTable( data = dataLB, var = "AVAL", rowVar = c("PARCAT1", "PARAM"), colVar = c("TRTA", "AVISIT") )
The code below shows the default visualization, which plots the mean with standard errors suitable for an A4 document, e.g. Word/pdf.
Note that the table below the plot is based on the counts for treatment and
visit variables, as specificed in the colVar
argument of the code chuck above
for computeSummaryStatisticsTable
.
# create the plot dataPlot <- subset( summaryTableDf, !isTotal & PARAM == "Alanine Aminotransferase (U/L)" ) subjectProfileSummaryPlot( data = dataPlot, xVar = "AVISIT", colorVar = "TRTA", labelVars = labelVars, useLinetype = TRUE, tableText = "statN" )
The code below shows the default visualization suitable for a presentation, either in Powerpoint or ioslides.
subjectProfileSummaryPlot( data = dataPlot, xVar = "AVISIT", colorVar = "TRTA", labelVars = labelVars, useLinetype = TRUE, tableText = "statN", style = "presentation" )
Please note that the default font for presentation is Tahoma.
If you don't have this default font available, the R package extrafont might be useful to register fonts with your R graphics device.
The inTextSummaryTable
uses default palettes available in the
clinUtils
package.
However, palettes are fully customizable. Currently, there are two alternative approaches to change the defaults:
subjectProfileSummaryPlot
via the dedicated parameters colorPalette
, shapePalette
,
linetypePalette
Passing input arguments to the function might be convenient when creating one plot.
Instead, passing the global options is very handy when creating multiple graphics, so that the palettes have to be set only once at the beginning of the R script, without the need to copy-paste input arguments in the different visualizations.
If you want to know more about aesthetics options of the
inTextSummaryTable
, there is a dedicated vignette available
here) or with
vignette("inTextSummaryTable-aesthetics", "inTextSummaryTable")
If you want to know more about default options from the
clinUtils
, you may check out the vignette of the package:
vignette("clinUtils-vignette", "clinUtils")
Sections below show below both alternative approaches for setting the palettes.
In this section we guide on how to set custom palettes via the
subjectProfileSummaryPlot
function.
This section focuses on the possibility to set the colorPalette
argument.
# custom color palette by setting a named vector of colors customColorPalette <- c( `Xanomeline Low Dose` = "green", `Xanomeline High Dose` = "red", `Placebo` = "blue" ) subjectProfileSummaryPlot( data = dataPlot, xVar = "AVISIT", colorVar = "TRTA", colorPalette = customColorPalette, labelVars = labelVars, useLinetype = TRUE, tableText = "statN", style = "presentation" )
This section focuses on the possibility to set the shapePalette
and
linetypePalette
arguments.
# custom shape palette customShapePalette <- c(15, 17, 19) subjectProfileSummaryPlot( data = dataPlot, xVar = "AVISIT", colorVar = "TRTA", shapePalette = customShapePalette, labelVars = labelVars, useLinetype = TRUE, tableText = "statN", style = "presentation" ) # custom linetype palette customLinetypePalette <- c("twodash", "dotted", "longdash") subjectProfileSummaryPlot( data = dataPlot, xVar = "AVISIT", colorVar = "TRTA", linetypePalette = customLinetypePalette, labelVars = labelVars, useLinetype = TRUE, tableText = "statN", style = "presentation" )
The inTextSummaryTable
package allows the user to define global options in
the R session.
As mentioned above, setting the global options is convenient because the palettes have to be set only once in the R script or Rmd document.
Please note that the global options have to be set after loading the package. This because when loading the package, the default global options for palettes will overwrite the custom palettes.
Here in practice:
# this is OK library(inTextSummaryTable) options(inTextSummaryTable.colors.plot = customColorPalette) # this does NOT set your custom palette options(inTextSummaryTable.colors.plot = customColorPalette) library(inTextSummaryTable)
Color palettes can be set up with the inTextSummaryTable.colors.plot
option.
# custom color palette by setting a simple vector of colors customColorPalette <- c("blue", "green", "orange") options(inTextSummaryTable.colors.plot = customColorPalette) subjectProfileSummaryPlot( data = dataPlot, xVar = "AVISIT", colorVar = "TRTA", labelVars = labelVars, useLinetype = TRUE, tableText = "statN", style = "presentation" ) # custom color palette by setting a named vector of colors customColorPalette <- c( `Xanomeline Low Dose` = "green", `Xanomeline High Dose` = "red", `Placebo` = "purple" ) options(inTextSummaryTable.colors.plot = customColorPalette) subjectProfileSummaryPlot( data = dataPlot, xVar = "AVISIT", colorVar = "TRTA", labelVars = labelVars, useLinetype = TRUE, tableText = "statN", style = "presentation" )
What shown for the color palette is consistent for shape and linetypes
palettes. In this case, the global options are called
inTextSummaryTable.shapes.plot
and inTextSummaryTable.linetypes.plot
.
# custom shape palette customShapePalette <- c(17, 19, 22) options(inTextSummaryTable.shapes.plot = customShapePalette) subjectProfileSummaryPlot( data = dataPlot, xVar = "AVISIT", colorVar = "TRTA", labelVars = labelVars, useLinetype = TRUE, tableText = "statN", style = "presentation" ) # custom linetype palette customLinetypePalette <- c("dotted", "longdash", "solid") options(inTextSummaryTable.linetypes.plot = customLinetypePalette) subjectProfileSummaryPlot( data = dataPlot, xVar = "AVISIT", colorVar = "TRTA", labelVars = labelVars, useLinetype = TRUE, tableText = "statN", style = "presentation" )
There is always to possibility to switch back to the default palettes of the package:
options(inTextSummaryTable.colors.plot = clinColors) options(inTextSummaryTable.shapes.plot = clinShapes) options(inTextSummaryTable.linetypes.plot = clinLinetypes)
The user can decide to remove the table of counts by setting the parameter
tableText
to NULL
, as the code below shows.
subjectProfileSummaryPlot( data = dataPlot, xVar = "AVISIT", colorVar = "TRTA", labelVars = labelVars, useLinetype = TRUE, tableText = NULL, style = "presentation" )
It is possible to directly plot multiple parameters with the facetVar
argument.
Please note that setting the facetVar
is not compatible with adding a table
of counts underneath the plot.
# create the plot dataPlotFacets <- subset( summaryTableDf, !isTotal & PARAM %in% c( "Alanine Aminotransferase (U/L)", "Albumin (g/L)", "Bilirubin (umol/L)", "Calcium (mmol/L)" ) ) subjectProfileSummaryPlot( data = dataPlotFacets, xVar = "AVISIT", colorVar = "TRTA", labelVars = labelVars, facetVar = c("PARCAT1", "PARAM"), useLinetype = TRUE )
The subjectProfileSummaryPlot
has many options! A non-exaustive demonstration
is presented below.
# plot the median instead of mean # no error bars subjectProfileSummaryPlot( data = dataPlot, xVar = "AVISIT", meanVar = "statMedian", seVar = NULL, colorVar = "TRTA", labelVars = labelVars, useLinetype = TRUE, tableText = "statN", style = "presentation" ) # plot the mean with standard deviation subjectProfileSummaryPlot( data = dataPlot, xVar = "AVISIT", seVar = "statSD", colorVar = "TRTA", labelVars = labelVars, useLinetype = TRUE, tableText = "statN", style = "presentation" ) # change labels subjectProfileSummaryPlot( data = dataPlot, xVar = "AVISIT", xLab = "Time points", yLab = "Mean and Standard Errors", title = "Title of the plot", colorVar = "TRTA", labelVars = labelVars, useLinetype = TRUE, tableText = "statN", style = "presentation" )
pander(sessionInfo())
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.