##########################################################
# Load and process data set
##########################################################
data(bmiData)
#----------------------------------------------------#
# Recast treatment variables to (-1,1) --- required.
#----------------------------------------------------#
bmiData$A1[which (bmiData$A1=="MR")] <- 1L
bmiData$A1[which (bmiData$A1=="CD")] <- -1L
bmiData$A2[which (bmiData$A2=="MR")] <- 1L
bmiData$A2[which (bmiData$A2=="CD")] <- -1L
bmiData$A1 <- as.integer(bmiData$A1)
bmiData$A2 <- as.integer(bmiData$A2)
#----------------------------------------------------#
# define response y to be the negative 12 month
# change in BMI from baseline
#----------------------------------------------------#
bmiData$y <- -100*(bmiData[,6] - bmiData[,4])/bmiData[,4]
##########################################################
# Second-stage regression
##########################################################
#----------------------------------------------------#
# Create modelObj object for main effect component
#----------------------------------------------------#
moMain <- buildModelObj(model = ~ gender + parentBMI + month4BMI,
solver.method = 'lm')
#----------------------------------------------------#
# Create modelObj object for contrast component
#----------------------------------------------------#
moCont <- buildModelObj(model = ~ parentBMI + month4BMI,
solver.method = 'lm')
iqSS <- iqLearnSS(moMain = moMain,
moCont = moCont,
data = bmiData,
response = bmiData$y,
txName = "A2",
iter = 0)
##########################################################
# First-stage regression - Single Regression Step
##########################################################
#----------------------------------------------------#
# Create modelObj object for main effect component
#----------------------------------------------------#
moMain <- buildModelObj(model = ~ gender + race + parentBMI + baselineBMI,
solver.method = 'lm')
#----------------------------------------------------#
# Create modelObj object for contrast component
#----------------------------------------------------#
moCont <- buildModelObj(model = ~ parentBMI + month4BMI,
solver.method = 'lm')
iqFSM <- iqLearnFSM(moMain = moMain,
moCont = moCont,
data = bmiData,
response = iqSS,
txName = "A1",
iter = 0)
# Estimated Q-functions
vals <- qFuncs(iqFSM)
head(vals)
# Residuals
res <- residuals(iqFSM)
head(res)
# Model parameter estimates
coef(iqFSM)
# Summary information for regression analysis
summary(iqFSM)
# Standard lm plots
plot(iqFSM)
# Value object returned by lm
fitObj <- fitObject(iqFSM)
fitObj
# All standard lm methods can be applied to the elements of this list.
summary(fitObj[[ "Combined" ]])
coef(fitObj[[ "Combined" ]])
head(residuals(fitObj[[ "Combined" ]]))
head(fitted.values(fitObj[[ "Combined" ]]))
plot(fitObj[[ "Combined"]])
##########################################################
# First-stage regression - Iterative Regression Step
##########################################################
iqFSM <- iqLearnFSM(moMain = moMain,
moCont = moCont,
data = bmiData,
response = iqSS,
txName = "A1",
iter = 100)
# Estimated Q-functions
vals <- qFuncs(iqFSM)
head(vals)
# Residuals
res <- residuals(iqFSM)
head(res)
# Model parameter estimates
coef(iqFSM)
# Summary information for regression analysis
summary(iqFSM)
# Standard lm plots
plot(iqFSM)
# Value object returned by lm
fitObj <- fitObject(iqFSM)
fitObj
# All standard lm methods can be applied to the elements of this list.
summary(fitObj[[ "MainEffect" ]])
coef(fitObj[[ "MainEffect" ]])
head(residuals(fitObj[[ "MainEffect" ]]))
head(fitted.values(fitObj[[ "MainEffect" ]]))
plot(fitObj[[ "MainEffect"]])
summary(fitObj[[ "Contrast" ]])
coef(fitObj[[ "Contrast" ]])
head(residuals(fitObj[[ "Contrast" ]]))
head(fitted.values(fitObj[[ "Contrast" ]]))
plot(fitObj[[ "Contrast"]])
Run the code above in your browser using DataLab