## ----setup, include = FALSE--------------------------------------------------- library(MBNMAdose) library(rmarkdown) library(knitr) library(dplyr) library(ggplot2) knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.width = 7, fig.height = 5, include=TRUE, tidy.opts=list(width.cutoff=80), tidy=TRUE ) ## ----results="hide", warning=FALSE-------------------------------------------- # Prepare data using the triptans dataset tripnet <- mbnma.network(triptans) # Run an Emax dose-response MBNMA mbnma <- mbnma.run(tripnet, fun=demax(emax="rel", ed50="rel"), method="random") ## ----message=FALSE, warning=FALSE--------------------------------------------- # Print neat summary of output summary(mbnma) ## ----results="hide"----------------------------------------------------------- # Emax model with single parameter estimated for Emax emax <- mbnma.run(tripnet, fun=demax(emax="rel", ed50="common"), method="random") ## ----------------------------------------------------------------------------- summary(emax) ## ----results="hide", message=FALSE, warning=FALSE----------------------------- # Using the osteoarthritis dataset pain.df <- osteopain # Set class equal to agent for all agents pain.df$class <- pain.df$class # Set a shared class (NSAID) only for Naproxcinod and Naproxen pain.df$class[pain.df$agent %in% c("Naproxcinod", "Naproxen")] <- "NSAID" # Run a restricted cubic spline MBNMA with a random class effect on beta.1 painnet <- mbnma.network(pain.df) splines <- mbnma.run(painnet, fun=dspline(type="bs", knots=2), class.effect = list(beta.1="random")) ## ----eval=FALSE--------------------------------------------------------------- # # Using the depression SSRI dataset # depnet <- mbnma.network(ssri) # # # An example specifying a quadratic dose-response function # quadfun <- ~ (beta.1 * dose) + (beta.2 * (dose^2)) # # quad <- mbnma.run(depnet, fun=duser(fun=quadfun, beta.1 = "rel", beta.2 = "rel")) ## ----eval=FALSE--------------------------------------------------------------- # # Using the depression SSRI dataset # depnet <- mbnma.network(ssri) # # dr.funs <- dmulti(list( # "Placebo"=dfpoly(degree=2), # "citalopram"=dfpoly(degree=2), # "escitalopram"=dfpoly(degree=2), # "fluoxetine"=dspline(type="ns",knots=2), # "paroxetine"=dfpoly(degree=2), # "sertraline"=dspline(type="ns",knots=2) # )) # # multifun <- mbnma.run(depnet, fun=dr.funs, method="common", n.iter=50000) # summary(multifun) ## ----eval=FALSE--------------------------------------------------------------- # dspline(type="bs", knots=3) # # ...is equivalent to # dspline(type="bs", knots=c(0.25,0.5,0.75)) # # # Using a natural cubic spline on the SSRI dataset # depnet <- mbnma.network(ssri) # ns <- mbnma.run(depnet, fun=dspline(type="ns", knots=c(0.25,0.5,0.75))) ## ----------------------------------------------------------------------------- print(mbnma$model.arg$priors) ## ----eval=FALSE--------------------------------------------------------------- # # Define replacement prior # new.priors <- list( # sd = "dnorm(0, 1) T(0,)" # ) # # # Run an MBNMA model with new priors # emax <- mbnma.run(alognet, fun=demax(), method="random", # priors=new.priors) ## ----eval=FALSE--------------------------------------------------------------- # ed50.priors <- list(ed50 = c( # Celebrex="dnorm(100, 0.0025) T(0,)", # Etoricoxib="dnorm(20, 0.01) T(0,)", # Lumiracoxib="dnorm(50, 0.0025) T(0,)", # Naproxcinod="dnorm(500, 0.0004) T(0,)", # Naproxen="dnorm(500, 0.0004) T(0,)", # Rofecoxib="dnorm(35, 0.04) T(0,)", # Tramadol="dnorm(200, 0.0004) T(0,)", # Valdecoxib="dnorm(4, 0.04) T(0,)" # )) # # # Using the osteoarthritis dataset # mbnma <- mbnma.run(painnet, fun=demax(emax="rel", ed50="rel"), # priors=ed50.priors) ## ----message=FALSE, warning=FALSE--------------------------------------------- # Generate dataset without placebo noplac.gout <- gout[!gout$studyID %in% c(2001, 3102),] # Drop two-arm placebo studies noplac.gout <- noplac.gout[noplac.gout$agent!="Plac",] # Drop placebo arm from multi-arm studies # Create mbnma.network object noplac.net <- mbnma.network(noplac.gout) ## ----------------------------------------------------------------------------- # Plot network plot(noplac.net, label.distance=5) ## ----------------------------------------------------------------------------- # Network plot at the agent level illustrates how doses can connect using MBNMA plot(noplac.net, level="agent", remove.loops = TRUE, label.distance = 4) ## ----------------------------------------------------------------------------- # Network plot assuming connectivity via two doses # Allows estimation of a single-parameter dose-response function plot(noplac.net, level="agent", remove.loops = TRUE, label.distance = 4, doselink=2) # Network plot assuming connectivity via three doses # Allows estimation of a two-parameter dose-response function plot(noplac.net, level="agent", remove.loops = TRUE, label.distance = 4, doselink=3) ## ----nonparam, results="hide"------------------------------------------------- nonparam <- mbnma.run(tripnet, fun=dnonparam(direction="increasing"), method="random") ## ----------------------------------------------------------------------------- print(nonparam) ## ----results="hide"----------------------------------------------------------- tripnet <- mbnma.network(triptans) trip.emax <- mbnma.run(tripnet, fun=demax(emax="rel", ed50="rel")) ## ----results="hide"----------------------------------------------------------- # Plot boxplots of residual deviance contributions (scatterplot is the default) devplot(trip.emax, plot.type = "box") ## ----results="hide", warning=FALSE-------------------------------------------- # Plot fitted and observed values with treatment labels fitplot(trip.emax)