Learn R Programming

HapEstXXR (version 0.1-8)

single.snp.test: Regression analysis with single SNP genotypes as independent variable

Description

This function fits a generalized linear model with quantative, dichotomous or survival trait as dependent variable and one or more potential covariates. In case of family data the weighted TDT statistic is used.

Usage

single.snp.test(snps, trait, adj.var = NULL, type = c("gaussian", "binomial", "families", "casecohort"), famid, patid, fid, mid, start.time, stop.time, subcohort, stratvar = NA, robust = FALSE, marker.label = NA, prt = TRUE, ties = "efron")

Arguments

snps
Matrix of alleles, such that each locus has one column of alleles (R code: 1 = 1/1, 3 = 1/2, 2 = 2/2, 0 = missing). Rows contains alleles for each subject.
trait
Vector of trait values. For case control data use type= "binomial", trait must have values of 1 for event, 0 for no event.
adj.var
Matrix of (non-genetic) covariates used to adjust the regression model.
type
Character string defining type of trait, with values of gaussian, binomial, families, survival, and casecohort.
famid
vector; Identifier for every family; needed by type="families".
patid
vector; Identifier for every individual; needed by type="families" and type="casecohort".
fid
vector; Identifier for father (0=unkown); needed by type="families".
mid
vector; Identifier for mother (0=unkown); needed by type="families".
start.time
vector; age at the start of the follow-up.
stop.time
vector; age at the end of the follow-up.
subcohort
A logical value (TRUE or FALSE). If TRUE, the individual is in the subcohort.
stratvar
vector; names the variables that determine the stratification.ss
robust
A logical value (TRUE or FALSE). If TRUE, request the robust sandwich estimate.
marker.label
Vector of labels for marker.
prt
A logical value (TRUE or FALSE). If TRUE, an overview is printed.
ties
defines the handling of ties in case-cohort design: "efron" (default),"breslow","exact".

Value

single.snp.test returns an object of class data.frame containing the following components:
snp
snp number
N
number of individuals
type
type of depending variable
beta
estimation of beta coefficient out of full regression model
se(beta)
estimation of standard error of beta coefficient out of full regression model
exp(beta)
Odds ratio=exp(beta.estimate) are calculated, if type = "binomial". In case of type = "casecohort" hazard ratio is calculated.
lower.95
lower limit of 95 % confidence intervall for exp(beta).
upper.95
upper limit of 95 % confidence intervall for exp(beta).
aic
Akaike's An Information Criterion (AIC) of full model

Details

For normal distributed phenotypes from independent individuals we prefer an F test and for case control data we prefer the likelihood ratio test (logistic regression) in comparison of full model with genetic and non-genetic factors to a reduced model, which includes only non-genetic variables. In the case of no specified non-genetic variable only the intercept is used. If one of these tests are significance we assume a genetic effect. In case of family data the weigthed TDT statistic is used.

So far SURVIVAL data is not supported.

Cox proportional hazards regression modified for case cohort designs according to the Prentice method will be used by type="casecohort".

As genetic effect the allele dosis (0, 1, 2) is modelled.

References

Knueppel S, Esparza-Gordillo J, Marenholz I, Holzhuetter HG,

Bauerfeind A, Ruether A, Weidinger S, Lee Y-A, Rohde K.

Multi-locus stepwise regression: a haplotype-based algorithm

for finding genetic associations applied to atopic dermatitis.

BMC Med Genet 2012;13(1):8.

See Also

single.haplotype.test

Examples

Run this code
N <- 2000
nloci <- 14
set.seed(1234)
y <- sample(c(0, 1), N, replace = TRUE)
snp <- matrix(sample(c(1, 2, 3), N * nloci, replace = TRUE), 
              ncol = nloci)
colnames(snp) <- paste("SNP", 1:nloci, sep = "")

adj.var <- matrix(rnorm(N * 3), ncol = 3)
colnames(adj.var) <- paste("A", 1:3, sep = "")

sst <- single.snp.test(snps = snp, trait = y, adj.var = adj.var,
    type = "binomial", prt = TRUE)

Run the code above in your browser using DataLab