data("metals") # from qgcomp package
# create categorical outcome from the existing continuous outcome (usually, one will already exist)
metals$ycat = factor(quantize(metals, "y",q=4)$data$y, levels=c("0", "1", "2", "3"),
labels=c("cct", "ccg", "aat", "aag"))
# restrict to smaller dataset for simplicity
smallmetals = metals[,c("ycat", "arsenic", "lead", "cadmium", "mage35")]
### 1: Define mixture and underlying model ####
mixture = c("arsenic", "lead", "cadmium")
f0 = ycat ~ arsenic + lead + cadmium # the multinomial model
# (be sure that factor variables are properly coded ahead of time in the dataset)
rr = qgcomp.multinomial.boot(
f0,
expnms = mixture,
q=4,
data = smallmetals,
B = 5, # set to higher values in real examples
MCsize = 100, # set to higher values in small samples
)
rr2 = qgcomp.multinomial.noboot(
f0,
expnms = mixture,
q=4,
data = smallmetals
)
### 5: Create summary qgcomp object for nice printing ####
summary(rr, tests=c("H")) # include homogeneity test
# 95% confidence intervals
#confint(rr, level=0.95)
#rr$breaks # quantile cutpoints for exposures
# homogeneity_test(rr)
#joint_test(rr)
qdat = simdata_quantized(
outcometype="multinomial",
n=10000, corr=c(-.9), coef=cbind(c(.2,-.2,0,0), c(.1,.1,.1,.1)),
q = 4
)
rr_sim = qgcomp.multinomial.noboot(
y~x1+x2+x3+x4,
expnms = c("x1", "x2", "x3", "x4"),
q=4,
data = qdat
)
rr_sim2 = qgcomp.multinomial.boot(
y~x1+x2+x3+x4,
expnms = c("x1", "x2", "x3", "x4"),
q=4,
data = qdat,
B=1
)
Run the code above in your browser using DataLab