test.contrast_stagewise: Perform stage-wise contrast testing

View source: R/test_contrast_stagewise.R

test.contrast_stagewiseR Documentation

Perform stage-wise contrast testing

Description

A shortcut version for contrast testing and multiple testing correction using first test.contrast_adjust to perform an ANOVA as a first stage. In the second stage, the functions test.protLMcontrast, prot.p.adjust_protwise and prot.signif are used sequentially only on the proteins retained in the first stage. This approach is more powerful than the classic test.contrast_adjust when testing for contrasts where related proteins are expected to be differentially abundant. This approach is also better for identifying interactions.

Usage

test.contrast_stagewise(protLM, L, level = 0.05, method_stage1 = "fdr",
  add.annotations = TRUE, simplify = TRUE, lfc = 0,
  type_dfs = "residual", custom_dfsS1 = NULL, custom_dfsS2 = NULL,
  exp_unit = NULL, pars_between = NULL, printProgress = FALSE,
  shiny = FALSE, message_extractS1 = NULL, message_testS1 = NULL,
  message_extractS2 = NULL, message_testS2 = NULL)

Arguments

protLM

An object of class protLM.

L

A contrast matrix with the parameter levels as rows and a column for each contrast.

level

The significance level at which the q-value needs to be controlled. Defaults to 5%.

method_stage1

Correction method to be used in the first stage ANOVA. Can be abbreviated. Defaults to "fdr". To get all available methods, type p.adjust.methods. For more information on these methods, see the p.adjust function.

add.annotations

A logical indicating whether the annotations slot of the protLM object should be added as extra columns to each matrix in the returned list of matrices. Defaults to TRUE.

simplify

A logical indicating wheter, if there is only one contrast, a matrix should be returned instead of a list containing one matrix. Defaults to TRUE.

lfc

The minimum (log2) fold-change that is considered scientifically meaningful. Defaults to 0. Ignored when anova = TRUE.

type_dfs

Either one of "residual", "between-within", "Satterthwaite", "exp_between" or "custom". This argument indicates how the degrees of freedom should be calculated. Defaults to "residual". More information is given under 'Details'.

custom_dfsS1

Only used if type_dfs="custom". A list of length equal to the number of models in protLM containing numeric values representing the degrees of freedom that should be used for each model in the protLM object during the anova test in stage 1. Defaults to NULL.

custom_dfsS2

Only used if type_dfs="custom". A list of length equal to the number of models in protLM containing vectors of lenght ncol(L) representing the degrees of freedom that should be used for each contrast in L and each model in the protLM object during stage 2. Defaults to NULL.

exp_unit

Only used if type_dfs="exp_between". The effect that in all models corresponds to the experimental unit.

pars_between

Only used if type_dfs="exp_between". Character vector indicating all parameters in the models that are between-treatment effects. If left to default (NULL), all parameters in the models will be asumed to be between-treatment effects (this is not adviced as the result will mostly be too conservative).

printProgress

A logical indicating whether the R should print a message before calculating the contrasts for each accession. Defaults to FALSE.

shiny

A logical indicating whether this function is being used by a Shiny app. Setting this to TRUE only works when using this function in a Shiny app and allows for dynamic progress bars. Defaults to FALSE.

message_extractS1

Only used when printProgress=TRUE and shiny=TRUE. A single-element character vector: the message to be displayed to the user during the extraction of beta, vcov, df and sigma during stage 1, or NULL to hide the current message (if any).

message_testS1

Only used when printProgress=TRUE and shiny=TRUE. A single-element character vector: the message to be displayed to the user during the testing of the contrasts during stage 1, or NULL to hide the current message (if any).

message_extractS2

Only used when printProgress=TRUE and shiny=TRUE. A single-element character vector: the message to be displayed to the user during the extraction of beta during stage 2, vcov, df and sigma, or NULL to hide the current message (if any).

message_testS2

Only used when printProgress=TRUE and shiny=TRUE. A single-element character vector: the message to be displayed to the user during the testing of the contrasts during stage 2, or NULL to hide the current message (if any).

Details

Calculating degrees of freedom (and hence p values) for mixed models with unbalanced designs is an unresolved issue in the field (see for example here https://stat.ethz.ch/pipermail/r-help/2006-May/094765.html and here https://stat.ethz.ch/pipermail/r-sig-mixed-models/2008q2/000904.html). We offer different approximations and leave it up to the user to select his/her preferred approach. "residual" calculates approximative degrees of freedom by subtracting the trace of the hat matrix from the number of observations. It is the default setting, but this approach might be somewhat too liberal. "Satterthwaite" calculates approximative degrees of freedom using Satterthwaite's approximation (Satterthwaite, 1946). This approximative approach is used in many applications but is rather slow to calculate and might lead to some missing values due difficulties in calculating the Hessian. "exp_between" calculates approximative degrees of freedom by defining on which level the treatments were executed and substracting all degrees of freedom lost due to between-treatement effects (pars_between) from the number of experimental units exp_unit. This allows to mimick the behaviour of type_dfs="between-within" for more complex designs. "custom" Allows the user to provide his/her own degrees of freedom for each contrast and each protein. Custom degrees of freedom should be entered in the custom_dfs field.

Value

A list of matrices, with each matrix in the list corresponding to a contrast in L. Each row of the matrix corresponds to a protein in the protLM object. The estimate column contains the size estimate of the contrast, the se column contains the estimated standard error on the contrast, the Tval column contains the T-value corresponding to the contrast, the pval column holds the p-value corresponding to the contrast and the qval column holds the corrected p-values. Each matrix is sorted from smalles to largest pval with NA values at the bottom of the matrices. If simplify=TRUE and the protLM object contains only one element, the matrix is not present in a list.


statOmics/MSqRob documentation built on Dec. 8, 2022, 6 a.m.