Skip to content

Utility-based Optimization for Basket Trial Designs

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md
Notifications You must be signed in to change notification settings

LukasDSauer/baskoptr

Repository files navigation

baskoptr

Codecov test coverage R-CMD-check

The goal of baskoptr is to supply a unified framework for optimizing basket trial designs. To this end, the package supplies several utility functions and also a function for executing optimization algorithms on basket trial designs.

Installation

You can install the development version of baskoptr from GitHub with:

# install.packages("pak")
pak::pak("LukasDSauer/baskoptr")

Example

In the following example, we optimize Fujikawa et al.’s basket trial design with respect to the experiment-wise power utility function using the simulated annealing algorithm.

library(baskoptr)
# Optimizing a three-basket trial design using Fujikawa's beta-binomial
# sharing approach
design <- baskwrap::setup_fujikawa_x(k = 3, shape1 = 1, shape2 = 1,
                                     p0 = 0.2, backend = "exact")
detail_params <- list(p1 = c(0.5, 0.2, 0.2),
                      n = 20,
                      weight_fun = baskwrap::weights_jsd,
                      logbase = exp(1),
                      verbose = FALSE)
utility_params <- list(penalty = 1, thresh = 0.1)
opt_design_gen(design = design,
               utility = u_ewp,
               algorithm = optimizr::simann,
               detail_params = detail_params,
               utility_params = utility_params,
               algorithm_params = list(par = c(lambda = 0.99,
                                               epsilon = 2,
                                               tau = 0.5),
                                       lower = c(lambda = 0.001,
                                                 epsilon = 1,
                                                 tau = 0.001),
                                       upper = c(lambda = 0.999,
                                                 epsilon = 10,
                                                 tau = 0.999),
                                       control = list(maxit = 10,
                                                      temp = 10,
                                                      fnscale = -1,
                                                      REPORT = -1)))
#> $par
#>  lambda epsilon     tau 
#>    0.99    2.00    0.50 
#> 
#> $value
#> [1] 0.8036443

About

Utility-based Optimization for Basket Trial Designs

Topics

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages