| association.test.logistic {milorGWAS} | R Documentation |
Mixed logistic regression for GWAS
Description
Mixed logistic regression for GWAS
Usage
association.test.logistic(
x,
Y = x@ped$pheno,
X = matrix(1, nrow(x)),
K,
beg = 1,
end = ncol(x),
algorithm = c("amle", "offset"),
eigenK,
p = 0,
model = c("additive", "dominant", "recessive"),
...
)
Arguments
x |
a bedmatrix |
Y |
phenotype vector. Default is column |
X |
A matrix of covariates (defaults to a column of ones for the intercept) |
K |
A genetic relationship matrix (or a list of such matrices) |
beg |
Index of the first SNP tested for association |
end |
Index of the last SNP tested for association |
algorithm |
Algorithm to use |
eigenK |
eigen decomposition of K (only if |
p |
Number of principal components to include in the model |
model |
Model for the effect allele (allele A2) |
... |
Additional parameter for |
Details
Tests the association between the phenotype and requested SNPs in x.
The phenotype Y is a binary trait. A Wald test is performed using an approximate
method defined by the parameter algorithm.
Parameter model allows to specify an additive model (genotypes A1 A1, A1 A2, and A2 A2
are recoded for analysis as 0, 1 and 2 respectively), a dominant model (genotypes recoded as 0, 1, and 1) or a recessive
model (recoded as 0, 0 and 1).
All other arguments are as in gaston::association.test.
Value
A data frame giving for each SNP the association statistics.
See Also
Examples
data(TTN)
x <- as.bed.matrix(TTN.gen, TTN.fam, TTN.bim)
## Simulation data ##
set.seed(1)
# some covariables
X <- cbind(1, runif(nrow(x)))
# A random GRM
ran <- random.pm( nrow(x))
# random effects (tau = 1)
omega <- lmm.simu(1, 0, eigenK=ran$eigen)$omega
# linear term of the model
lin <- X %*% c(0.1,-0.2) + omega
# vector of probabilitues
pi <- 1/(1+exp( -lin ))
# vector of binary phenotypes
y <- rbinom(nrow(x), 1, pi)
# testing association with 1) the score test, 2) the offset algorithm, 3) the 'amle' algorithm
a1 <- association.test(x, y, X, K = ran$K, method = "lmm", response = "bin")
a2 <- association.test.logistic(x, y, X, K = ran$K, algorithm = "offset")
a3 <- association.test.logistic(x, y, X, K = ran$K, algorithm = "amle")