Giter VIP home page Giter VIP logo

coveffectsplot's Introduction

coveffectsplot

CRAN_Status_Badge R-CMD-check MonthlyDOWNLOADS DOWNLOADS R-CMD-check

A package that provides the function forest_plotand an accompanying Shiny App that facilitates the production of forest plots to visualize covariate effects as commonly used in pharmacometrics population PK/PD reports.

Publication:

Tutorial: Evaluation of Covariate Effects using Forest Plots and Introduction to the coveffectsplot R package

Installation and Running information

# Install from CRAN:
install.packages("coveffectsplot")
# Or the development version from GitHub:
#install.packages("devtools")
devtools::install_github('smouksassi/coveffectsplot')

Launch the app using this command then press the use sample data blue text to load the app with a demo data:

coveffectsplot::run_interactiveforestplot()

This will generate this plot: example plot with the included dataset

Expected data

Several example data are provided to illustrate the various functionality but the goal is that you simulate, compute and bring your own data. The app will help you, using point and click interactions, to design a plot that communicates your model covariate effects. The data that is loaded to the app should have at a minimum the following columns with the exact names:

  • paramname: Parameter on which the effects are shown e.g. CL, Cmax, AUC etc.
  • covname: Covariate name that the effects belong to e.g. Weight, SEX, Dose etc.
  • label: Covariate value that the effects of which is shown e.g. 50 kg, 50 kg\90 kg (here the reference value is contained in the label).
  • mid: Middle value for the effects usually the median from the uncertainty distribution.
  • lower: Lower value for the effects usually the 2.5% or 5% from the uncertainty distribution.
  • upper: Upper value for the effects usually the 97.5% or 95% from the uncertainty distribution.

You might also choose to have a covname with value All (or other appropriate value) to illustrate and show the uncertainty on the reference value in a separate facet.

Additionally, you might want to have a covname with value BSV to illustrate and show the the between subject variability (BSV) spread.

The example data show where does 90 and 50% of the patients will be based on the model BSV estimate for the selected paramname(s).

data example

The vignette Introduction to coveffectsplot will walk you through the background and how to compute and build the required data that the shiny app or the function forest_plotexpects. There is some data management steps that the app does automatically. Choosing to call the function will require you to build the table LABEL and to control the ordering of the variables. The forest_plot help has several examples.
The package also include vignettes with several step-by-step detailed examples:

PK example
Pediatric example
PK PD example
Exposure Response

Example using a real drug label data

The prezista drug label data was extracted from the FDA label and calling the forest_plot function gives:

library(coveffectsplot)
plotdata <- dplyr::mutate(prezista,
          LABEL = paste0(format(round(mid,2), nsmall = 2),
                         " [", format(round(lower,2), nsmall = 2), "-",
                         format(round(upper,2), nsmall = 2), "]"))
plotdata<- as.data.frame(plotdata)
plotdata<- plotdata[,c("paramname","covname","label","mid","lower","upper","LABEL")]
plotdata$covname <- factor(plotdata$covname)
levels(plotdata$covname) <- c ("Other\nAntiretrovirals","Protease\nInihibitors")

#png("prezista.png",width =12 ,height = 8,units = "in",res=72,type="cairo-png")
coveffectsplot::forest_plot(plotdata,
            ref_area = c(0.5, 1.5),
            base_size = 16 ,
            x_facet_text_size = 13,
            y_facet_text_size = 16,
            y_facet_text_angle = 270,
            interval_legend_text = "Median (points)\n90% CI (horizontal lines)",
            ref_legend_text = "Reference (vertical line)\n+/- 50% (gray area)",
            area_legend_text = "Reference (vertical line)\n+/- 50% (gray area)",
            xlabel = "Median 90%CI Fold Change Relative to Parameter",
            facet_formula = "covname~.",
            facet_switch = "both",
            facet_scales = "free",
            facet_space = "free",
            strip_placement = "outside", 
            paramname_shape = TRUE,
            table_position = "right",
            table_text_size = 4,
            plot_table_ratio = 4,
            vertical_dodge_height = 0.8,
            legend_space_x_mult = 0.1,
            legend_order = c("shape","pointinterval","ref", "area"),
            legend_shape_reverse = TRUE,
            show_table_facet_strip = "none",
            return_list = FALSE)
#dev.off()

example plot with the prezista dataset

coveffectsplot's People

Contributors

smouksassi avatar certara-smouksassi avatar daattali avatar certara-jcraig avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.