snp.lhs.tests {snpMatrix} | R Documentation

## Score tests with SNP genotypes as dependent variable

### Description

Under the assumption of Hardy-Weinberg equilibrium, a SNP genotype is a binomial variate with two trials for an autosomal SNP or with one or two trials (depending on sex) for a SNP on the X chromosome. With each SNP in an input `"snp.matrix"` as dependent variable, this function first fits a "base" logistic regression model and then carries out a score test for the addition of further term(s). The Hardy-Weinberg assumption can be relaxed by use of a "robust" option.

### Usage

    snp.lhs.tests(snp.data, base.formula, add.formula, subset, snp.subset,
                    data = sys.parent(), robust = FALSE,
                    control=glm.test.control(maxit=20, epsilon=1.e-4, R2Max=0.98))

### Arguments

`snp.data` | The SNP data, as an object of class `"snp.matrix"` or `"X.snp.matrix"`
`base.formula` | A `formula` object describing the base model, with dependent variable omitted
`add.formula` | A `formula` object describing the additional terms to be tested, also with dependent variable omitted
`subset` | An array describing the subset of observations to be considered
`snp.subset` | An array describing the subset of SNPs to be considered. Default action is to test all SNPs.
`data` | The data frame in which `base.formula`, `add.formula` and `subset` are to be evaluated
`robust` | If `TRUE`, a test which does not assume Hardy-Weinberg equilibrium will be used
`control` | An object giving parameters for the IRLS algorithm fitting of the base model and for the acceptable aliasing amongst new terms to be tested. See code{glm.test.control}

### Details

The tests used are asymptotic chi-squared tests based on the vector of first and second derivatives of the log-likelihood with respect to the parameters of the additional model. The "robust" form is a generalized score test in the sense discussed by Boos(1992). If a `data` argument is supplied, the `snp.data` and `data` objects are aligned by rowname. Otherwise all variables in the model formulae are assumed to be stored in the same order as the columns of the `snp.data` object.

### Value

A data frame containing, for each SNP,

`Chi.squared` | The value of the chi-squared test statistic
`Df` | The corresponding degrees of freedom
`Df.residual` | The residual degrees of freedom for the base model; i.e. the number of observations minus the number of parameters fitted

For the logistic model, the base model can, in some circumstances, lead to perfect prediction of some observations (i.e. fitted probabilities of 0 or 1). These observations are ignored in subsequent calculations; in particular they are not counted in the residual degrees of freedom.

### Note

A factor (or several factors) may be included as arguments to the function `strata(...)` in the `base.formula`. This fits all interactions of the factors so included, but leads to faster computation than fitting these in the normal way. Additionally, a `cluster(...)` call may be included in the base model formula. This identifies clusters of potentially correlated observations (e.g. for members of the same family); in this case, an appropriate robust estimate of the variance of the score test is used.

### Author(s)

David Clayton david.clayton@cimr.cam.ac.uk

### References

Boos, Dennis D. (1992) On generalized score tests. The American Statistician, 46:327-333.

### See Also

`glm.test.control`,`snp.rhs.tests` `single.snp.tests`, `snp.matrix-class`, `X.snp.matrix-class`

### Examples

    data(testdata)
    slt1 <- snp.lhs.tests(Autosomes[,1:10], ~cc, ~region, data=subject.data)
    print(slt1)
    slt2 <- snp.lhs.tests(Autosomes[,1:10], ~strata(region), ~cc,
       data=subject.data)
    print(slt2)

[Package snpMatrix version 1.4.2 Index]