View source: R/anova.haplo.glm.q
anova.haplo.glm | R Documentation |
Perform an analysis of variance between two haplo.glm model fits using the deviances from the fitted objects
## S3 method for class 'haplo.glm'
anova(object, ..., dispersion=NULL, test="Chisq")
object |
A haplo.glm or glm object |
... |
More model fits to compare against the fit in the first argument |
dispersion |
the dispersion parameter for the fitting family. By default it is obtained from the object(s) |
test |
character string for the test of model comparison. Only "Chisq" supported for haplo.glm objects |
Uses print.anova for the displayed result
A data.frame of the anova class, with these columns: Df, Deviance, Resid.Df, Resid.Dev, p-value
haplo.glm
data(hla.demo)
geno <- as.matrix(hla.demo[,c(17,18,21:24)])
keep <- !apply(is.na(geno) | geno==0, 1, any) # SKIP THESE THREE LINES
hla.demo <- hla.demo[keep,] # IN AN ANALYSIS
geno <- geno[keep,] #
attach(hla.demo)
label <-c("DQB","DRB","B")
y <- hla.demo$resp
y.bin <- 1*(hla.demo$resp.cat=="low")
# set up a genotype array as a model.matrix for inserting into data frame
# Note that hla.demo is a data.frame, and we need to subset to columns
# of interest. Also also need to convert to a matrix object, so that
# setupGeno can code alleles and convert geno to 'model.matrix' class.
geno <- setupGeno(geno, miss.val=c(0,NA))
# geno now has an attribute 'unique.alleles' which must be passed to
# haplo.glm as allele.lev=attributes(geno)$unique.alleles, see below
my.data <- data.frame(geno=geno, age=hla.demo$age, male=hla.demo$male,
y=y, y.bin=y.bin)
fit.gaus <- haplo.glm(y ~ male + geno, family = gaussian, na.action=
"na.geno.keep", data=my.data, locus.label=label,
control = haplo.glm.control(haplo.freq.min=0.02))
glmfit.gaus <- glm(y~male, family=gaussian, data=my.data)
anova.haplo.glm(glmfit.gaus, fit.gaus)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.