Using R package to implement Bayesian phase I/II dose-finding design for three outcomes
0
0
Entering edit mode
2.9 years ago
Ran • 0

Dear all,

I am trying to implement the work done by Suyu Liu, "A Bayesian Phase I/II Trial Design for Immunotherapy", using R, since the code attached with that work takes a lot of time (more than 20 hours, and the code not complete). So that I tried to use trialr package since it used rstan, but this package allowed me to use two outcomes ( toxicity, efficacy ) and the work of Liu used three outcomes (immune response, toxicity, and efficacy).

I tried to use the R package trialr for two outcomes using the utility for sensitivity analysis written in R code below (table 1 in the article), I want to see if I used the correct utility and to see how to add a third outcome ( immune response ) to the model

and thanks in advance.

Here is the work of Liu: https://www.tandfonline.com/doi/suppl/10.1080/01621459.2017.1383260?scroll=top

### My code###
rm(list = ls())
library(trialr)

 #Utility
Uti <- array(0,c(2,3,2)) # order: tox, eff, immuno
Uti[,,1] <- matrix(c(0,0,50,10,80,35),nrow=2)
Uti[,,2] <- matrix(c(5,0,70,20,100,45),nrow=2)
N.max= 60 # patients  
outcomes <- '1NNN 2NNT 3NNT 4NNN 5NTN'
doses = c(.1,.3,.5,.7,.9)


fit <- stan_efftox(outcomes,
                   real_doses =doses,
                   efficacy_hurdle = 0.5, toxicity_hurdle = 0.3,
                   p_e = 0.1, p_t = 0.1,
                   eff0 = 0.5, tox1 = 0.65,
                   eff_star = 0.7, tox_star = 0.25,
                   alpha_mean = -7.9593, alpha_sd = 3.5487,
                   beta_mean = 1.5482, beta_sd = 3.5018,
                   gamma_mean = 0.7367, gamma_sd = 2.5423,
                   zeta_mean = 3.4181, zeta_sd = 2.4406,
                   eta_mean = 0, eta_sd = 0.2,
                   psi_mean = 0, psi_sd = 1,
                   seed = 123)

ndoses <- length(fit$prob_tox)
plot(1:ndoses, fit$prob_tox,  type="b", pch=19, xlab="Dose level", ylab="Probability of toxicity", ylim=c(0,max(fit$prob_tox) + 0.15), col="green")
points(1:ndoses,fit$prob_eff,  type="b", pch=18, col="blue")
abline(h=0.3, lwd=2, lty=4, col = "red")
legend(1, 0.4, legend=c("Toxicity", "Effecacy"),
      col=c("green", "blue"), lty=1:2, cex=0.8)
clinic biostatistics trial dose-finding Bayesian • 446 views
ADD COMMENT

Login before adding your answer.

Traffic: 2707 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6