additive.test: A test for gene-environment interaction under an additive...

Description Usage Arguments Details Value References See Also Examples

View source: R/additive.test.R

Description

Performs a likelihood ratio test for gene-environment interaction under an additive risk model for case-control data using a standard logistic regression. A set of constraints is imposed to log-odds-ratio parameters to approximate the null model of no interaction under additive risk models. The additive interaction test under gene-environment independence assumption is performed by utilizing the retrospective likelihood by Chatterjee and Carroll (2005).

Usage

1
2
additive.test(data, response.var, snp.var, exposure.var, main.vars=NULL, 
              strata.var=NULL, op=NULL)

Arguments

data

Data frame containing all the data. No default.

response.var

Name of the binary response variable coded as 0 (controls) and 1 (cases). No default.

snp.var

Name of the genotype variable coded as 0, 1, 2 (or 0, 1). No default.

exposure.var

Name of the exposure variable coded as 0, 1, 2 (or 0, 1). No default.

main.vars

Character vector of variable names or a formula for all covariates of interest which need to be included in the model as main effects. The default is NULL.

strata.var

Name of the stratification variable for a retrospective likelihood. This option allows the genotype frequency to vary by the discrete level of the stratification variable. Ethnic or geographic origin of subjects, for example, could be used to define strata. The default is NULL.

op

A list of options with possible names genetic.model, optim.method, indep, maxiter and reltol (see details). The default is NULL.

Details

A maximum likelihood for a full model is obtained by optimizing a logistic regression model using a standard binomial likelihood (i.e. prospective likelihood) while a maximum likelihood for a null model is obtained by fitting a reduced model with a set of constaints imposed on logistic regression parameters to approximate the null model of no interaction in an additive risk model. The additive interaction test under the gene-environment independence assumption can be conducted by utilizing the retrospective likelihood by Chatterjee and Carroll (2005). The following is the definition of the likelihood under the gene-environment independence assumption:

Definition of the likelihood under the gene-environment independence assumption:

Let D = 0, 1 be the case-control status, G = 0, 1, 2 denote the SNP genotype, S = 1, ..., k denote the levels of the stratification variable and Z be the design matrix for all the covariates including G, the interactions, and a column for the intercept parameter. If f_s denotes the allele frequency for stratum s, then

P(G = 0) = (1 - f_s)^2,

P(G = 1) = 2*f_s*(1 - f_s),

P(G = 2) = (f_s)^2.

If xi_s = log(f_S/(1 - f_s)), then

log(P(G=1)/P(G=0)) = log(2) + xi_s

and

log(P(G=2)/P(G=0)) = 2*xi_s.

Let theta(d,g) = d*Z*beta + I(g=1)*log(2) + g*xi_s.

Then the likelihood for a subject is P(D=d, G=g | Z, S) = exp(theta_s(d,g))/SUM[exp(theta_s(d,g))] where the sum is taken over the 6 combinations of d and g.

Options list:

Below are the names for the options list op. All names have default values if they are not specified.

Value

A list containing the following:

References

Han, S. S, Rosenberg P. S, Garcia-Closas M, Figueroa J. D, Silverman D, Chanock S. J, Rothman N, and Chatterjee N. Likelihood ratio test for detecting gene (G) environment (E) interactions under the additive risk model exploiting G-E independence for case-control data. Am J of Epidemiol, 2012; 176:1060-7.

Chatterjee, N. and Carroll, R. Semiparametric maximum likelihood estimation exploting gene-environment independence in case-control studies. Biometrika, 2005, 92, 2, pp.399-418.

See Also

snp.logistic, snp.score

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
 # Use the ovarian cancer data
 data(Xdata, package="CGEN")

 table(Xdata[, "gynSurgery.history"])

 # Recode the exposure variable so that it is 0-1
 temp <- Xdata[, "gynSurgery.history"] == 2
 Xdata[temp, "gynSurgery.history"] <- 1 

 # Standard likelihood (indep = FALSE by default)
 out1 <- additive.test(Xdata, "case.control", "BRCA.status", "gynSurgery.history", 
               main.vars=c("n.children","oral.years"), op=list(genetic.model=1))
 
 # Retrospective likelihood (indep = TRUE) for G by E independence assumption
 out2 <- additive.test(Xdata, "case.control", "BRCA.status", "gynSurgery.history", 
               main.vars=~n.children+oral.years, strata.var="ethnic.group",
               op=list(indep=TRUE, genetic.model=1))

 

Example output

Loading required package: survival
Loading required package: mvtnorm

   0    2 
1396  183 
Warning message:
In additive.test(Xdata, "case.control", "BRCA.status", "gynSurgery.history",  :
  SNP only has 2 levels. Changing genetic.model.
Warning messages:
1: In additive.test(Xdata, "case.control", "BRCA.status", "gynSurgery.history",  :
  SNP only has 2 levels. Changing genetic.model.
2: In snp.logistic(myDATA3, "y", "x1", main.vars = c("x2", vars0),  :
  For stability of the algorithm, continuous variables should be scaled
3: In snp.logistic(myDATA3, "y", "x1", main.vars = c("x2", vars0),  :
  For stability of the algorithm, continuous variables should be scaled

CGEN documentation built on April 28, 2020, 8:08 p.m.