EM {hapassoc} | R Documentation |
EM algorithm to fit maximum likelihood estimates of trait associations with SNP haplotypes
Description
This function takes a dataset of haplotypes in which rows for
individuals of uncertain phase have been augmented by "pseudo-individuals"
who carry the possible multilocus genotypes consistent with
the single-locus phenotypes. The EM algorithm is used to find
MLE's for trait associations with covariates in generalized linear models.
Usage
EM(form,haplos.list,baseline = "missing" ,family = binomial(),
gamma = FALSE, maxit = 50, tol = 0.001, ...)
Arguments
form |
model equation in usual R format |
haplos.list |
list of haplotype data from PreEM |
baseline |
optional, haplotype to be used for baseline coding. Default
is the most frequent haplotype. |
family |
binomial, poisson, gaussian or gamma are supported, default=binomial |
gamma |
initial estimates of haplotype frequencies, default values are calculated in PreEM using standard haplotype-counting
(i.e. EM algorithm without adjustment for non-haplotype covariates) |
maxit |
maximum iterations of the EM loop, default=50 |
tol |
convergence tolerance in terms of the maximum difference in
parameter estimates between interations; default=0.001 |
... |
additional arguments to be passed to the glm function such
as starting values for parameter estimates in the risk model |
Value
it |
number of iterations of the EM algorithm |
beta |
estimated regression coefficients |
gamma |
estimated haplotype frequencies |
fits |
fitted values of the trait |
wts |
final weights calculated in last iteration of the EM loop. These are estimates of the
conditional probabilities of each multilocus genotype given the observed
single-locus genotypes. |
var |
joint variance-covariance matrix of the estimated regression
coefficients and the estimated haplotype frequencies |
dispersionML |
maximum likelihood estimate of dispersion parameter
(to get the moment estimate, use summary.EM ) |
family |
family of the generalized linear model (e.g. binomial,
gaussian, etc.) |
response |
trait value |
converged |
TRUE/FALSE indicator of convergence. If the algorithm
fails to converge, only the converged indicator is returned. |
See Also
PreEM
,summary.EM
,glm
,family
.
Examples
data(hypoDat)
example.preEM<-PreEM(hypoDat, 3)
names(example.preEM$haploDM)
# "h000" "h001" "h010" "h011" "h100" "pooled"
# Logistic regression, baseline group: '001/001'
example.regr <- EM(affected ~ attr + h000+ h010 + h011 + h100 + pooled,
example.preEM, family=binomial())