Learn R Programming

TFisher (version 0.2.0)

stat.tfisher.omni: Construct omnibus thresholding Fisher's (TFisher) p-value combination statistic.

Description

Construct omnibus thresholding Fisher's (TFisher) p-value combination statistic.

Usage

stat.tfisher.omni(p, TAU1, TAU2, M = NULL, MU = NULL, SIGMA2 = NULL,
  P0 = NULL)

Arguments

p

- input p-values from potentially correlated input sstatistics.

TAU1

- a vector of truncation parameters. Must be in non-descending order.

TAU2

- a vector of normalization parameters. Must be in non-descending order.

M

- correlation matrix of the input statistics. Default = NULL assumes independence

MU

- a vector of means of TFisher statistics. Default = NULL.

SIGMA2

- a vector of variances of TFisher statistics. Default = NULL.

P0

- a vector of point masses of TFisher statistics. Default = NULL.

Value

omni - omnibus TFisher statistic.

pval - p-values of each TFisher tests.

Details

Let \(x_{i}\), \(i = 1,...,n\) be a sequence of individual statistics with correlation matrix M, \(p_{i}\) be the corresponding two-sided p-values, then the TFisher statistics $$TFisher_j = \sum_{i=1}^n -2\log(p_i/\tau_{2j})I(p_i\leq\tau_{1j})$$, \(j = 1,...,d\). The omnibus test statistic is the minimum p-value of these thresholding tests, $$W_o = min_j G_j(Soft_j)$$, where \(G_j\) is the survival function of \(Soft_j\).

References

1. Hong Zhang and Zheyang Wu. "TFisher Tests: Optimal and Adaptive Thresholding for Combining p-Values", submitted.

Examples

Run this code
# NOT RUN {
pval = runif(20)
TAU1 = c(0.01, 0.05, 0.5, 1)
TAU2 = c(0.1, 0.2, 0.5, 1)
stat.tfisher.omni(p=pval, TAU1=TAU1, TAU2=TAU2)
M = matrix(0.3,20,20) + diag(1-0.3,20)
stat.tfisher.omni(p=pval, TAU1=TAU1, TAU2=TAU2, M=M)
# }

Run the code above in your browser using DataLab