## apply to normal data (fitDRModel leads to the same results)
data(biom)
## produce first stage fit (using dose as factor)
anMod <- lm(resp~factor(dose)-1, data=biom)
drFit <- coef(anMod)
vCov <- vcov(anMod)
dose <- sort(unique(biom$dose))
## now fit an emax model to these estimates
gfit <- gFitDRModel(dose, drFit, vCov, model = "emax",
bnds = c(0.01, 2))
## a lot of things can be done with gDRMod objects
print(gfit)
summary(gfit)
coef(gfit)
## see ?vcov.gDRMod for the caveats of the asymptotic
## inference statements
vcov(gfit)
predict(gfit, se.fit = TRUE)
plot(gfit, CI=TRUE, plotData = "meansCI")
## example for binary data (migraine)
data(migraine)
PFrate <- migraine$painfree/migraine$ntrt
doseVec <- migraine$dose
doseVecFac <- as.factor(migraine$dose)
## fit logistic regression with dose as factor
logfit <- glm(PFrate~doseVecFac-1, family = binomial,
weights = migraine$ntrt)
drEst <- coef(logfit)
vCov <- vcov(logfit)
## now fit an Emax model (on logit scale)
gfit2 <- gFitDRModel(doseVec, drEst, vCov, model = "emax", bnds = c(0,300))
## model fit on logit scale
plot(gfit2)
## now fit placebo adjusted data
data(biom)
## produce first stage fit (using dose as factor)
anMod <- lm(resp~factor(dose), data=biom)
## estimates (contrasts to placebo)
drFitC <- coef(anMod)[-1]
vCovC <- vcov(anMod)[-1,-1]
dose <- sort(unique(biom$dose))[-1]
## now fit an emax model to these estimates
gfit3 <- gFitDRModel(dose, drFitC, vCovC, model = "emax",
bnds = c(0.01, 2), intercept = FALSE)
plot(gfit3, plotData = "meansCI")
Run the code above in your browser using DataLab