--- title: "Generate a Static AE-Specific Table in GT format" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Generate a Static AE-Specific Table in GT format} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include=FALSE} knitr::opts_chunk$set( comment = "#>", collapse = TRUE, out.width = "100%", dpi = 150 ) ``` ```{r} library(metalite.ae) ``` ## Overview This vignette demonstrates how to generate a static AE-specific table reporting patients with **drug-related adverse events** by treatment group in a **gt** format. The workflow uses three functions from [metalite.ae](https://merck.github.io/metalite.ae/): - `prepare_ae_specific()` prepares the analysis datasets. - `format_ae_specific()` formats the results for reporting. - `gt_ae_specific()` creates the RTF table. Related vignettes explain how to [customize displayed columns](ae-specific-custom-columns.html) and [filter or sort rows](ae-specific-filter-sort.html). This guide also covers basic gt customization and mock output. ## Procedure to generate an AE specific table in gt format The example uses ADSL and ADAE data from the [forestly](https://merck.github.io/forestly/) package. ### Step 1: Define metadata ```{r} # Define metadata adsl <- forestly::forestly_adsl adae <- forestly::forestly_adae adsl$TRT01A <- factor( adsl$TRT01A, levels = c("Xanomeline Low Dose", "Placebo"), labels = c("Low Dose", "Placebo") ) adae$TRTA <- factor( adae$TRTA, levels = c("Xanomeline Low Dose", "Placebo"), labels = c("Low Dose", "Placebo") ) analysis_plan <- metalite::plan( analysis = "ae_specific", population = "apat", observation = "wk12", parameter = "rel" ) meta <- metalite::meta_adam(observation = adae, population = adsl) |> metalite::define_plan(analysis_plan) |> metalite::define_population( name = "apat", var = c( "USUBJID", "SAFFL", "TRT01A", "TRTDUR", "SITEID", "SEX", "RACE", "AGE" ), group = "TRT01A", subset = SAFFL == "Y", label = "All Participants as Treated" ) |> metalite::define_observation( name = "wk12", var = c( "USUBJID", "SAFFL", "TRTA", "AEDECOD", "AEBODSYS", "AEREL", "AESER", "AEOUT", "AEACN", "AESDTH", "ASTDT", "AENDT" ), group = "TRTA", subset = SAFFL == "Y", label = "Weeks 0 to 12" ) |> metalite::define_parameter( name = "rel", term1 = "Drug-Related", term2 = "", subset = AEREL %in% c("POSSIBLE", "PROBABLE"), var = "AEDECOD", soc = "AEBODSYS", label = "Drug-related AEs" ) |> metalite::define_analysis( name = "ae_specific", title = "Participants with Drug-Related Adverse Events" ) |> metalite::meta_build() ```
Click to show the output ```{r} meta ```
### Step 2: Generate the AE specific table `prepare_ae_specific()` uses the population, observation, and parameter definitions in `meta` to calculate the AE-specific analysis results. It returns an `outdata` object for formatting and reporting. ```{r, message = FALSE} prepare_ae_specific( meta, population = "apat", observation = "wk12", parameter = "rel" ) |> format_ae_specific() |> gt_ae_specific( meddra_version = "24.0", source = "Source: [CDISCpilot: adam-adsl; adae]", analysis = "ae_specific" ) ```