DA.ttt: Welch t-test

View source: R/DA.ttt.R

DA.tttR Documentation

Welch t-test

Description

Apply welch t-test to multiple features with one predictor

Usage

DA.ttt(
  data,
  predictor,
  paired = NULL,
  relative = TRUE,
  p.adj = "fdr",
  testStat = function(case, control) {     log2((mean(case) + 0.001)/(mean(control) +
    0.001)) },
  testStat.pair = function(case, control) {     log2(mean((case + 0.001)/(control +
    0.001))) },
  allResults = FALSE,
  ...
)

Arguments

data

Either a matrix with counts/abundances, OR a phyloseq object. If a matrix/data.frame is provided rows should be taxa/genes/proteins and columns samples

predictor

The predictor of interest. Factor, OR if data is a phyloseq object the name of the variable in sample_data(data) in quotation

paired

For paired/blocked experimental designs. Either a Factor with Subject/Block ID for running paired/blocked analysis, OR if data is a phyloseq object the name of the variable in sample_data(data) in quotation

relative

Logical. Should data be normalized to relative abundances. Default TRUE

p.adj

Character. P-value adjustment. Default "fdr". See p.adjust for details

testStat

Function. Function for calculating fold change. Should take two vectors as arguments. Default is a log fold change: log2((mean(case abundances)+0.001)/(mean(control abundances)+0.001))

testStat.pair

Function. Function for calculating fold change. Should take two vectors as arguments. Default is a log fold change: log2(mean((case abundances+0.001)/(control abundances+0.001)))

allResults

If TRUE will return raw results from the t.test function

...

Additional arguments for the t.test function

Value

A data.frame with with results.

Examples

# Creating random count_table and predictor
set.seed(4)
mat <- matrix(rnbinom(1000, size = 0.1, mu = 500), nrow = 100, ncol = 10)
rownames(mat) <- 1:100
pred <- c(rep("Control", 5), rep("Treatment", 5))

# Running t-test
res <- DA.ttt(data = mat, predictor = pred)

Russel88/DAtest documentation built on March 24, 2022, 3:50 p.m.