Package 'ExploreModelMatrix'

Title: Graphical Exploration of Design Matrices
Description: Given a sample data table and a design formula, ExploreModelMatrix generates an interactive application for exploration of the resulting design matrix. This can be helpful for interpreting model coefficients and constructing appropriate contrasts in (generalized) linear models. Static visualizations can also be generated.
Authors: Charlotte Soneson [aut, cre] , Federico Marini [aut] , Michael Love [aut] , Florian Geier [aut] , Michael Stadler [aut]
Maintainer: Charlotte Soneson <[email protected]>
License: MIT + file LICENSE
Version: 1.17.0
Built: 2024-06-30 02:42:01 UTC
Source: https://github.com/bioc/ExploreModelMatrix

Help Index


Explore model matrix

Description

Given a sample data table and a design formula, explore the resulting design matrix graphically in an interactive application.

Usage

ExploreModelMatrix(sampleData = NULL, designFormula = NULL)

Arguments

sampleData

(optional) A data.frame or DataFrame with sample information. If set to NULL, the user can upload the sample information from a tab-separated text file inside the app, or choose among a collection of example designs provided in the app.

designFormula

(optional) A formula. All components of the terms must be present as columns in sampleData. If set to NULL, the design formula can be specified after launching the app.

Value

A Shiny app object

Author(s)

Charlotte Soneson, Federico Marini, Michael I Love, Florian Geier, Michael B Stadler

Examples

app <- ExploreModelMatrix(
  sampleData = data.frame(genotype = rep(c("A", "B"), each = 4),
                          treatment = rep(c("treated", "untreated"), 4)),
  designFormula = ~genotype + treatment
)
if (interactive()) shiny::runApp(app)

Visualize design matrix

Description

Given a sample table and a design formula, generate a collection of static plots for exploring the resulting design matrix graphically. This function is called internally by ExploreModelMatrix(), but can also be used directly if interactivity is not required.

Usage

VisualizeDesign(
  sampleData,
  designFormula = NULL,
  flipCoordFitted = FALSE,
  flipCoordCoocc = FALSE,
  textSizeFitted = 5,
  textSizeCoocc = 5,
  textSizeLabsFitted = 12,
  textSizeLabsCoocc = 12,
  lineWidthFitted = 25,
  addColorFitted = TRUE,
  colorPaletteFitted = scales::hue_pal(),
  dropCols = NULL,
  designMatrix = NULL
)

Arguments

sampleData

A data.frame of DataFrame with sample information.

designFormula

A formula. All components of the terms must be present as columns in sampleData.

flipCoordFitted, flipCoordCoocc

A logical, whether to flip the coordinate axes in the fitted values/co-occurrence plot, respectively.

textSizeFitted, textSizeCoocc

A numeric scalar giving the text size in the fitted values/co-occurrence plot, respectively.

textSizeLabsFitted, textSizeLabsCoocc

A numeric scalar giving the text size for the axis labels in the fitted values/co-occurrence plot, respectively.

lineWidthFitted

A numeric scalar giving the maximal length of a row in the fitted values plot, before it is split and printed on multiple lines

addColorFitted

A logical scalar indicating whether the terms in the fitted values plot should be shown in different colors.

colorPaletteFitted

A function returning a color palette to use for coloring the model coefficients in the fitted values plot.

dropCols

A character vector with columns to drop from the design matrix, or NULL if no columns should be dropped.

designMatrix

A numeric matrix, which can be supplied as an alternative to designFormula. Rows must be in the same order as the rows in sampleData.

Details

Note that if a design matrix is supplied (via the designMatrix argument), caution is required in order to interpret especially the cooccurrence plot in the situation where the provided sampleData contains additional columns not used to generate the design matrix (or when it does not contain all the relevant columns).

Value

A list with the following elements:

  • sampledata: A data.frame, expanded from the input sampleData

  • plotlist: A list of plots, displaying the fitted values for each combination of predictor values, in terms of the model coefficients.

  • designmatrix: The design matrix, after removing any columns in dropCols

  • pseudoinverse: The pseudoinverse of the design matrix

  • vifs: A data.frame with calculated variance inflation factors

  • colors: A vector with colors to use for different model coefficients

  • cooccurrenceplots: A list of plots, displaying the co-occurrence pattern for the predictors (i.e., the number of observations for each combination of predictor values)

  • totnbrrows: The total number of "rows" in the list of plots of fiitted values. Useful for deciding the required size of the plot canvas.

Author(s)

Charlotte Soneson

Examples

VisualizeDesign(
  sampleData = data.frame(genotype = rep(c("A", "B"), each = 4),
                          treatment = rep(c("treated", "untreated"), 4)),
  designFormula = ~genotype + treatment
)