##########################################################
# Load and process data set
##########################################################
data(bmiData)
#----------------------------------------------------#
# Recast treatment variables to (0,1)
#----------------------------------------------------#
bmiData$A1[which (bmiData$A1=="MR")] <- 1L
bmiData$A1[which (bmiData$A1=="CD")] <- 0L
bmiData$A2[which (bmiData$A2=="MR")] <- 1L
bmiData$A2[which (bmiData$A2=="CD")] <- 0L
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 modeling object for main effect component
#----------------------------------------------------#
moMain <- buildModelObj(model = ~ gender + parentBMI + month4BMI,
solver.method='lm')
#----------------------------------------------------#
# Create modeling object for contrast component
#----------------------------------------------------#
moCont <- buildModelObj(model = ~ parentBMI + month4BMI,
solver.method='lm')
fitQ2 <- qLearn(moMain = moMain,
moCont = moCont,
data = bmiData,
response = bmiData$y,
txName = "A2",
iter = 0)
##########################################################
# First-stage regression
##########################################################
#----------------------------------------------------#
# Create modeling object for main effect component
#----------------------------------------------------#
moMain <- buildModelObj(model = ~ gender + race + parentBMI + baselineBMI,
solver.method='lm')
#----------------------------------------------------#
# Create modeling object for contrast component
#----------------------------------------------------#
moCont <- buildModelObj(model = ~ gender + parentBMI,
solver.method='lm')
fitQ1 <- qLearn(moMain = moMain,
moCont = moCont,
response = fitQ2,
data = bmiData,
txName = "A1",
iter = 100)
# Coefficients of regressions
coef(fitQ1)
# Residuals
head(residuals(fitQ1))
# Summary
#summary(fitQ1)
# Plots
plot(fitQ1)
# List of value objects returned by modeling function
fitObj <- fitObject(fitQ1)
fitObj
# All standard lm methods can be applied to this fit object
summary(fitObj$MainEffect)
coef(fitObj$MainEffect)
head(residuals(fitObj$MainEffect))
summary(fitObj$Contrast)
coef(fitObj$Contrast)
head(residuals(fitObj$Contrast))
Run the code above in your browser using DataLab