library(metapack)
data(TNM)
groupInfo <- list(c("PBO"), c("R"))
nz <- length(groupInfo)
ns <- nrow(TNM)
XCovariate <- model.matrix(~ 0 + bldlc + bhdlc + btg + age +
white + male + bmi + potencymed + potencyhigh + durat, data = TNM)
XCovariate <- scale(XCovariate, center = TRUE, scale = FALSE)
ZCovariate <- matrix(0, ns, nz)
for (j in 1:length(groupInfo)) {
for (i in 1:ns) {
if (TNM$treat[i] %in% groupInfo[[j]]) {
ZCovariate[i, j] <- 1
}
}
}
addz <- scale(cbind(TNM$bldlc, TNM$btg), center=TRUE, scale=TRUE)
ZCovariate <- cbind(1, ZCovariate, addz)
theta_init <- c(0.05113, -1.38866, 1.09817, -0.85855, -1.12056, -1.14133,
-0.22435, 3.63453, -2.09322, 1.07858, 0.80566, -40.76753,
-45.07127, -28.27232, -44.14054, -28.13203, -19.19989,
-47.21824, -51.31234, -48.46266, -47.71443)
set.seed(2797542)
fit <- bayes_nmr(TNM$ptg, TNM$sdtg, XCovariate, ZCovariate, TNM$treat,
TNM$trial, TNM$n, prior = list(c01 = 1.0e05, c02 = 4, df = 3),
mcmc = list(ndiscard = 1, nskip = 1, nkeep = 1),
init = list(theta = theta_init),
Treat_order = c("PBO", "S", "A", "L", "R", "P", "E", "SE",
"AE", "LE", "PE"),
scale_x = TRUE, verbose = FALSE)
Run the code above in your browser using DataLab