SKAT.continuous {Ravages} | R Documentation |
Multi group SKAT test using Liu et al. approximation
Description
Peforms SKAT on a continuous phenotype using Liu et al. approximation
Usage
SKAT.continuous(x, NullObject, genomic.region = x@snps$genomic.region,
weights = (1 - x@snps$maf)**24, maf.threshold = 0.5,
estimation.pvalue = "kurtosis", cores = 10, debug = FALSE )
Arguments
x |
A bed.matrix |
NullObject |
A list returned from |
genomic.region |
A factor defining the genomic region of each variant |
weights |
A vector with the weight of each variant. By default, the weight of each variant is inversely proportionnal to its MAF, as it was computed in the original SKAT method |
maf.threshold |
The MAF above which variants are removed (default is to keep all variants) |
estimation.pvalue |
Whether to use the skewness ("skewness") or the kurtosis ("kurtosis") for the chi-square approximation |
cores |
How many cores to use for moments computation, set at 10 by default |
debug |
Whether to return the mean, standard deviation, skewness and kurtosis of the statistics. Set at FALSE by default |
Details
The method from Liu et al. 2008 is used where p-values are estimated using a chi-square approximation from moment's
If estimation.pvalue = "kurtosis"
, the kurtosis is used instead of skewness in the chi-square approximation. This is equivalent to "liu.mod" in SKAT package.
Value
A data frame containing for each genomic region:
stat |
The observed statistics |
p.value |
The p-value of the test |
If debug = TRUE
, the mean, standard deviation, skewness and kurtosis used to compute the p-value are returned
References
Wu et al. 2011, Rare-variant association testing for sequencing data with the sequence kernel association test, American Journal of Human Genetics 82-93 doi:10.1016/j.ajhg.2011.05.029;
Liu et al. 2008, A new chi-square approximation to the distribution of non-negative definite quadratic forms in non-central normal variables, Computational Statistics & Data Analysis, doi:10.1016/j.csda.2008.11.025
See Also
Examples
#Import data in a bed matrix
x <- as.bed.matrix(x=LCT.matrix.bed, fam=LCT.matrix.fam, bim=LCT.snps)
#Add population
x@ped[,c("pop", "superpop")] <- LCT.matrix.pop1000G[,c("population", "super.population")]
#Select EUR superpopulation
x <- select.inds(x, superpop=="EUR")
x@ped$pop <- droplevels(x@ped$pop)
#Group variants within known genes
x <- set.genomic.region(x)
#Filter of rare variants: only non-monomorphic variants with
#a MAF lower than 2.5%
#keeping only genomic regions with at least 10 SNPs
x1 <- filter.rare.variants(x, filter = "whole", maf.threshold = 0.025, min.nb.snps = 10)
#run SKAT using a random continuous phenotype
#Fit Null model
x1.H0 <- NullObject.parameters(rnorm(nrow(x1)), RVAT = "SKAT", pheno.type = "continuous")
SKAT.continuous(x1, x1.H0, cores = 1)