GBJ: GBJ.R

View source: R/GBJ.R

GBJR Documentation

GBJ.R

Description

Calculate the Generalized Berk-Jones test statistic and p-value.

Usage

GBJ(test_stats, cor_mat = NULL, pairwise_cors = NULL)

Arguments

test_stats

Vector of test statistics for each factor in the set (i.e. marginal test statistic for each SNP in a gene).

cor_mat

d*d matrix of the correlations between all the test statistics in the set, where d is the total number of test statistics in the set. You only need to specify EITHER cor_mat OR pairwise_cors.

pairwise_cors

A vector of all d(d-1)/2 pairwise correlations between the test statistics. You only need to specify EITHER cor_mat OR pairwise_cors.

Value

A list with the elements:

GBJ

The observed Generalized Higher Criticism test statistic.

GBJ_pvalue

The p-value of this observed value, given the size of the set and correlation structure.

err_code

Sometimes if your p-value is very small (<10^(-12) usually), R/C++ do not have enough precision in their standard routines to calculate the number accurately. In these cases (and very rarely others) we switch to standard Berk-Jones instead (more stable numerically) and let you know with a message here.

Examples

# Should return statistic = 0.9248399 and p_value = 0.2670707
set.seed(100)
Z_vec <- rnorm(5) + rep(1,5)
cor_Z <- matrix(data=0.2, nrow=5, ncol=5)
diag(cor_Z) <- 1
GBJ(test_stats=Z_vec, cor_mat=cor_Z)

GBJ documentation built on May 29, 2024, 1:33 a.m.