{
  "_id": "6a2bf5c63efcd9bda42d2733",
  "Package": "forestly",
  "Title": "Interactive Forest Plot",
  "Version": "0.1.5",
  "Authors@R": "c(\nperson(\"Yilong\", \"Zhang\", role = c(\"aut\")),\nperson(\"Benjamin\", \"Wang\", role = c(\"aut\")),\nperson(\"Yujie\", \"Zhao\", email = \"yujie.zhao@merck.com\", role = c(\"aut\", \"cre\")),\nperson(\"Nan\", \"Xiao\", role = c(\"ctb\")),\nperson(\"Hiroaki\", \"Fukuda\", role = c(\"aut\")),\nperson(\"Yulia\", \"Sidi\", role = c(\"ctb\")),\nperson(\"Xuan\", \"Deng\", role = c(\"ctb\")),\nperson(\"Jeetener\", \"Chauhan\", role = \"ctb\"),\nperson(\"Li\", \"Ma\", role = \"ctb\"),\nperson(\"Chen\", \"Wang\", role = \"ctb\"),\nperson(\"Madhusudhan\", \"Ginnaram\", role = \"ctb\"),\nperson(\"Merck & Co., Inc., Rahway, NJ, USA and its affiliates\", role = \"cph\")\n)",
  "Description": "Interactive forest plot for clinical trial safety analysis\nusing 'metalite', 'reactable', 'plotly', and Analysis Data\nModel (ADaM) datasets. Includes functionality for adverse event\nfiltering, incidence-based group filtering, hover-over reveals,\nand search and sort operations. The workflow allows for\nmetadata construction, data preparation, output formatting, and\ninteractive plot generation.",
  "License": "GPL (>= 3)",
  "URL": "https://merck.github.io/forestly/,\nhttps://github.com/Merck/forestly",
  "BugReports": "https://github.com/Merck/forestly/issues",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "RoxygenNote": "7.3.3",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-12 11:59:24 UTC",
    "User": "root"
  },
  "Author": "Yilong Zhang [aut], Benjamin Wang [aut], Yujie Zhao [aut, cre],\nNan Xiao [ctb], Hiroaki Fukuda [aut], Yulia Sidi [ctb], Xuan\nDeng [ctb], Jeetener Chauhan [ctb], Li Ma [ctb], Chen Wang\n[ctb], Madhusudhan Ginnaram [ctb], Merck & Co., Inc., Rahway,\nNJ, USA and its affiliates [cph]",
  "Maintainer": "Yujie Zhao <yujie.zhao@merck.com>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-06-12 09:16:48 UTC",
  "RemoteUrl": "https://github.com/cran/forestly",
  "RemoteRef": "HEAD",
  "RemoteSha": "440493288267bde82f3bb3876c76a877edceff2c",
  "MD5sum": "25a4f714f8da0703a9225a26e1bb5911",
  "_user": "cran",
  "_type": "src",
  "_file": "forestly_0.1.5.tar.gz",
  "_fileid": "27f004a1bd844f649d8429d3870072e9c26b7a87f39b358525e4a1d548669104",
  "_filesize": 2323079,
  "_sha256": "27f004a1bd844f649d8429d3870072e9c26b7a87f39b358525e4a1d548669104",
  "_created": "2026-06-12T11:59:24.000Z",
  "_published": "2026-06-12T12:04:22.065Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 81022950522,
      "time": 257,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7590960194"
    },
    {
      "job": 81022950515,
      "time": 246,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7590956668"
    },
    {
      "job": 81022229492,
      "time": 261,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7590878748"
    },
    {
      "job": 81022950525,
      "time": 141,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7590923415"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/27413659503",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cran/forestly",
  "_commit": {
    "id": "440493288267bde82f3bb3876c76a877edceff2c",
    "author": "Yujie Zhao <yujie.zhao@merck.com>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.1.5\n",
    "time": 1781255808
  },
  "_maintainer": {
    "name": "Yujie Zhao",
    "email": "yujie.zhao@merck.com",
    "login": "littlebeannie",
    "description": "Statistician",
    "uuid": 43153957
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1",
      "role": "Depends"
    },
    {
      "package": "brew",
      "role": "Imports"
    },
    {
      "package": "crosstalk",
      "role": "Imports"
    },
    {
      "package": "glue",
      "role": "Imports"
    },
    {
      "package": "htmltools",
      "role": "Imports"
    },
    {
      "package": "metalite",
      "role": "Imports"
    },
    {
      "package": "metalite.ae",
      "role": "Imports"
    },
    {
      "package": "reactable",
      "role": "Imports"
    },
    {
      "package": "reactR",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "uuid",
      "role": "Imports"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "dplyr",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "r2rtf",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "patchwork",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-37",
      "n": 1
    },
    {
      "week": "2026-08",
      "n": 1
    },
    {
      "week": "2026-24",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.1.3",
      "date": "2025-09-10"
    },
    {
      "name": "0.1.4",
      "date": "2026-02-18"
    },
    {
      "name": "0.1.5",
      "date": "2026-06-12"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "littlebeannie",
      "count": 1,
      "uuid": 43153957
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 247,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/forestly"
  },
  "_devurl": "https://github.com/merck/forestly",
  "_pkgdown": "https://merck.github.io/forestly/",
  "_searchresults": 35,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/forestly.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/merck/forestly",
  "_realowner": "merck",
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2023-07-19"
    },
    {
      "version": "0.1.1",
      "date": "2024-07-08"
    },
    {
      "version": "0.1.2",
      "date": "2025-01-10"
    },
    {
      "version": "0.1.3",
      "date": "2025-09-10"
    },
    {
      "version": "0.1.4",
      "date": "2026-02-18"
    },
    {
      "version": "0.1.5",
      "date": "2026-06-12"
    }
  ],
  "_exports": [
    "ae_forestly",
    "background_panel",
    "format_ae_forestly",
    "meta_forestly",
    "plot_dot",
    "plot_errorbar",
    "prepare_ae_forestly",
    "rtf_static_forestly",
    "table_panel",
    "theme_panel"
  ],
  "_datasets": [
    {
      "name": "forestly_adae",
      "title": "An adverse event dataset",
      "object": "forestly_adae",
      "class": [
        "data.frame"
      ],
      "fields": [
        "STUDYID",
        "SITEID",
        "USUBJID",
        "TRTA",
        "TRTAN",
        "AGE",
        "AGEGR1",
        "AGEGR1N",
        "RACE",
        "RACEN",
        "SEX",
        "SAFFL",
        "TRTSDT",
        "TRTEDT",
        "ASTDT",
        "ASTDTF",
        "ASTDY",
        "AENDT",
        "AENDY",
        "ADURN",
        "ADURU",
        "AETERM",
        "AELLT",
        "AELLTCD",
        "AEDECOD",
        "AEPTCD",
        "AEHLT",
        "AEHLTCD",
        "AEHLGT",
        "AEHLGTCD",
        "AEBODSYS",
        "AESOC",
        "AESOCCD",
        "AESEV",
        "AESER",
        "AESCAN",
        "AESCONG",
        "AESDISAB",
        "AESDTH",
        "AESHOSP",
        "AESLIFE",
        "AESOD",
        "AEREL",
        "AEACN",
        "AEOUT",
        "AESEQ",
        "TRTEMFL",
        "AOCCFL",
        "AOCCSFL",
        "AOCCPFL",
        "AOCC02FL",
        "AOCC03FL",
        "AOCC04FL",
        "CQ01NAM",
        "AOCC01FL",
        "AREL",
        "ATOXGRN"
      ],
      "rows": 736,
      "table": true,
      "tojson": true
    },
    {
      "name": "forestly_adae_3grp",
      "title": "An adverse event dataset",
      "object": "forestly_adae_3grp",
      "class": [
        "data.frame"
      ],
      "fields": [
        "STUDYID",
        "SITEID",
        "USUBJID",
        "TRTA",
        "TRTAN",
        "AGE",
        "AGEGR1",
        "AGEGR1N",
        "RACE",
        "RACEN",
        "SEX",
        "SAFFL",
        "TRTSDT",
        "TRTEDT",
        "ASTDT",
        "ASTDTF",
        "ASTDY",
        "AENDT",
        "AENDY",
        "ADURN",
        "ADURU",
        "AETERM",
        "AELLT",
        "AELLTCD",
        "AEDECOD",
        "AEPTCD",
        "AEHLT",
        "AEHLTCD",
        "AEHLGT",
        "AEHLGTCD",
        "AEBODSYS",
        "AESOC",
        "AESOCCD",
        "AESEV",
        "AESER",
        "AESCAN",
        "AESCONG",
        "AESDISAB",
        "AESDTH",
        "AESHOSP",
        "AESLIFE",
        "AESOD",
        "AEREL",
        "AEACN",
        "AEOUT",
        "AESEQ",
        "TRTEMFL",
        "AOCCFL",
        "AOCCSFL",
        "AOCCPFL",
        "AOCC02FL",
        "AOCC03FL",
        "AOCC04FL",
        "CQ01NAM",
        "AOCC01FL",
        "AREL"
      ],
      "rows": 1191,
      "table": true,
      "tojson": true
    },
    {
      "name": "forestly_adsl",
      "title": "A subject level demographic dataset",
      "object": "forestly_adsl",
      "class": [
        "data.frame"
      ],
      "fields": [
        "STUDYID",
        "USUBJID",
        "SUBJID",
        "SITEID",
        "SITEGR1",
        "ARM",
        "TRT01P",
        "TRT01PN",
        "TRT01A",
        "TRT01AN",
        "TRTSDT",
        "TRTEDT",
        "TRTDUR",
        "AVGDD",
        "CUMDOSE",
        "AGE",
        "AGEGR1",
        "AGEGR1N",
        "AGEU",
        "RACE",
        "RACEN",
        "SEX",
        "ETHNIC",
        "SAFFL",
        "ITTFL",
        "EFFFL",
        "COMP8FL",
        "COMP16FL",
        "COMP24FL",
        "DISCONFL",
        "DSRAEFL",
        "DTHFL",
        "BMIBL",
        "BMIBLGR1",
        "HEIGHTBL",
        "WEIGHTBL",
        "EDUCLVL",
        "DISONSDT",
        "DURDIS",
        "DURDSGR1",
        "VISIT1DT",
        "RFSTDTC",
        "RFENDTC",
        "VISNUMEN",
        "RFENDT",
        "DCDECOD",
        "DCREASCD",
        "MMSETOT",
        "TRTA"
      ],
      "rows": 170,
      "table": true,
      "tojson": true
    },
    {
      "name": "forestly_adsl_3grp",
      "title": "A subject level demographic dataset",
      "object": "forestly_adsl_3grp",
      "class": [
        "data.frame"
      ],
      "fields": [
        "STUDYID",
        "USUBJID",
        "SUBJID",
        "SITEID",
        "SITEGR1",
        "ARM",
        "TRT01P",
        "TRT01PN",
        "TRT01A",
        "TRT01AN",
        "TRTSDT",
        "TRTEDT",
        "TRTDUR",
        "AVGDD",
        "CUMDOSE",
        "AGE",
        "AGEGR1",
        "AGEGR1N",
        "AGEU",
        "RACE",
        "RACEN",
        "SEX",
        "ETHNIC",
        "SAFFL",
        "ITTFL",
        "EFFFL",
        "COMP8FL",
        "COMP16FL",
        "COMP24FL",
        "DISCONFL",
        "DSRAEFL",
        "DTHFL",
        "BMIBL",
        "BMIBLGR1",
        "HEIGHTBL",
        "WEIGHTBL",
        "EDUCLVL",
        "DISONSDT",
        "DURDIS",
        "DURDSGR1",
        "VISIT1DT",
        "RFSTDTC",
        "RFENDTC",
        "VISNUMEN",
        "RFENDT",
        "DCDECOD",
        "DCREASCD",
        "MMSETOT",
        "TRTA"
      ],
      "rows": 254,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "ae_forestly",
      "title": "Display interactive forest plot",
      "topics": [
        "ae_forestly"
      ]
    },
    {
      "page": "background_panel",
      "title": "Add background for creating plot with customized color",
      "topics": [
        "background_panel"
      ]
    },
    {
      "page": "forestly_adae",
      "title": "An adverse event dataset",
      "topics": [
        "forestly_adae"
      ]
    },
    {
      "page": "forestly_adae_3grp",
      "title": "An adverse event dataset",
      "topics": [
        "forestly_adae_3grp"
      ]
    },
    {
      "page": "forestly_adsl",
      "title": "A subject level demographic dataset",
      "topics": [
        "forestly_adsl"
      ]
    },
    {
      "page": "forestly_adsl_3grp",
      "title": "A subject level demographic dataset",
      "topics": [
        "forestly_adsl_3grp"
      ]
    },
    {
      "page": "format_ae_forestly",
      "title": "Format outdata for interactive forest plot",
      "topics": [
        "format_ae_forestly"
      ]
    },
    {
      "page": "meta_forestly",
      "title": "Create metadata for interactive forest plot",
      "topics": [
        "meta_forestly"
      ]
    },
    {
      "page": "plot_dot",
      "title": "Dot plot",
      "topics": [
        "plot_dot"
      ]
    },
    {
      "page": "plot_errorbar",
      "title": "Plot to display risk difference",
      "topics": [
        "plot_errorbar"
      ]
    },
    {
      "page": "prepare_ae_forestly",
      "title": "Prepare datasets for interactive forest plot",
      "topics": [
        "prepare_ae_forestly"
      ]
    },
    {
      "page": "rtf_static_forestly",
      "title": "Output static forest plot",
      "topics": [
        "rtf_static_forestly"
      ]
    },
    {
      "page": "table_panel",
      "title": "Create table panel ggplot2 object for rainfall or forest plot",
      "topics": [
        "table_panel"
      ]
    },
    {
      "page": "theme_panel",
      "title": "Theme function for plot with multiple panels",
      "topics": [
        "theme_panel"
      ]
    }
  ],
  "_pkglogo": "https://github.com/cran/forestly/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/cran/forestly/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "brew",
    "bslib",
    "cachem",
    "cli",
    "cpp11",
    "crosstalk",
    "digest",
    "evaluate",
    "farver",
    "fastmap",
    "fontawesome",
    "fs",
    "ggplot2",
    "glue",
    "gtable",
    "highr",
    "htmltools",
    "htmlwidgets",
    "isoband",
    "jquerylib",
    "jsonlite",
    "knitr",
    "labeling",
    "lazyeval",
    "lifecycle",
    "memoise",
    "metalite",
    "metalite.ae",
    "mime",
    "r2rtf",
    "R6",
    "rappdirs",
    "RColorBrewer",
    "reactable",
    "reactR",
    "rlang",
    "rmarkdown",
    "S7",
    "sass",
    "scales",
    "tinytex",
    "uuid",
    "vctrs",
    "viridisLite",
    "withr",
    "xfun",
    "yaml"
  ],
  "_vignettes": [
    {
      "source": "customize-ae-specific-columns.Rmd",
      "filename": "customize-ae-specific-columns.html",
      "title": "Add/Hide Columns in the AE-Specific Tables",
      "author": "Yujie Zhao",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Step 1: build your metadata",
        "Step 2: customize the AE specific columns"
      ],
      "created": "2025-09-10 07:50:53",
      "modified": "2026-02-18 15:10:02",
      "commits": 2
    },
    {
      "source": "customize-width.Rmd",
      "filename": "customize-width.html",
      "title": "Adjusting Column Widths for Optimal Layout",
      "author": "Yujie Zhao",
      "engine": "knitr::rmarkdown",
      "headings": [
        "General Use",
        "Step 1: build your metadata",
        "Step 2: adjusting column widths",
        "Multiple, Long Treatment Labels Example",
        "Step 1: build example metadata"
      ],
      "created": "2025-09-10 07:50:53",
      "modified": "2026-06-12 09:16:48",
      "commits": 2
    },
    {
      "source": "customize-digits.Rmd",
      "filename": "customize-digits.html",
      "title": "Adjusting Decimal Precision in Displayed Data",
      "author": "Yujie Zhao",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Step 1: build your metadata",
        "Step 2: customize the decimals"
      ],
      "created": "2025-09-10 07:50:53",
      "modified": "2025-09-10 07:50:53",
      "commits": 1
    },
    {
      "source": "customize-xlimit.Rmd",
      "filename": "customize-xlimit.html",
      "title": "Customizing Plot Limits for AE Proportions and Differences",
      "author": "Yujie Zhao",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Step 1: build your metadata",
        "Step 2: customize limits for AE proportion/difference plotting"
      ],
      "created": "2025-09-10 07:50:53",
      "modified": "2025-09-10 07:50:53",
      "commits": 1
    },
    {
      "source": "customize-display-only-soc.Rmd",
      "filename": "customize-display-only-soc.html",
      "title": "Display Only SOC in the AE-Specific Tables",
      "author": "Hiroaki Fukuda",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Step 1: build your metadata",
        "Step 2: display only SOC"
      ],
      "created": "2026-02-18 15:10:02",
      "modified": "2026-02-18 15:10:02",
      "commits": 1
    },
    {
      "source": "forest-plot-static.Rmd",
      "filename": "forest-plot-static.html",
      "title": "Generate Static AE Forest Plots",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2024-07-09 02:45:20",
      "modified": "2025-09-10 07:50:53",
      "commits": 2
    },
    {
      "source": "customize-diff-label.Rmd",
      "filename": "customize-diff-label.html",
      "title": "Legend Customization in AE Proportion Difference Visualizations",
      "author": "Yujie Zhao",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Step 1: build your metadata",
        "Step 2: customize the legend below the column of AE proportions differences"
      ],
      "created": "2025-09-10 07:50:53",
      "modified": "2025-09-10 07:50:53",
      "commits": 1
    },
    {
      "source": "customize-color.Rmd",
      "filename": "customize-color.html",
      "title": "Personalized Color Choices in Data Visualization",
      "author": "Yujie Zhao",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Step 1: build your metadata",
        "Step 2: personalized color choices"
      ],
      "created": "2025-09-10 07:50:53",
      "modified": "2025-09-10 07:50:53",
      "commits": 1
    },
    {
      "source": "customize-listing-columns.Rmd",
      "filename": "customize-listing-columns.html",
      "title": "Selecting Columns to Display in AE Listings",
      "author": "Yujie Zhao",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Step 1: build your metadata",
        "Step 2: customize the AE listing columns"
      ],
      "created": "2025-09-10 07:50:53",
      "modified": "2025-09-10 07:50:53",
      "commits": 1
    },
    {
      "source": "customize-toggle-buttons.Rmd",
      "filename": "customize-toggle-buttons.html",
      "title": "Toggle Risk Difference Columns in the AE-Specific Tables",
      "author": "Yujie Zhao",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Step 1: build your metadata",
        "Step 2: toggle risk difference columns"
      ],
      "created": "2026-02-18 15:10:02",
      "modified": "2026-02-18 15:10:02",
      "commits": 1
    }
  ],
  "_score": 4.720159303405957,
  "_indexed": false,
  "_nocasepkg": "forestly",
  "_universes": [
    "cran"
  ],
  "_indexurl": "https://merck.r-universe.dev/forestly",
  "_previous": "0.1.4",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.5",
      "date": "2026-06-12T12:01:41.000Z",
      "distro": "noble",
      "commit": "440493288267bde82f3bb3876c76a877edceff2c",
      "fileid": "06fe14425c25d2ad170132d498da993bf1bbcde5e7cd551a41752dd8700290b1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27413659503"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.5",
      "date": "2026-06-12T12:01:56.000Z",
      "distro": "noble",
      "commit": "440493288267bde82f3bb3876c76a877edceff2c",
      "fileid": "02d8d15bf7e05b46c251747aee2198806f1dcc85d0f803cb72cb80906b7c1ed2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27413659503"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.5",
      "date": "2026-06-12T12:02:00.000Z",
      "commit": "440493288267bde82f3bb3876c76a877edceff2c",
      "fileid": "febee51ca0ed16a8a7a8fb1f6f368a4adb07c40b679d6212601acd93e90c3cdf",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/27413659503"
    }
  ]
}