diff --git a/.Rbuildignore b/.Rbuildignore
index a546bcda..950b63bf 100644
--- a/.Rbuildignore
+++ b/.Rbuildignore
@@ -30,3 +30,5 @@ vignettes/x0*
^CRAN-SUBMISSION$
^scripts$
\.sass$
+manifest.json
+^\.posit$
\ No newline at end of file
diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml
index 84edbf33..6cc8e599 100644
--- a/.github/workflows/pkgdown.yaml
+++ b/.github/workflows/pkgdown.yaml
@@ -29,12 +29,9 @@ jobs:
use-public-rspm: true
- uses: r-lib/actions/setup-renv@v2
- with:
- extra-packages: any::pkgdown, local::.
- needs: website
- - name: Install specific pkgdown version
- run: install.packages("remotes") ; remotes::install_version("pkgdown", version = "2.0.3", repos = "cran.rstudio.com", dependencies = FALSE)
+ - name: Install dev dependencies
+ run: install.packages(c("pkgdown", "devtools", "covr"))
shell: Rscript {0}
- name: Install tidyCDISC
@@ -42,7 +39,7 @@ jobs:
run: R CMD INSTALL --preclean .
- name: Build site
- run: pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE)
+ run: pkgdown::build_site_github_pages(new_process = FALSE, install = TRUE)
shell: Rscript {0}
- name: Deploy to GitHub pages 🚀
diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml
index 880e83bb..ce2bbc04 100644
--- a/.github/workflows/test-coverage.yaml
+++ b/.github/workflows/test-coverage.yaml
@@ -24,8 +24,10 @@ jobs:
use-public-rspm: true
- uses: r-lib/actions/setup-renv@v2
- with:
- extra-packages: covr
+
+ - name: Install dev dependencies
+ run: install.packages(c("devtools", "covr"))
+ shell: Rscript {0}
- name: Install tidyCDISC
shell: bash
diff --git a/.gitignore b/.gitignore
index 4145fd0b..6faaef61 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,4 @@ docs/
revdep/
/doc/
/Meta/
+/.posit
diff --git a/DESCRIPTION b/DESCRIPTION
index 9ee87e15..6e206ab5 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,6 +1,6 @@
Package: tidyCDISC
Title: Quick Table Generation & Exploratory Analyses on ADaM-Ish Datasets
-Version: 0.2.1
+Version: 0.2.1.9000
Authors@R: c(
person("Aaron", "Clark", , "clark.aaronchris@gmail.com", role = c("aut", "cre"),
comment = c(ORCID = "0000-0002-0123-0970")),
@@ -10,6 +10,8 @@ Authors@R: c(
person("Maya", "Gans", , "maya.gans@biogen.com", role = "aut"),
person("Robert", "Krajcik", , "robert.krajcik@biogen.com", role = "ctb"),
person("Marly", "Gotti", , "marly.cormar@biogen.com", role = "ctb"),
+ person("Ryan", "Harrison", , "harrison.ryan.w@gmail.com", role = "aut",
+ comment = c(ORCID = "0000-0003-4575-006X")),
person("Biogen", "Inc", role = "cph")
)
Description: Provides users a quick exploratory dive into common
@@ -36,40 +38,56 @@ License: AGPL (>= 3)
URL: https://github.com/Biogen-Inc/tidyCDISC/, https://Biogen-Inc.github.io/tidyCDISC/
BugReports: https://github.com/Biogen-Inc/tidyCDISC/issues
Depends:
- R (>= 2.10)
+ R (>= 4.1)
Imports:
+ arrow,
+ broom.helpers,
cicerone,
+ cli,
config,
dplyr,
DT,
+ fs,
GGally,
ggcorrplot,
ggplot2,
+ ggsurvfit,
glue,
golem,
gt,
+ gtsummary,
haven,
IDEAFilter,
+ pkgload,
plotly,
purrr,
+ readxl,
rlang,
rmarkdown,
shiny,
shinyjs,
shinyWidgets,
sjlabelled,
+ stringdist,
stringr,
survival,
+ tibble,
tidyr,
+ tidyselect,
timevis,
- tippy (== 0.1.0)
+ tippy (== 0.1.0),
+ vroom
Suggests:
+ devtools,
knitr,
+ shinyalert,
spelling,
testthat
VignetteBuilder:
knitr
+Config/Needs/website: pkgdown
+Config/Needs/coverage: covr
Encoding: UTF-8
Language: en-US
LazyData: true
-RoxygenNote: 7.2.3
+RoxygenNote: 7.3.3
diff --git a/NAMESPACE b/NAMESPACE
index 728c434c..e76340f3 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -1,5 +1,8 @@
# Generated by roxygen2: do not edit by hand
+S3method(error_handler,default)
+S3method(error_handler,purrr_error_indexed)
+S3method(error_handler,rlang_error)
export(app_methods)
export(col_for_list_expr)
export(common_rownames)
@@ -36,6 +39,11 @@ importFrom(ggplot2,ggplot)
importFrom(ggplot2,labs)
importFrom(ggplot2,scale_color_manual)
importFrom(ggplot2,scale_x_continuous)
+importFrom(ggsurvfit,add_censor_mark)
+importFrom(ggsurvfit,add_confidence_interval)
+importFrom(ggsurvfit,add_risktable)
+importFrom(ggsurvfit,ggsurvfit)
+importFrom(ggsurvfit,survfit2)
importFrom(glue,glue)
importFrom(golem,activate_js)
importFrom(golem,add_resource_path)
@@ -111,6 +119,7 @@ importFrom(shinyjs,useShinyjs)
importFrom(sjlabelled,get_label)
importFrom(sjlabelled,set_label)
importFrom(stats,as.formula)
+importFrom(stats,reformulate)
importFrom(stringr,str_detect)
importFrom(stringr,str_locate_all)
importFrom(stringr,str_remove)
diff --git a/NEWS.md b/NEWS.md
index 4eb72db7..ca5b273d 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,3 +1,17 @@
+# tidyCDISC (development version)
+
+* Update wordlist
+* Add Ryan Harrison as author
+
+### Population Explorer
+* Refactor KM plots from plotly to ggsurvfit
+* Add estimated median table to KM plot
+* Add estimate survival probabilities table to KM plot
+* Add time-axis ticks configuration to KM plot
+* Enable multiple groups to KM plot
+* Add Cox PH Hazard Ratios table to KM plot
+* Add ADaM validation functions
+* Allow more input file types: csv, parquet, txt, xls, xlsx
# tidyCDISC 0.2.1 (CRAN Release)
diff --git a/R/global.R b/R/global.R
index 3ee7f870..e5c0fafe 100644
--- a/R/global.R
+++ b/R/global.R
@@ -1,6 +1,6 @@
utils::globalVariables(c(
"AEDECOD",
- "AESER",
+ "AESER",
"AESEV",
"AESTDT",
"..prop..",
@@ -29,17 +29,17 @@ utils::globalVariables(c(
"value",
"ymax",
"ymin",
- "stats",
- "as.dist",
- "cor",
+ "stats",
+ "as.dist",
+ "cor",
"hclust",
"PopuExplor",
- "AVAL",
- "AVISIT",
- "AVISITN",
- "CMDECOD",
- "CMSTDT",
- "DECODE",
+ "AVAL",
+ "AVISIT",
+ "AVISITN",
+ "CMDECOD",
+ "CMSTDT",
+ "DECODE",
"DOMAIN",
"END",
"EVENTTYP",
@@ -48,7 +48,7 @@ utils::globalVariables(c(
"LBDY",
"LBSTNRHI",
"LBSTNRLO",
- "MHCAT",
+ "MHCAT",
"MHDECOD",
"MHENDTC",
"MHSTDTC",
@@ -57,8 +57,8 @@ utils::globalVariables(c(
"PARAMCD",
"START",
"USUBJID",
- "VISIT",
- "Visit",
+ "VISIT",
+ "Visit",
"all_of",
"className",
"col_exist",
@@ -74,7 +74,7 @@ utils::globalVariables(c(
"hcl",
"min_lbdt",
"missing_disp",
- "not_exist",
+ "not_exist",
"not_exist_disp",
"ord",
"setNames",
@@ -113,20 +113,73 @@ utils::globalVariables(c(
"adtte",
"warn",
"dy_min",
- "AEACN", "AEACNOTH", "AREL", "CNSR", "FASFL", "ITTFL", "LOWER", "Lower",
- "MEAN", "Mean (SD)",
- "Median", "Min | Max", "N", "PANEL", "Q1 | Q3", "SAFFL", "SEM", "STD",
- "TRTEMFL", "UPPER", "Upper",
- "Variable", "ae_data", "avals_by", "bds_data", "colour", "colour2",
- "corr", "corr_lab",
- "corr_lab_hover", "descr", "grp", "id_block", "id_desc", "id_rn",
- "id_stat", "inner_sort",
- "lab", "n_subgroups", "n_tot", "orig_id_rn", "orig_var_rn", "param_x",
- "param_y", "pt", "pval",
- "pval_hover", "sort_n", "v", "var", "var_rn", "where", "y",
- "type", "title"
- ,":=",
- "DATE", "EVENT_TIME", "DATE_ST", "DECODE_ST", "DATE_EN", "DECODE_EN"
+ "AEACN",
+ "AEACNOTH",
+ "AREL",
+ "CNSR",
+ "FASFL",
+ "ITTFL",
+ "LOWER",
+ "Lower",
+ "MEAN",
+ "Mean (SD)",
+ "Median",
+ "Min | Max",
+ "N",
+ "PANEL",
+ "Q1 | Q3",
+ "SAFFL",
+ "SEM",
+ "STD",
+ "TRTEMFL",
+ "UPPER",
+ "Upper",
+ "Variable",
+ "ae_data",
+ "avals_by",
+ "bds_data",
+ "colour",
+ "colour2",
+ "corr",
+ "corr_lab",
+ "corr_lab_hover",
+ "descr",
+ "grp",
+ "id_block",
+ "id_desc",
+ "id_rn",
+ "id_stat",
+ "inner_sort",
+ "lab",
+ "n_subgroups",
+ "n_tot",
+ "orig_id_rn",
+ "orig_var_rn",
+ "param_x",
+ "param_y",
+ "pt",
+ "pval",
+ "pval_hover",
+ "sort_n",
+ "v",
+ "var",
+ "var_rn",
+ "where",
+ "y",
+ "type",
+ "title",
+ ":=",
+ "DATE",
+ "EVENT_TIME",
+ "DATE_ST",
+ "DECODE_ST",
+ "DATE_EN",
+ "DECODE_EN",
+ "time",
+ "est_ci",
+ "Strata",
+ "0.95LCL",
+ "0.95UCL",
+ "label",
+ "id"
))
-
-
diff --git a/R/mod_dataUpload.R b/R/mod_dataUpload.R
index e247fa3e..7823eeb6 100644
--- a/R/mod_dataUpload.R
+++ b/R/mod_dataUpload.R
@@ -41,7 +41,8 @@ mod_dataUpload_ui <- function(id){
div(style="display: inline-block; ",h3("Data upload")),
div(style="display: inline-block; float:right;",mod_dataComplyRules_ui("dataComplyRules_ui_1")),
HTML("
ADSL file is mandatory & BDS/ OCCDS files are optional"),
- fileInput(ns("file"), "Upload sas7bdat files",accept = c(".sas7bdat"), multiple = TRUE),
+ # fileInput(ns("file"), "Upload sas7bdat files",accept = c(".sas7bdat"), multiple = TRUE),
+ fileInput(ns("file"), "Upload datasets", accept = c(".txt", ".csv", ".xls", ".xlsx", ".sas7bdat"), multiple = TRUE),
uiOutput(ns("radio_test"))
)
),
@@ -91,18 +92,25 @@ mod_dataUpload_server <- function(input, output, session){
data_list <- list()
## data list
- for (i in 1:nrow(input$file)){
- if(length(grep(".sas7bdat", input$file$name[i], ignore.case = TRUE)) > 0){
- data_list[[i]] <- haven::zap_formats(haven::read_sas(input$file$datapath[i])) %>%
- dplyr::mutate(dplyr::across(.cols = where(is.character),
- .fns = na_if, y = ""))
- }else{
- data_list[[i]] <- NULL
- }
- }
+ # for (i in 1:nrow(input$file)){
+ # if(length(grep(".sas7bdat", input$file$name[i], ignore.case = TRUE)) > 0){
+ # data_list[[i]] <- haven::zap_formats(haven::read_sas(input$file$datapath[i])) %>%
+ # dplyr::mutate(dplyr::across(.cols = where(is.character),
+ # .fns = na_if, y = ""))
+ # }else{
+ # data_list[[i]] <- NULL
+ # }
+ # }
+
+ data_list <- input$file$datapath |>
+ purrr::map(\(x) {
+ read_data(x)
+ }) |>
+ purrr::set_names(toupper(tools::file_path_sans_ext(input$file$name)))
+
# names
- names(data_list) <- toupper(stringr::str_remove(input$file$name, ".sas7bdat"))
+ # names(data_list) <- toupper(stringr::str_remove(input$file$name, ".sas7bdat"))
@@ -111,11 +119,19 @@ mod_dataUpload_server <- function(input, output, session){
id = NULL, #"dataComply_ui_1",
datalist = reactive(data_list))
+ # if(length(names(dl_comply)) > 0){
+ # # append to existing reactiveValues list
+ # dd$data <- c(dd$data, dl_comply) # dl_comply #
+
+ # }
if(length(names(dl_comply)) > 0){
- # append to existing reactiveValues list
- dd$data <- c(dd$data, dl_comply) # dl_comply #
+ # Normalize ADaM dataset names based on domain validation
+ dl_normalized <- normalize_adam_datasets(dl_comply)
+ # append to existing reactiveValues list
+ dd$data <- c(dd$data, dl_normalized)
}
+
# set dd$current to FALSE for previous & TRUE for current uploads
dd$current <- c(rep(FALSE, length(dd$current)), rep(TRUE, length(data_list)))
diff --git a/R/mod_indvExp_srv.R b/R/mod_indvExp_srv.R
index b066e235..c2046bc4 100644
--- a/R/mod_indvExp_srv.R
+++ b/R/mod_indvExp_srv.R
@@ -51,7 +51,7 @@ mod_indvExp_server <- function(input, output, session, datafile){
my_loaded_adams <- reactive({
req(!is.null(datafile()))
sasdata0 <- toupper(names(datafile()))
- sasdata <- names(which(sapply(sasdata0,function(df) { return(stringr::str_detect(toupper(df),"^AD[A-Z0-9\\_]+")) })))
+ sasdata <- names(which(sapply(sasdata0,function(df) { return(stringr::str_detect(toupper(df),"^AD")) })))
return(sasdata)
})
diff --git a/R/mod_popExp.R b/R/mod_popExp.R
index 3f15b1ab..8633fc01 100644
--- a/R/mod_popExp.R
+++ b/R/mod_popExp.R
@@ -46,7 +46,15 @@ mod_popExp_server <- function(input, output, session, datafile) {
req(!is.null(datafile()))
# wait until ADSL has been selected
- req("ADSL" %in% names(datafile()) )
+ adsl_datasets <- names(datafile())[sapply(names(datafile()), \(name) {
+ validation <- validate_adamish(datafile()[[name]])
+ return(validation$domain == "ADSL")
+ })]
+
+ req(length(adsl_datasets) > 0)
+ adsl_name <- adsl_datasets[1]
+
+ # req("ADSL" %in% names(datafile()) )
#####################################################################
# The data used by the population explorer is going to be one of:
@@ -56,13 +64,18 @@ mod_popExp_server <- function(input, output, session, datafile) {
######################################################################
# Isolate ADSL
- if ("ADSL" %in% names(datafile())) {
- ADSL <- datafile()$ADSL %>%
+ # if ("ADSL" %in% names(datafile())) {
+ # ADSL <- datafile()$ADSL %>%
+ # haven::zap_formats()
+ # }
+ if (length(adsl_datasets) > 0) {
+ ADSL <- datafile()[[adsl_name]] |>
haven::zap_formats()
}
# split the non-ADSL data into those which have a USUBJID or not
- NOTADSL <- datafile()[names(datafile()) != "ADSL" ]
+ # NOTADSL <- datafile()[names(datafile()) != "ADSL" ]
+ NOTADSL <- datafile()[!names(datafile()) %in% adsl_datasets]
if (!rlang::is_empty(NOTADSL)) {
# zap formats
@@ -138,7 +151,15 @@ mod_popExp_server <- function(input, output, session, datafile) {
my_loaded_adams <- reactive({
req(!is.null(datafile()))
sasdata0 <- toupper(names(datafile()))
- sasdata <- names(which(sapply(sasdata0,function(df) { return(stringr::str_detect(toupper(df),"^AD[A-Z0-9\\_]+")) })))
+ sasdata <- names(
+ which(
+ sapply(
+ sasdata0, function(df) {
+ return(stringr::str_detect(toupper(df),"^AD"))
+ })
+ )
+ )
+
return(sasdata)
})
@@ -151,7 +172,14 @@ mod_popExp_server <- function(input, output, session, datafile) {
observeEvent(my_loaded_adams(), {
# req(any(substr(my_loaded_adams(), 1, 4) == "ADTT"))
# adtt_ <- my_loaded_adams()[substr(my_loaded_adams(), 1, 4) == "ADTT"]
- req(any(purrr::map_lgl(my_loaded_adams(), ~ "CNSR" %in% colnames(datafile()[[.x]]))))
+ # req(any(purrr::map_lgl(my_loaded_adams(), ~ "CNSR" %in% colnames(datafile()[[.x]]))))
+ tte_datasets <- names(datafile())[sapply(names(datafile()), \(name) {
+ validation <- validate_adamish(datafile()[[name]])
+ return(validation$domain == "ADTTE" || "CNSR" %in% names(datafile()[[name]]))
+ })]
+
+ req(length(tte_datasets) > 0)
+
updateRadioButtons(session, "plot_type",
choices = c("Kaplan-Meier Curve",
"Line plot - mean over time",
@@ -272,7 +300,9 @@ mod_popExp_server <- function(input, output, session, datafile) {
# use plot output of the module to create the plot
- output$plot_output <- renderPlotly({
+ # Interactive plotly plot
+ output$plot_output_plotly <- renderPlotly({
+ req(input$plot_type != "Kaplan-Meier Curve")
switch(input$plot_type,
`Scatter Plot` = p_scatter() %>% plotly::ggplotly() %>%
plotly::layout(title = list(yref = "container", y = .95, yanchor = "bottom")),
@@ -281,20 +311,162 @@ mod_popExp_server <- function(input, output, session, datafile) {
`Line plot - mean over time` = p_line$plot() %>%
plotly::ggplotly(tooltip = c("text")) %>%
plotly::layout(title = list(yref = "container", y = .95, yanchor = "bottom")),
- `Heatmap - endpoint correlations` = p_heatmap$plot() %>% plotly::ggplotly(tooltip = c("text"))
- , `Kaplan-Meier Curve` = p_km() %>% plotly::ggplotly()
+ `Heatmap - endpoint correlations` = p_heatmap$plot() %>% plotly::ggplotly(tooltip = c("text"))#,
+ #`Kaplan-Meier Curve` = p_km() %>% plotly::ggplotly(),
+
) %>%
- config(displaylogo = FALSE,
- modeBarButtonsToRemove =
- c("zoom2d", "pan2d", "select2d", "lasso2d", "zoomIn2d", "zoomOut2d", "autoScale2d", "resetScale2d",
- "hoverClosestCartesian", "hoverCompareCartesian", "zoom3d", "pan3d",
- "resetCameraDefault3d", "resetCameraLastSave3d", "hoverClosest3d",
- "orbitRotation", "tableRotation", "zoomInGeo", "zoomOutGeo",
- "resetGeo", "hoverClosestGeo", "sendDataToCloud","hoverClosestGl2d",
- "hoverClosestPie", "toggleHover","resetViews","toggleSpikelines","resetViewMapbox"
- # , 'toImage', 'resetScale2d', 'zoomIn2d', 'zoomOut2d','zoom2d', 'pan2d'
- )
+ config(
+ displaylogo = FALSE,
+ modeBarButtons = list(
+ list("zoom2d"),
+ list("pan2d"),
+ list("toImage")
+ ),
+ toImageButtonOptions = list(
+ format = c("png"),
+ filename = glue::glue("{input$plot_type}_{Sys.Date()}"),
+ width = 1200,
+ height = 800,
+ scale = 2
+ )
+ )
+ })
+
+ # Static plots, for ggsurvfit KM plot
+
+ km_result <- reactive({
+ req(input$plot_type == "Kaplan-Meier Curve")
+ p_km()
+ })
+
+ output$plot_output_gg <- renderPlot({
+ km_result()$plot_km
+ })
+
+ # KM Estimated Median Time table
+ output$km_median_table <- gt::render_gt({
+ df <- km_result()$table_median
+
+ time_cols <- setdiff(names(df), "Strata")
+
+ df |>
+ gt::gt() |>
+ gt::tab_options(
+ table.width = gt::px(700),
+ table.font.size = "small"
+ ) |>
+ gt::cols_label(Strata = "Group") |>
+ gt::fmt_missing(
+ missing_text = "-"
+ ) |>
+ gt::cols_align(
+ align = "center",
+ columns = time_cols
+ ) |>
+ gt::fmt_markdown(columns = everything()) |>
+ gt::tab_style(
+ locations = list(
+ gt::cells_column_labels(columns = everything()),
+ gt::cells_column_spanners(spanners = everything())
+ ),
+ style = list(
+ gt::cell_borders(sides = "bottom", weight = gt::px(1)),
+ gt::cell_text(weight = "bold")
+ )
+ )
+ })
+
+ # Cox Table
+ output$km_cox_table <- gt::render_gt({
+ df <- km_result()$table_cox
+ if (!rlang::is_null(df)) {
+
+ df <- gtsummary::as_gt(df) |>
+ gt::cols_hide(columns = c("p.value")) |>
+ gt::tab_options(
+ table.width = gt::px(700),
+ table.font.size = "small"
+ ) |>
+ gt::fmt_missing(
+ missing_text = "-"
+ ) |>
+ gt::cols_align(
+ align = "center",
+ columns = !label
+ ) |>
+ # gt::fmt_markdown(columns = everything()) |>
+ gt::tab_style(
+ locations = list(
+ gt::cells_column_labels(columns = everything()),
+ gt::cells_column_spanners(spanners = everything())
+ ),
+ style = list(
+ gt::cell_borders(sides = "bottom", weight = gt::px(1)),
+ gt::cell_text(weight = "bold")
)
+ )
+
+ return(df)
+ }
+
+ })
+
+ # KM Estimated Survival probability table
+ output$km_est_table <- gt::render_gt({
+ df <- km_result()$table_est
+
+ time_cols <- setdiff(names(df), "Strata")
+
+ df |>
+ gt::gt() |>
+ gt::tab_options(
+ table.width = gt::px(700),
+ table.font.size = "small"
+ ) |>
+ gt::tab_spanner(
+ label = ("Time"),
+ columns = time_cols
+ ) |>
+ gt::cols_label(Strata = "Group") |>
+ gt::fmt_missing(
+ missing_text = "-"
+ ) |>
+ gt::cols_align(
+ align = "center",
+ columns = time_cols
+ ) |>
+ gt::fmt_markdown(columns = everything()) |>
+ gt::tab_style(
+ locations = list(
+ gt::cells_column_labels(columns = everything()),
+ gt::cells_column_spanners(spanners = everything())
+ ),
+ style = list(
+ gt::cell_borders(sides = "bottom", weight = gt::px(1)),
+ gt::cell_text(weight = "bold")
+ )
+ )
+ })
+
+ # Dynamic UI for plots
+ output$dynamic_plot_ui <- renderUI({
+ if (input$plot_type == "Kaplan-Meier Curve") {
+ req(km_result())
+
+ tagList(
+ plotOutput(ns("plot_output_gg"), height = 700),
+ tags$br(),
+ tags$h4("Estimated Survival Probability (95% CI) over Time"),
+ gt::gt_output(ns("km_est_table")),
+ tags$br(),
+ tags$h4("Median Survival Time (95% CI)"),
+ gt::gt_output(ns("km_median_table")),
+ tags$h4("Hazard Ratios (95% CI)"),
+ gt::gt_output(ns("km_cox_table"))
+ )
+ } else {
+ plotlyOutput(ns("plot_output_plotly"), height = 700)
+ }
})
# Output text string of what was filtered in IDEAFilter widget/ module
diff --git a/R/mod_popExp_fct_km.R b/R/mod_popExp_fct_km.R
index 72194749..3539b52f 100644
--- a/R/mod_popExp_fct_km.R
+++ b/R/mod_popExp_fct_km.R
@@ -1,86 +1,231 @@
#' Kaplan-Meier Curve
-#'
+#'
#' Create scatter plot where if the variables are numeric then they
-#' are plotted, and if they are PARAMCD's then a week and value
+#' are plotted, and if they are PARAMCD's then a week and value
#' must be selected for plotting.
-#'
+#'
#' @param data Merged data to be used in plot
-#' @param yvar Selected xy-axis
-#' @param resp_var character, the response variable (paramcd)
-#' @param cnsr_var character, the censor variable. Usually CNSR
-#' @param group character, variable name of grouping variable (categorical or factor)
-#' @param points logical, whether to plot + symbols when patients censored
-#' @param ci logical, whether the curve(s) should be accompanied with a 95\% CI
-#'
+#' @param yvar Selected xy-axis
+#' @param response_var character, the response variable (paramcd)
+#' @param censor_var character, the censor variable. Usually CNSR
+#' @param CI logical, whether the curve(s) should be accompanied with a 95\% CI
+#' @param risk_table logical, whether to display risk table below plot
+#' @param censor_mark logical, whether to plot + symbols when patients censored
+#' @param strata character, variable name(s) of strata variable(s) (categorical or factor)
+#' @param covariates character, variable name(s) of covariate variable(s) (categorical or factor)
+#'
#' @importFrom stats as.formula
#' @importFrom GGally ggsurv
#' @importFrom survival survfit Surv
-#'
+#' @importFrom ggsurvfit survfit2 ggsurvfit add_risktable add_confidence_interval add_censor_mark
+#' @importFrom stats reformulate
+#'
#' @family popExp functions
#' @keywords popEx
-#'
+#'
#' @return A ggplot object containing the KM curve plot
-#'
+#'
#' @noRd
-app_km_curve <- function(data, yvar, resp_var, cnsr_var, group = "NONE", points = TRUE, ci = FALSE) {
-
- resp_var_sym <- rlang::sym(resp_var)
-
- # Filter data by param selected
+app_km_curve <- function(
+ data,
+ yvar,
+ response_var,
+ censor_var,
+ CI,
+ risk_table,
+ censor_mark,
+ median_line,
+ strata = NULL,
+ covariates = NULL,
+ time_ticks = NULL
+) {
+ # Symbols
+ response_var <- rlang::sym(response_var)
+ censor_var <- rlang::sym(censor_var)
+
+ # Filter to selected PARAMCD retaining all columns
suppressWarnings(
- d <- data %>%
- dplyr::filter(PARAMCD == yvar) %>%
- dplyr::select(USUBJID, PARAM, PARAMCD, one_of(resp_var), one_of(cnsr_var), one_of(group)) %>%
- filter(!is.na(!!resp_var_sym)) %>%
- dplyr::distinct()
+ d_param <- data |>
+ dplyr::filter(PARAMCD == yvar)
)
- # print(d)
- # if(group != "NONE"){
- # group_counts <-
- # d %>%
- # group_by_at(vars(one_of(group))) %>%
- # summarize(n = n())
- # print(group_counts)
- # }
-
-
- fit_formula <- paste0("survival::Surv(",resp_var,", ",cnsr_var,") ~ ",
- if(group != "NONE" & !rlang::is_empty(group)) group else 1)
- fit <- survival::survfit(as.formula(fit_formula),data = d)
- # print(fit_formula)
- # print(fit)
- # print(summary(fit))
-
- # Initialize title of variables plotted
- # if group used, include those "by" variables in title
- by_title <- case_when(
- group != "NONE" ~ paste("\nby", best_lab(data, group)),
- TRUE ~ ""
+
+ d_model <- d_param |>
+ dplyr::filter(!is.na(!!response_var)) |>
+ dplyr::distinct()
+
+ # Package checks
+ rlang::check_installed("survival", reason = "to use this function.")
+ rlang::check_installed("ggsurvfit", reason = "to use this function.")
+ rlang::check_installed("purrr", reason = "to use this function.")
+
+ if (!is.data.frame(data)) {
+ cli::cli_abort("{.arg data} must be a dataframe.")
+ }
+ if (!rlang::is_symbol(rlang::enexpr(response_var))) {
+ cli::cli_abort("{.arg response_var} must be an unquoted column name.")
+ }
+ if (!rlang::is_symbol(rlang::enexpr(censor_var))) {
+ cli::cli_abort("{.arg censor_var} must be an unquoted column name.")
+ }
+
+ # LHS construction
+ LHS <- glue::glue(
+ "survival::Surv({rlang::ensym(response_var)}, {rlang::ensym(censor_var)})"
)
-
- # generate plot
- p <-
- GGally::ggsurv(fit,
- order.legend = FALSE, # use data order, not survival order
- CI = ci,
- plot.cens = points) +
- # survminer::ggsurvplot(fit,conf.int = ci) + # didn't work
- ggplot2::xlab(glue::glue("{unique(d$PARAM)}")) +
- ggplot2::theme_bw() +
+ if (
+ rlang::as_label(censor_var) == "CNSR" &&
+ rlang::as_label(response_var) == "AVAL"
+ ) {
+ LHS <- glue::glue(
+ "ggsurvfit::Surv_CNSR({rlang::ensym(response_var)}, {rlang::ensym(censor_var)})"
+ )
+ }
+
+ # Remove sentinel values
+ strata <- setdiff(strata, "NONE")
+ covariates <- setdiff(covariates, "NONE")
+
+ # RHS for KM fit (strata only)
+ if (length(strata) == 0) {
+ RHS <- "1"
+ no_strata <- TRUE
+ } else {
+ RHS <- strata
+ no_strata <- FALSE
+ }
+
+ # Ensure required columns exist
+ needed <- unique(c(
+ rlang::as_label(response_var),
+ rlang::as_label(censor_var),
+ strata,
+ covariates
+ ))
+ missing_vars <- setdiff(needed, colnames(d_model))
+ if (length(missing_vars) > 0) {
+ cli::cli_abort("Missing {missing_vars} column{?s} in filtered data.")
+ }
+
+ fit_formula <- stats::reformulate(response = LHS, termlabels = RHS)
+ fit <- ggsurvfit::survfit2(fit_formula, data = d_model)
+
+ by_title <- if (no_strata) "" else {
+ glue::glue(
+ "\nby {glue::glue_collapse(purrr::map_chr(strata, ~ best_lab(d_model, .x)), sep = ', ', last = ' and ')}"
+ )
+ }
+
+ # Build base plot to get automatic breaks
+ base_p <- ggsurvfit::ggsurvfit(fit)
+ auto_breaks <- ggplot2::ggplot_build(base_p)$layout$panel_params[[1]]$x$breaks
+
+ # Determine final ticks (user-specified or defaults). Server parse already
+ # ensures numeric, non-negative, unique values; just range-filter here.
+ ticks <- time_ticks
+ if (is.null(ticks) || length(ticks) == 0) {
+ ticks <- auto_breaks
+ } else {
+ rng <- range(d_model[[rlang::as_label(response_var)]], na.rm = TRUE)
+ # Force lower bound to 0 to allow baseline tick even if earliest observed time > 0
+ rng[1] <- 0
+ # Keep ticks within upper range but never drop 0 if user specified it
+ ticks <- ticks[ticks <= rng[2]]
+ if (0 %in% time_ticks && !(0 %in% ticks)) {
+ ticks <- c(0, ticks)
+ }
+ ticks <- sort(unique(ticks))
+ if (length(ticks) == 0) ticks <- auto_breaks
+ }
+
+ p2 <- base_p +
+ (if (risk_table) ggsurvfit::add_risktable(risktable_stats = c("n.risk"), time_breaks = ticks)) +
+ (if (CI) ggsurvfit::add_confidence_interval()) +
+ (if (censor_mark) ggsurvfit::add_censor_mark()) +
+ (if (median_line) ggsurvfit::add_quantile(y_value = 0.5)) +
ggplot2::theme(
text = ggplot2::element_text(size = 12),
axis.text = ggplot2::element_text(size = 12),
plot.title = ggplot2::element_text(size = 16)
) +
- ggplot2::ggtitle(paste(unique(d$PARAM), by_title)
- # ,subtitle = paste(by_title) # plotly won't automatically accept this
+ ggplot2::ggtitle(glue::glue("{unique(d_model$PARAM)} {by_title}")) +
+ (if (!no_strata)
+ ggplot2::theme(plot.margin = ggplot2::margin(t = 1.2, unit = "cm"))) +
+ ggplot2::scale_x_continuous(breaks = ticks, minor_breaks = NULL)
+
+ table_est <- ggsurvfit::tidy_survfit(
+ fit,
+ times = ticks,
+ type = "survival"
+ ) |>
+ (\(x) {
+ if (!"strata" %in% names(x)) {
+ dplyr::mutate(x, strata = "Overall")
+ } else {
+ x
+ }
+ })() |>
+ dplyr::mutate(
+ est_ci = glue::glue(
+ "{round(estimate, 2)} ({round(conf.low, 2)}, {round(conf.high, 2)})"
+ )
+ ) |>
+ dplyr::select(Strata = strata, time, est_ci) |>
+ dplyr::filter(time > 0) |>
+ dplyr::mutate(
+ est_ci = dplyr::if_else(est_ci == "NA (NA, NA)", "-", est_ci)
+ ) |>
+ tidyr::pivot_wider(names_from = time, values_from = est_ci)
+
+ table_median0 <- summary(fit)$table
+ table_median1 <- if (no_strata) {
+ dplyr::bind_rows(table_median0) |>
+ dplyr::mutate(Strata = "Overall")
+ } else {
+ tibble::as_tibble(table_median0, rownames = "Strata")
+ }
+ table_median <- table_median1 |>
+ dplyr::select(Strata, median, `0.95LCL`, `0.95UCL`) |>
+ dplyr::mutate(
+ est_ci = glue::glue(
+ "{round(median, 2)} ({round(`0.95LCL`, 2)}, {round(`0.95UCL`, 2)})"
+ )
+ ) |>
+ dplyr::select(Strata, `Median (95% CI)` = est_ci) |>
+ dplyr::mutate(
+ Strata = stringr::str_replace_all(
+ Strata,
+ "(^|,\\s*)[^=,]+\\s*=\\s*",
+ "\\1"
+ )
)
-
- # Add in plot layers conditional upon user selection
- if (by_title != "") {
- p <- p + ggplot2::theme(plot.margin = ggplot2::margin(t = 1.2, unit = "cm")) #+
- # survminer::ggsurvplot_group_by(fit, group.by = group)
+
+ # Cox PH model construction
+ no_covar <- length(covariates) == 0
+ termlabels <- NULL
+ if (!no_strata && no_covar) {
+ termlabels <- strata
+ } else if (no_strata && !no_covar) {
+ termlabels <- covariates
+ } else if (!no_strata && !no_covar) {
+ termlabels <- unique(c(strata, covariates))
}
-
- return(p)
+
+ table_cox <- NULL
+ if (!is.null(termlabels) && length(termlabels) > 0) {
+ cox_formula <- stats::reformulate(response = LHS, termlabels = termlabels)
+ cox_fit <- survival::coxph(cox_formula, data = d_model)
+ table_cox <- gtsummary::tbl_regression(
+ cox_fit,
+ exponentiate = TRUE,
+ conf.level = 0.95,
+ add_estimate_to_reference_rows = TRUE
+ )
+ }
+
+ list(
+ plot_km = p2,
+ table_est = table_est,
+ table_median = table_median,
+ table_cox = table_cox
+ )
}
diff --git a/R/mod_popExp_km.R b/R/mod_popExp_km.R
index 439e8bc6..ac9d325b 100644
--- a/R/mod_popExp_km.R
+++ b/R/mod_popExp_km.R
@@ -11,7 +11,7 @@
#'
#' @family popExp Functions
#' @noRd
-#'
+#'
km_ui <- function(id, label = "km") {
ns <- NS(id)
tagList(
@@ -19,18 +19,103 @@ km_ui <- function(id, label = "km") {
wellPanel(
fluidRow(
column(6, selectInput(ns("yvar"), "Select param", choices = NULL)),
- column(6, selectInput(ns("resp_var"), "Response Variable", choices = "AVAL",selected = "AVAL"))
+ column(
+ 6,
+ selectInput(
+ ns("resp_var"),
+ "Response Variable",
+ choices = "AVAL",
+ selected = "AVAL"
+ )
+ )
),
fluidRow(
- column(6, selectInput(ns("group"), "Group By", choices = "NONE", selected = "NONE")),
- column(6, selectInput(ns("cnsr_var"), "Censor Variable (0,1)", choices = "CNSR", selected = "CNSR"))
+ column(
+ 6,
+ selectizeInput(
+ ns("group"),
+ "Group By",
+ choices = "NONE",
+ selected = "NONE",
+ multiple = TRUE,
+ options = list(
+ render = I("{
+ option: function(item, escape){
+ return '
' + escape(item.label) + '
';
+ }
+ }")
+ )
+ )
+ ),
+ column(
+ 6,
+ selectInput(
+ ns("cnsr_var"),
+ "Censor Variable (0,1)",
+ choices = "CNSR",
+ selected = "CNSR"
+ )
+ )
+ ),
+ shinyWidgets::materialSwitch(
+ ns("points"),
+ h6("Mark censored observations?"),
+ status = "primary",
+ value = TRUE
+ ),
+ shinyWidgets::materialSwitch(
+ ns("ci"),
+ h6("Include 95% confidence interval?"),
+ status = "primary",
+ value = FALSE
+ ),
+ shinyWidgets::materialSwitch(
+ ns("risk_table"),
+ h6("Include risk table?"),
+ status = "primary",
+ value = TRUE
),
- shinyWidgets::materialSwitch(ns("points"), h6("Mark censored observations?"),
- status = "primary", value = TRUE),
- shinyWidgets::materialSwitch(ns("ci"), h6("Include 95% confidence interval?"),
- status = "primary", value = FALSE)
+ shinyWidgets::materialSwitch(
+ ns("median_line"),
+ h6("Include median line(s)?"),
+ status = "primary",
+ value = TRUE
+ )
+
+ , tags$hr(),
+ h4("Time Axis Tick Marks"),
+ helpText("Enter comma, space, or semicolon separated time values (numeric). Leave blank for defaults."),
+ textInput(ns("time_ticks_raw"), label = NULL, placeholder = "e.g. 0, 12, 24, 36, 48"),
+ actionLink(ns("time_ticks_clear"), "Clear"),
+ tags$small("Invalid or out-of-range values are ignored; blanks use defaults." )
+
# checkboxInput(ns("points"), "Mark censored observations?", value = TRUE),
# checkboxInput(ns("ci"), "Include 95% confidence interval?", value = FALSE)
+ ),
+ h4("Cox Proportional Hazards Model"),
+ wellPanel(
+ fluidRow(
+ column(
+ 12,
+ selectizeInput(
+ ns("covariates"),
+ "Covariates",
+ choices = "NONE",
+ selected = "NONE",
+ multiple = TRUE,
+ options = list(
+ render = I("{
+ option: function(item, escape){
+ return '' + escape(item.label) + '
';
+ }
+ }")
+ )
+ )
+ )
+ ),
+ fluidRow(
+ column(12, uiOutput(ns("ref_group_ui")))
+ )
)
)
}
@@ -39,7 +124,7 @@ km_ui <- function(id, label = "km") {
#' Kaplan-Meier Curve Server Function
#'
#' Using the widgets from the km UI create
-#' a ggplot object which is returned to the
+#' a ggplot object which is returned to the
#' parent Population Explorer module
#'
#' @param input,output,session Internal parameters for {shiny}.
@@ -53,114 +138,282 @@ km_ui <- function(id, label = "km") {
#'
#' @family popExp Functions
#' @noRd
-#'
+#'
km_srv <- function(input, output, session, data, run) {
ns <- session$ns
-
+
observe({
req(run(), data())
-
+
# get unique paramcd
+
paramcd <- sort(na.omit(unique(data()$PARAMCD)))
- updateSelectInput(session, "yvar",
- choices = as.list(paramcd),
- selected = isolate(input$yvar)
+ updateSelectInput(
+ session,
+ "yvar",
+ choices = as.list(paramcd),
+ selected = isolate(input$yvar)
)
})
-
-
+
# update response variable options for user based on data filtered to a
# certain param
observeEvent(input$yvar, {
req(run(), input$yvar != "")
-
+
d <- data()
- my_vars <- d %>%
- dplyr::filter(PARAMCD == input$yvar) %>%
+ my_vars <- d %>%
+ dplyr::filter(PARAMCD == input$yvar) %>%
dplyr::filter(data_from == "ADTTE") %>% # Numeric visit var has to exist in TTE data
- select(one_of("AVISITN", "VISITNUM"), ends_with("DY")) %>%
- select_if(~!all(is.na(.))) %>% # remove NA cols
+ select(one_of("AVISITN", "VISITNUM"), ends_with("DY")) %>%
+ select_if(~ !all(is.na(.))) %>% # remove NA cols
colnames()
-
- updateSelectInput (
+
+ updateSelectInput(
session = session,
inputId = "resp_var",
choices = c("AVAL", my_vars),
selected = isolate(input$resp_var)
)
})
-
+
# update censor variable options for user based on data filtered to a
# certain param
observeEvent(input$yvar, {
req(run(), input$yvar != "")
-
+
# col <- c(1:4)
# col <- c(0, 1, 1, 1)
# col <- c(1, 1, 1)
-
+
d0 <- data()
- my_cvars <- d0 %>%
- dplyr::filter(PARAMCD == input$yvar) %>%
+ my_cvars <- d0 %>%
+ dplyr::filter(PARAMCD == input$yvar) %>%
dplyr::filter(data_from == "ADTTE") %>% # Numeric visit var has to exist in TTE data
select(where(is.numeric)) %>%
- select(where(function(col) all( unique(col) %in% c(0,1) ))) %>%
- select_if(~!all(is.na(.))) %>% # remove NA cols
+ select(where(function(col) all(unique(col) %in% c(0, 1)))) %>%
+ select_if(~ !all(is.na(.))) %>% # remove NA cols
colnames()
-
- updateSelectInput (
+
+ updateSelectInput(
session = session,
inputId = "cnsr_var",
choices = c("CNSR", my_cvars[my_cvars != "CNSR"]),
selected = isolate(input$cnsr_var)
)
})
-
-
+
observeEvent(input$yvar, {
req(run(), input$yvar != "")
-
+
# yvar paramcd
- group_dat <- data() %>%
- dplyr::filter(PARAMCD == input$yvar) %>%
- select_if(~!all(is.na(.))) # remove NA cols
-
+ group_dat <- data() %>%
+ dplyr::filter(PARAMCD == input$yvar) %>%
+ select_if(~ !all(is.na(.))) # remove NA cols
+
# character and factor columns for grouping or faceting (separating)
char_col <- subset_colclasses(group_dat, is.character)
fac_col <- subset_colclasses(group_dat, is.factor)
- group <- sort(c(fac_col, char_col))
+ log_col <- subset_colclasses(group_dat, is.logical)
+ num_col <- subset_colclasses(group_dat, is.numeric)
+
+ group <- sort(c(fac_col, char_col, log_col))
# print("char_col:")
# print(char_col)
# print("fac_col:")
# print(fac_col)
# print(".")
# print(".")
-
+
# remove some variables...
grp <- group[!(group %in% c("data_from", "PARAM", "PARAMCD", "USUBJID"))]
-
+
# populate dropdowns with choices
- updateSelectInput(session, "group",
- choices = c("NONE", grp),
- selected = isolate(input$group))
-
+ updateSelectizeInput(
+ session,
+ "group",
+ choices = c("NONE", grp),
+ selected = isolate(input$group)
+ )
+
+ covar <- sort(c(fac_col, char_col, log_col, num_col))
+ covar2 <- covar[!(covar %in% c("data_from", "PARAM", "PARAMCD", "USUBJID"))]
+
+ updateSelectizeInput(
+ session,
+ "covariates",
+ choices = c("NONE", covar2),
+ selected = isolate(input$covariates)
+ )
+ })
+
+ observeEvent(input$group, {
+ req(input$group)
+ # Remove sentinel NONE if any real strata selected
+ if ("NONE" %in% input$group & length(input$group) > 1) {
+ cleaned <- setdiff(input$group, "NONE")
+ # Avoid triggering extra invalid intermediate state
+ isolate({
+ updateSelectizeInput(
+ session,
+ "group",
+ selected = cleaned
+ )
+ })
+ return(NULL)
+ } else if (
+ !is.null(input$group) &
+ !("NONE" %in% input$group) &
+ length(input$group) >= 1
+ ) {
+ # If any real variable is selected, remove "NONE"
+ if ("NONE" %in% input$group) {
+ updateSelectizeInput(
+ session,
+ "group",
+ selected = setdiff(input$group, "NONE")
+ )
+ }
+ }
+ })
+ # New covariates observer
+ observeEvent(input$covariates, {
+ req(input$covariates)
+ if ("NONE" %in% input$covariates && length(input$covariates) > 1) {
+ isolate(
+ updateSelectizeInput(
+ session,
+ "covariates",
+ selected = setdiff(input$covariates, "NONE")
+ )
+ )
+ }
+ })
+
+ # helper to create safe ids
+ make_valid_id <- function(x) gsub("[^A-Za-z0-9]", "_", x)
+
+ # reactive: categorical vars among selected strata + covariates
+ categorical_vars <- reactive({
+ req(run(), data(), input$yvar)
+
+ d_sub <- data() |>
+ dplyr::filter(PARAMCD == input$yvar)
+
+ sel <- unique(c(
+ if (!is.null(input$group) & !("NONE" %in% input$group)) input$group else
+ character(),
+ if (!is.null(input$covariates) & !("NONE" %in% input$covariates))
+ input$covariates else character()
+ ))
+
+ if (length(sel) == 0) return(character())
+
+ # keep only categorical (factor / character / logical)
+ keep <- sel[vapply(
+ sel,
+ function(v) {
+ col <- d_sub[[v]]
+ is.factor(col) || is.character(col) || is.logical(col)
+ },
+ logical(1)
+ )]
+ keep
+ })
+
+ # UI for reference selectors
+ output$ref_group_ui <- renderUI({
+ vars <- categorical_vars()
+ if (length(vars) == 0) return(NULL)
+
+ d_sub <- data() |> dplyr::filter(PARAMCD == input$yvar)
+
+ tagList(
+ h5("Reference groups (Cox PH):"),
+ lapply(vars, \(v) {
+ col <- d_sub[[v]]
+ lvls <- if (is.factor(col)) levels(col) else sort(unique(col))
+ # exclude NA
+ lvls <- lvls[!is.na(lvls)]
+ selectInput(
+ inputId = ns(paste0("ref_", make_valid_id(v))),
+ label = v,
+ choices = lvls,
+ selected = lvls[1]
+ )
+ })
+ )
+ })
+
+ # reactive: apply releveling
+ km_model_data <- reactive({
+ req(run(), data(), input$yvar)
+ d0 <- data() |> dplyr::filter(PARAMCD == input$yvar)
+ vars <- categorical_vars()
+ if (length(vars) == 0) return(d0)
+ ids <- paste0("ref_", make_valid_id(vars))
+ # if ref inputs not yet created, just return original
+ if (any(vapply(ids, function(id) is.null(input[[id]]), logical(1)))) {
+ return(d0)
+ }
+ refs <- purrr::map_chr(
+ vars,
+ \(v) input[[paste0("ref_", make_valid_id(v))]]
+ ) |>
+ purrr::set_names(vars)
+
+ for (v in names(refs)) {
+ if (v %in% names(d0)) {
+ ref <- refs[[v]]
+ d0[[v]] <- if (is.factor(d0[[v]])) {
+ stats::relevel(d0[[v]], ref = ref)
+ } else if (is.character(d0[[v]]) || is.logical(d0[[v]])) {
+ lvls <- sort(unique(d0[[v]]))
+ stats::relevel(factor(d0[[v]], levels = lvls), ref = ref)
+ } else {
+ d0[[v]]
+ }
+ }
+ }
+ d0
+ })
+
+ # ---- Time tick parsing ----
+ parse_ticks <- function(x) {
+ if (is.null(x) || !nzchar(trimws(x))) return(NULL)
+ parts <- strsplit(x, "[,;\t\n\r ]+", perl = TRUE)[[1]]
+ nums <- suppressWarnings(as.numeric(parts))
+ nums <- nums[!is.na(nums) & nums >= 0]
+ nums <- sort(unique(nums))
+ if (length(nums) == 0) return(NULL)
+ nums
+ }
+
+ user_ticks <- reactive({
+ parse_ticks(input$time_ticks_raw)
+ })
+
+ observeEvent(input$time_ticks_clear, {
+ updateTextInput(session, "time_ticks_raw", value = "")
})
-
-
- # create plot object using the numeric column on the yaxis
- # or by filtering the data by PARAMCD, then using AVAL or CHG for the yaxis
+
+ # modify reactive p to use km_model_data() instead of data()
p <- reactive({
- req(run(), data(), input$yvar )
- #, input$resp_var,input$group,input$points,input$ci) # can't include these in req
- app_km_curve(data(),
- input$yvar,
- input$resp_var,
- input$cnsr_var,
- input$group,
- input$points,
- input$ci
- )
+ req(run(), km_model_data(), input$yvar)
+ app_km_curve(
+ data = km_model_data(),
+ yvar = input$yvar,
+ response_var = input$resp_var,
+ censor_var = input$cnsr_var,
+ strata = input$group,
+ covariates = input$covariates,
+ censor_mark = input$points,
+ CI = input$ci,
+ risk_table = input$risk_table,
+ median_line = input$median_line,
+ time_ticks = user_ticks()
+ )
})
-
+
return(p)
}
diff --git a/R/mod_popExp_ui.R b/R/mod_popExp_ui.R
index 000bfdac..669f9988 100644
--- a/R/mod_popExp_ui.R
+++ b/R/mod_popExp_ui.R
@@ -81,7 +81,8 @@ mod_popExp_ui <- function(id, label = "Population Explorer"){
column(width = 9,
div(id = "pop_cic_plot",
wellPanel(
- plotlyOutput(ns("plot_output"), height = 700),
+ #plotlyOutput(ns("plot_output_plotly"), height = 700),
+ uiOutput(ns("dynamic_plot_ui")),
div(style = "color: #0275d8; font-size: 12px;", htmlOutput(ns("applied_filters")))
, br(), br()
,DT::dataTableOutput(ns("plot_data"))
diff --git a/R/mod_selectData.R b/R/mod_selectData.R
index 815ee0a4..fc30c191 100644
--- a/R/mod_selectData.R
+++ b/R/mod_selectData.R
@@ -54,7 +54,7 @@ mod_selectData_server <- function(input, output, session, datafile){
sasdata <- toupper(names(datafile()))
# Only select data that starts with AD followed by one or more alphanumerics or underscore
- sasdata <- names(which(sapply(sasdata,function(df) { return(stringr::str_detect(toupper(df),"^AD[A-Z0-9\\_]+")) })))
+ sasdata <- names(which(sapply(sasdata,function(df) { return(stringr::str_detect(toupper(df),"^AD")) })))
# Update the picker input list
updatePickerInput(
diff --git a/R/mod_tableGen.R b/R/mod_tableGen.R
index d9be8e02..86ae4910 100644
--- a/R/mod_tableGen.R
+++ b/R/mod_tableGen.R
@@ -117,7 +117,7 @@ mod_tableGen_server <- function(input, output, session, datafile = reactive(NULL
my_loaded_adams <- reactive({
req(!is.null(datafile()))
sasdata0 <- toupper(names(datafile()))
- sasdata <- names(which(sapply(sasdata0,function(df) { return(stringr::str_detect(toupper(df),"^AD[A-Z0-9\\_]+")) })))
+ sasdata <- names(which(sapply(sasdata0,function(df) { return(stringr::str_detect(toupper(df),"^AD")) })))
return(sasdata)
})
diff --git a/R/sysdata.rda b/R/sysdata.rda
index 34771ede..70d8a4f7 100644
Binary files a/R/sysdata.rda and b/R/sysdata.rda differ
diff --git a/R/utils_adam.R b/R/utils_adam.R
new file mode 100644
index 00000000..c79a571e
--- /dev/null
+++ b/R/utils_adam.R
@@ -0,0 +1,270 @@
+#' Suggest ADaM Domain
+#'
+#' Heuristically suggests the most likely ADaM domain for a dataset
+#' based on the presence of required variables.
+#'
+#' @param df A data.frame to evaluate.
+#'
+#' @return A character string fo the most likely domain name (e.g., "ADLB"), or NULL.
+#' @keywords internal
+suggest_adam_domain <- function(df) {
+ scores <- purrr::map_int(adam_requirements, \(def) {
+ sum(def$required %in% names(df))
+ })
+
+ best <- which.max(scores)
+ if (scores[best] > 1) {
+ names(adam_requirements)[best]
+ } else {
+ NULL
+ }
+}
+
+#' Validate ADaM Structure
+#'
+#' Validates that a dataset conforms to required variables for a given ADaM domain.
+#' If no domain is supplied, it will attempt to infer one based on variable names.
+#'
+#' @param df A data.frame to validate
+#' @param domain Optional. A string naming the ADaM domain to validate against.
+#'
+#' @returns A list with:
+#' - `domain`: inferred or provided domain
+#' - `is_valid`: logical
+#' - `missing_required`: character vector
+#' - `missing_recommended`: character vector
+#' - `error`: character or NULL
+#'
+#' @keywords internal
+validate_adamish <- function(df, domain = NULL) {
+ if (is.null(domain)) {
+ domain <- suggest_adam_domain(df)
+ }
+
+ if (is.null(domain) || !domain %in% names(adam_requirements)) {
+ out_list <- structure(
+ list(
+ domain = NULL,
+ is_valid = FALSE,
+ missing_required = character(0),
+ missing_recommended = character(0),
+ error = "Unknown or unspecified ADaM domain."
+ ),
+ class = "adam_validation"
+ )
+ return(out_list)
+ }
+
+ req_vars <- adam_requirements[[domain]]$required
+ rec_vars <- adam_requirements[[domain]]$recommended
+
+ missing_required <- setdiff(req_vars, names(df))
+ missing_recommended <- setdiff(rec_vars, names(df))
+ is_valid <- length(missing_required) == 0
+
+ out_list <- structure(
+ list(
+ domain = domain,
+ is_valid = is_valid,
+ missing_required = missing_required,
+ missing_recommended = missing_recommended,
+ error = NULL
+ ),
+ class = "adam_validation"
+ )
+
+ return(out_list)
+}
+
+#' Suggest Column Mappings for ADaM
+#'
+#' Based on validation results, attempt to suggest which columns to rename to standard ADaM variable names.
+#'
+#' @param df A data.frame to evaluate
+#' @param validation A list returned from `validate_adamish()`
+#' @param string_distance Logical. Use string distance matching to provide suggestions, requires `stringdist` package
+#' @param session A Shiny session object (optional).
+#' @param input_ids A named list of input IDs corresponding to ADaM variable names (optional)
+#'
+#' @returns A named list with best-guess mappings for missing variables
+#' @keywords internal
+suggest_adam_column_mapping <- function(
+ df,
+ validation,
+ string_distance = FALSE,
+ session = NULL,
+ input_ids = NULL
+) {
+ if (!inherits(validation, "adam_validation")) {
+ stop("Invalid validation object passed. Must be from validate_adamish()")
+ }
+
+ if (validation$is_valid) {
+ return(stats::setNames(vector("list", 0), character(0)))
+ }
+
+ candidates <- names(df)
+ suggestions <- list()
+
+ # Alias dictionary
+ aliases <- list(
+ USUBJID = c("subject_id", "subjid", "usrid"),
+ STUDYID = c("study", "study_id"),
+ PARAM = c("test", "variable", "paramname"),
+ PARAMCD = c("testcd", "param_code"),
+ AVAL = c("value", "avalval", "score"),
+ AVISIT = c("visit", "timepoint"),
+ AVISITN = c("visitnum", "visitn"),
+ CNSR = c("censor", "cnsrflag"),
+ ADT = c("date", "adtm", "obsdt"),
+ QNAM = c("question", "qname", "item"),
+ AEDECOD = c("event", "aeterm"),
+ AESTDTC = c("startdt", "aestdt", "start_date")
+ )
+
+ for (var in c(validation$missing_required, validation$missing_recommended)) {
+ # browser()
+ lc_candidates <- tolower(candidates)
+ lc_var <- tolower(var)
+
+ # 1. Exact match
+ exact_match <- candidates[lc_candidates == lc_var]
+
+ # 2. Alias match
+ alias_match <- NULL
+ if (var %in% names(aliases)) {
+ alias_match <- candidates[lc_candidates %in% tolower(aliases[[var]])]
+ }
+
+ # 3. Fuzzy contains match
+ fuzzy_match <- candidates[grepl(lc_var, lc_candidates)]
+
+ # 4. String distance match
+ stringdist_match <- NULL
+
+ if (rlang::is_true(string_distance)) {
+ rlang::check_installed(
+ "stringdist",
+ reason = "is required to perform string distance matching."
+ )
+
+ # Create set of targets for expected var names and aliases
+ targets <- tolower(c(var, aliases[[var]] %||% character(0)))
+
+ # Compute distances between each target and column name
+ dist_matrix <- stringdist::stringdistmatrix(
+ targets,
+ lc_candidates,
+ method = "jw"
+ )
+ min_idx <- which(dist_matrix == min(dist_matrix), arr.ind = TRUE)
+
+ # Get best column candidate if distance is small enough
+ if (nrow(min_idx) > 0) {
+ min_val <- dist_matrix[min_idx[1, 1], min_idx[1, 2]]
+ if (min_val < 0.25) {
+ stringdist_match <- candidates[min_idx[1, 2]]
+ }
+ }
+ }
+
+ # 5. Select suggestion
+ suggestion <- dplyr::first(
+ c(exact_match, alias_match, fuzzy_match, stringdist_match),
+ default = NULL
+ )
+ suggestions[[var]] <- suggestion
+
+ # If session + input_ids provided, update selectizeInput()
+ if (
+ !rlang::is_null(session) &&
+ !rlang::is_null(input_ids) &&
+ !rlang::is_null(input_ids[[var]]) &&
+ !rlang::is_null(suggestion)
+ ) {
+ shiny::updateSelectizeInput(
+ session = session,
+ inputId = input_ids[[var]],
+ choices = candidates,
+ selected = suggestion
+ )
+ }
+ }
+
+ return(suggestions)
+}
+
+
+#' Show ADaM Compatibility Alert
+#'
+#' Display a shinyalert-style popup based on the results of `validate_adamish()`
+#'
+#' @param validation A list returned from `validate_adamish()`
+#' @param session The Shiny session (typically `session` from server)
+#' @keywords internal
+show_adamish_alert <- function(validation, session) {
+ rlang::check_installed("shinyalert", reason = "to use this function.")
+
+ if (isTRUE(validation$is_valid)) {
+ shinyalert::shinyalert(
+ title = "\u2705 ADaM Compatibility Passed",
+ text = glue::glue("Domain: {validation$domain}"),
+ type = "success",
+ session = session
+ )
+ } else {
+ message <- if (!is.null(validation$error)) {
+ validation$error
+ } else {
+ domain_msg <- glue::glue("Domain: {validation$domain}")
+
+ req_msg <- glue::glue(
+ "\u274C Missing required: {glue::glue_collapse(validation$missing_required, sep = ', ')}"
+ )
+ rec_msg <- glue::glue(
+ "\u26A0\uFE0F Missing recommended: {glue::glue_collapse(validation$missing_recommended, sep = ', ')}"
+ )
+
+ message <- dplyr::if_else(
+ length(validation$missing_recommended) > 0,
+ glue::glue("{domain_msg}\n{req_msg}\n{rec_msg}"),
+ req_msg
+ )
+ }
+
+ shinyalert::shinyalert(
+ title = "\u274C ADaM Compatibility Failed",
+ text = message,
+ type = "error",
+ session = session
+ )
+ }
+}
+
+#' Normalize ADaM datasets
+#'
+#' @description Checks ADaM domain of uploaded datasets and renames based on the domain. Returns filename if no ADaM domain.
+#'
+#' @param datafile_list list A list of data.frames dataset to normalize
+#' @return A list of normalized data.frames.
+#'
+#' @noRd
+#'
+normalize_adam_datasets <- function(datafile_list) {
+ normalized_list <- list()
+
+ for (name in names(datafile_list)) {
+ df <- datafile_list[[name]]
+ validation <- validate_adamish(df)
+
+ if (!is.null(validation$domain)) {
+ # Rename to standard domain name
+ normalized_list[[validation$domain]] <- df
+ } else {
+ # Keep original name if can't validate
+ normalized_list[[name]] <- df
+ }
+ }
+
+ return(normalized_list)
+}
diff --git a/R/utils_helpers.R b/R/utils_helpers.R
index 76d052b9..aee3fb0d 100644
--- a/R/utils_helpers.R
+++ b/R/utils_helpers.R
@@ -1,34 +1,38 @@
#' GT Column Names
-#'
+#'
#' @param col_names A vector of column names
#' @param col_total A vector of column totals
-#'
+#'
#' @description The function creates the labels for each column using the total function so the columns are now NAME N= X
#' @export
#' @keywords tabGen_repro
-#'
+#'
#' @return A character object of class \code{from_markdown}.
-#'
+#'
#' @importFrom purrr map2
#' @importFrom gt md
#' @importFrom glue glue
#' @importFrom rlang set_names
-#'
-#' @examples
+#'
+#' @examples
#' data(example_dat2, package = "tidyCDISC")
-#'
+#'
#' labels <- col_for_list_expr(example_dat2$col_names, example_dat2$col_totals)
#' labels
-#'
+#'
#' if (interactive()) {
#' # TG table without nice column labels or totals
#' example_dat2$TG_table
-#'
+#'
#' # TG table with nice column labels and totals
#' gt::cols_label(example_dat2$TG_table, .list = labels)
#' }
col_for_list_expr <- function(col_names, col_total) {
- purrr::map2(col_names, col_total, ~ gt::md(glue::glue("**{.x}**
N={.y}"))) %>%
+ purrr::map2(
+ col_names,
+ col_total,
+ ~ gt::md(glue::glue("**{.x}**
N={.y}"))
+ ) %>%
rlang::set_names(col_names)
}
@@ -43,14 +47,14 @@ col_for_list_expr <- function(col_names, col_total) {
#'
#' @family indvExp Functions
#' @noRd
-#'
+#'
my_gg_color_hue <- function(n) {
- hues = seq(15, 375, length = n +1)
+ hues = seq(15, 375, length = n + 1)
hcl(h = hues, l = 65, c = 100)[1:n]
}
#' Standard Error Calculation
-#'
+#'
#' Calculates the square root of variance divided by n
#'
#' @param x A numeric vector
@@ -60,78 +64,84 @@ my_gg_color_hue <- function(n) {
#'
#' @family tableGen Functions
#' @noRd
-#'
-std_err <- function(x, na.rm=FALSE) {
- if (na.rm) x <- na.omit(x)
- sqrt(var(x)/length(x))
+#'
+std_err <- function(x, na.rm = FALSE) {
+ if (na.rm) {
+ x <- na.omit(x)
+ }
+ sqrt(var(x) / length(x))
}
#' Translate the position of into a integer needed for ggplot2
#' @param dir the strings to capitalize
#' @noRd
-#'
-translate_pos <- function(dir){
- if(dir %in% c("left","bottom")) -1
- else if(dir %in% c("right","top")) 1
- else 0 # middle
+#'
+translate_pos <- function(dir) {
+ if (dir %in% c("left", "bottom")) {
+ -1
+ } else if (dir %in% c("right", "top")) {
+ 1
+ } else {
+ 0
+ } # middle
}
#' Capitalize the first letter of a string
#' @param y the strings to capitalize
#' @noRd
-#'
+#'
CapStr <- function(y) {
c <- strsplit(y, " ")[[1]]
- paste(toupper(substring(c, 1,1)), substring(c, 2),
- sep="", collapse=" ")
+ paste(toupper(substring(c, 1, 1)), substring(c, 2), sep = "", collapse = " ")
}
-#' transpose dataframes so they can all
+#' transpose dataframes so they can all
#' be used with rbind to generate
#' the gt tables
-#'
+#'
#' @param df the dataframe to transpose
#' @param num the number of rows to return
#' @importFrom dplyr mutate rename
#' @importFrom tidyr pivot_longer pivot_wider
#' @noRd
-#'
+#'
transpose_df <- function(df, num) {
t_df <- df %>%
dplyr::mutate("rowname" = rownames(.), .before = 1) %>%
tidyr::pivot_longer(-"rowname") %>%
tidyr::pivot_wider(names_from = "rowname") %>%
dplyr::rename("rowname" = "name")
- return(t_df[-num,])
+ return(t_df[-num, ])
}
#' Identify Names of Columns
-#'
+#'
#' @description A function to transform the \code{gt} row names from generics to the column name and the total N of
#' each column
#'
#' @param data the data to create columns with
#' @param group whether to group the data to calculate Ns
-#'
+#'
#' @export
#' @keywords tabGen_repro
-#'
+#'
#' @return A character vector
-#'
-#' @examples
+#'
+#' @examples
#' data(adsl, package = "tidyCDISC")
-#'
+#'
#' # Values of TRT01P
#' unique(adsl$TRT01P)
-#'
+#'
#' # Common row names based on TRT01P
#' common_rownames(adsl, "TRT01P")
-common_rownames <- function(data, group) {
- if (is.null(group) ) { #| group == "NONE"
+common_rownames <- function(data, group) {
+ if (is.null(group)) {
+ #| group == "NONE"
vars <- c("Variable", "Total")
} else {
- if(is.factor(data[[group]])){
+ if (is.factor(data[[group]])) {
# droplevels() get's rid of levels that no longer exist in the data post filtering
lvls <- levels(data[[group]]) # removed droplevels() to retain all trt grps
} else {
@@ -165,8 +175,6 @@ common_rownames <- function(data, group) {
# # if (x == "ADAE") ae_data() else all_data()
# # }
-
-
#' Convert actions performed on from an IDEAFilter output dataframe into text
#'
#' Function accepts a filtered data object from IDEAFilter (shiny_data_filter
@@ -186,53 +194,82 @@ common_rownames <- function(data, group) {
#' @importFrom utils capture.output
#' @importFrom tidyr as_tibble
#' @importFrom shiny HTML
-#'
+#'
#' @return An HTML string
#' @noRd
-#'
-filters_in_english <- function(filtered_data, filter_header = "Filters Applied:"){
-
+#'
+filters_in_english <- function(
+ filtered_data,
+ filter_header = "Filters Applied:"
+) {
# grab the output
- orig_code <- paste(utils::capture.output(attr(filtered_data, "code")),collapse = "")
+ orig_code <- paste(
+ utils::capture.output(attr(filtered_data, "code")),
+ collapse = ""
+ )
# orig_code <- 'processed_data %>% filter(ABIFN1 %in% c(NA, "NEGATIVE")) %>% filter(ABIFN1 %in% c(NA, "POSITIVE"))'
# convert double quotes to single quotes
code_text <- orig_code %>%
stringr::str_remove("^.*?\\%>\\%") %>%
stringr::str_replace_all('\"', "\'")
-
+
# find the character position for the end of the string
len <- nchar(code_text)
-
+
# find the start of the variable expressions using position of "filter"
- f_loc <- str_locate_all(code_text,"filter\\(")
+ f_loc <- str_locate_all(code_text, "filter\\(")
filter_loc <- tidyr::as_tibble(f_loc[[1]])
var_st <- filter_loc$end + 1
-
+
# find the end of variable expression susing position of "%>%"
- p_loc <- str_locate_all(code_text,"\\%\\>\\%") # have to use this
+ p_loc <- str_locate_all(code_text, "\\%\\>\\%") # have to use this
pipe_loc <- tidyr::as_tibble(p_loc[[1]])
num_pipes <- nrow(pipe_loc)
- var_end <- c(pipe_loc$start[ifelse(num_pipes == 1, 1, 2):num_pipes] - 3, len - 1) # ifelse(num_pipes == 1, 1, 2)
-
+ var_end <- c(
+ pipe_loc$start[ifelse(num_pipes == 1, 1, 2):num_pipes] - 3,
+ len - 1
+ ) # ifelse(num_pipes == 1, 1, 2)
+
# use map2, to apply multiple arguments to the substr function, returing a list
- filter_vectors <- map2(.x = var_st, .y = var_end, function(x,y) substr(code_text,x,y))
+ filter_vectors <- map2(.x = var_st, .y = var_end, function(x, y) {
+ substr(code_text, x, y)
+ })
my_msgs <- filter_vectors[!(is.na(filter_vectors) | filter_vectors == "")] # get rid of NA msgs
-
+
# clean up messages to read more naturally
- disp_msg <- gsub("\\%in\\%","IN",
- gsub("c\\(","\\(",
- gsub("\\(NA","\\(Missing",
- gsub(".na",".Missing",
- gsub(" "," ", # 3 spaces
- gsub(" "," ", # 2 spaces
- gsub("\\|","OR",
- gsub("\\&","AND",
- my_msgs
- ))))))))
-
+ disp_msg <- gsub(
+ "\\%in\\%",
+ "IN",
+ gsub(
+ "c\\(",
+ "\\(",
+ gsub(
+ "\\(NA",
+ "\\(Missing",
+ gsub(
+ ".na",
+ ".Missing",
+ gsub(
+ " ",
+ " ", # 3 spaces
+ gsub(
+ " ",
+ " ", # 2 spaces
+ gsub("\\|", "OR", gsub("\\&", "AND", my_msgs))
+ )
+ )
+ )
+ )
+ )
+ )
+
# format as html in a specific format, with indentation
- return(HTML(paste0("",filter_header,"
"
- ,paste(disp_msg, collapse = "
"))))
+ return(HTML(paste0(
+ "",
+ filter_header,
+ "
",
+ paste(disp_msg, collapse = "
")
+ )))
}
#' Get Factor Levels
@@ -240,29 +277,30 @@ filters_in_english <- function(filtered_data, filter_header = "Filters Applied:"
#' Extracts the factor levels of a vector or returns the unique values if the vector is not a factor.
#'
#' @param x a vector
-#'
-#' @return x vector
-#'
+#'
+#' @return x vector
+#'
#' @export
#' @keywords helpers
-#'
+#'
#' @references A character vector containing the levels of the factor/vector
-#'
-#' @examples
+#'
+#' @examples
#' data(adae, package = "tidyCDISC")
-#'
+#'
#' # Create levels based on VARN
#' varN_fctr_adae <- varN_fctr_reorder(adae)
-#'
+#'
#' # `adae` does not have factor but `varN_fctr_adae` does
#' levels(adae$RACE)
#' levels(varN_fctr_adae$RACE)
-#'
+#'
#' # `get_levels()` either creates the factor or retrieves it
#' get_levels(adae$RACE)
#' get_levels(varN_fctr_adae$RACE)
-get_levels <- function(x) {if(is.factor(x)) levels(x) else sort(unique(x), na.last = TRUE) }
-
+get_levels <- function(x) {
+ if (is.factor(x)) levels(x) else sort(unique(x), na.last = TRUE)
+}
#' %quote%
@@ -271,41 +309,40 @@ get_levels <- function(x) {if(is.factor(x)) levels(x) else sort(unique(x), na.la
#' @return either y or a string
#' @noRd
#'
-`%quote%` <- function(x,y) {
+`%quote%` <- function(x, y) {
if (is.null(x)) {
y
} else {
- paste0("\'",x,"\'") #sQuote(x) # old
+ paste0("\'", x, "\'") #sQuote(x) # old
}
}
-
#' Re-order Factor Levels by VARN
-#'
+#'
#' Function to that looks for VARN counterparts to any character or factor VAR
#' variables in any dataframe and re-orders there factor levels, taking the lead
#' from VARN's numeric guide.
-#'
+#'
#' @param data a dataframe, including one enriched with SAS labels attributes
-#'
+#'
#' @importFrom sjlabelled get_label set_label
-#' @importFrom purrr walk2
-#'
+#' @importFrom purrr walk2
+#'
#' @export
#' @keywords helpers
-#'
+#'
#' @return The data frame after having factor levels re-ordered by VARN
-#'
-#' @examples
+#'
+#' @examples
#' data(adae, package = "tidyCDISC")
-#'
+#'
#' varN_fctr_adae <- varN_fctr_reorder(adae)
-#'
+#'
#' unique(adae[,c("AGEGR1", "AGEGR1N")])
#' levels(adae$AGEGR1)
#' levels(varN_fctr_adae$AGEGR1)
-#'
+#'
#' unique(adae[,c("RACE", "RACEN")])
#' levels(adae$RACE)
#' levels(varN_fctr_adae$RACE)
@@ -315,24 +352,34 @@ varN_fctr_reorder <- function(data) {
# Now to refactor levels in VARN order, if they exist:
# save the variable labels into savelbls vector
savelbls <- sjlabelled::get_label(data)
-
+
# identify all char - numeric variables pairs that need factor re-ordering
cols <- colnames(data)
- non_num_cols <- c(subset_colclasses(data, is.factor),
- subset_colclasses(data, is.character))
- varn <- paste0(non_num_cols,"N")[paste0(non_num_cols,"N") %in% cols]
- varc <- substr(varn,1,nchar(varn) - 1)
-
- if(!rlang::is_empty(varn)){
- for(i in 1:length(varn)){
+ non_num_cols <- c(
+ subset_colclasses(data, is.factor),
+ subset_colclasses(data, is.character)
+ )
+ varn <- paste0(non_num_cols, "N")[paste0(non_num_cols, "N") %in% cols]
+ varc <- substr(varn, 1, nchar(varn) - 1)
+
+ if (!rlang::is_empty(varn)) {
+ for (i in 1:length(varn)) {
this_varn <- as.character(varn[i])
this_varc <- varc[i]
this_varn_sym <- rlang::sym(this_varn)
- this_varc_sym <-rlang::sym(this_varc)
- pref_ord <- data %>% select(one_of(this_varc, this_varn)) %>% distinct() %>% arrange(!!this_varn_sym)
+ this_varc_sym <- rlang::sym(this_varc)
+ pref_ord <- data %>%
+ select(one_of(this_varc, this_varn)) %>%
+ distinct() %>%
+ arrange(!!this_varn_sym)
data <-
- data %>% mutate(!!this_varc_sym := factor(!!this_varc_sym,
- levels = unique(pref_ord[[this_varc]])))
+ data %>%
+ mutate(
+ !!this_varc_sym := factor(
+ !!this_varc_sym,
+ levels = unique(pref_ord[[this_varc]])
+ )
+ )
# return(data)
}
}
@@ -346,15 +393,18 @@ error_handler <- function(e) {
UseMethod("error_handler")
}
+#' @export
error_handler.default <- function(e) {
conditionMessage(e)
}
+#' @export
error_handler.purrr_error_indexed <-
`error_handler.dplyr:::mutate_error` <- function(e) {
- e$parent$message
-}
+ e$parent$message
+ }
+#' @export
error_handler.rlang_error <- function(e) {
stringr::str_replace_all(rlang::cnd_message(e), "\n.*? ", " ")
}
@@ -367,7 +417,7 @@ error_handler.rlang_error <- function(e) {
#' @param data a data.frame, hopefully containing variable label attributes
#' @param var_str you guessed it, the name of a variable inside of `data`, in
#' the form of a string
-#'
+#'
#' @return a string containing a useful label
#'
#' @noRd
@@ -375,8 +425,9 @@ best_lab <- function(data, var_str) {
attr(data[[var_str]], "label") %||% var_str
}
-
-
-
-
-
+#' Dummy function to remove note from R CMD check
+#' @noRd
+dummy <- function() {
+ pkgload::check_dep_version
+ cli::cli_abort
+}
diff --git a/R/utils_read_data.R b/R/utils_read_data.R
new file mode 100644
index 00000000..96a6dc83
--- /dev/null
+++ b/R/utils_read_data.R
@@ -0,0 +1,59 @@
+#' Reads datasets in various formats
+#'
+#' @description Imports data in various formats and cleans column names. Accommodates .txt, .csv, .xls, .xlsx, .sas7bdat
+#'
+#' @param path Character Path to a tabular dataset in .txt, .csv, .xls, .xlsx, or .sas7bdat format
+#' @return A data.frame of the imported dataset.
+#'
+#' @noRd
+#'
+read_data <- function(path) {
+ ext <- fs::path_ext(path)
+
+ data1 <- switch(
+ ext,
+ txt = vroom::vroom(path) |> as.data.frame() |> coerce_ids_to_char(),
+ csv = vroom::vroom(path, delim = ",") |>
+ as.data.frame() |>
+ coerce_ids_to_char(),
+ xls = readxl::read_xls(path) |> as.data.frame() |> coerce_ids_to_char(),
+ xlsx = readxl::read_xlsx(path) |> as.data.frame() |> coerce_ids_to_char(),
+ sas7bdat = haven::read_sas(path) |>
+ haven::zap_formats() |>
+ coerce_ids_to_char(),
+ parquet = arrow::read_parquet(path) |> coerce_ids_to_char(),
+ stop("Unsupported file format")
+ )
+
+ return(data1)
+}
+
+#' Converts known ID variables to characters
+#'
+#' @description Certain file formats have no column type metadata. This function converts known ID variables to character.
+#'
+#' @param data data.frame A dataset to transform
+#' @return A data.frame of the modified dataset.
+#'
+#' @noRd
+#'
+coerce_ids_to_char <- function(data) {
+ data |>
+ dplyr::mutate(
+ dplyr::across(
+ .cols = tidyselect::matches(
+ "STUDYID|USUBJID|SUBJID|SITEID",
+ ignore.case = TRUE
+ ),
+ .fns = \(x) as.character(x)
+ )
+ )
+}
+
+#' Dummy function to remove note from R CMD check
+#' @noRd
+dummy <- function() {
+ broom.helpers::model_get_assign
+ pkgload::check_dep_version
+}
+
diff --git a/_pkgdown.yml b/_pkgdown.yml
index 3f05bcb2..4bd221db 100644
--- a/_pkgdown.yml
+++ b/_pkgdown.yml
@@ -2,11 +2,14 @@ articles:
- title: Getting Started
contents:
- tidyCDISC
+ - getting_started
- title: Blog Posts
navbar: ~
desc: News and Announcements
contents:
- Blog
+ - announcing-tidycdisc-0-0-1-1
+ - announcing-tidycdisc-0-2-1
- title: User Guides
navbar: User Guides
desc: Step-by-step tutorials for each module in the application
diff --git a/data-raw/internal-data.R b/data-raw/internal-data.R
index ff2efab0..07739e88 100644
--- a/data-raw/internal-data.R
+++ b/data-raw/internal-data.R
@@ -1,34 +1,96 @@
pretty_blocks <- tidyr::tibble(
- Pattern = c("MEAN", "FREQ", "CHG", "Y_FREQ", "MAX_FREQ", "NON_MISSING",
- "NESTED_FREQ_DSC", "NESTED_FREQ_ABC"),
- Replacement = c("Descriptive Statistics",
- "Summary Counts",
- "Descriptive Statistics of Change from Baseline",
- "Subject Count for those with 'Y' values",
- "Subject Count for maximum",
- "Subject Count for those with Non Missing values",
- "Subject Count at each variable level, sorted descending by total counts",
- "Subject Count at each variable level, sorted alphabetically by name")
+ Pattern = c(
+ "MEAN",
+ "FREQ",
+ "CHG",
+ "Y_FREQ",
+ "MAX_FREQ",
+ "NON_MISSING",
+ "NESTED_FREQ_DSC",
+ "NESTED_FREQ_ABC"
+ ),
+ Replacement = c(
+ "Descriptive Statistics",
+ "Summary Counts",
+ "Descriptive Statistics of Change from Baseline",
+ "Subject Count for those with 'Y' values",
+ "Subject Count for maximum",
+ "Subject Count for those with Non Missing values",
+ "Subject Count at each variable level, sorted descending by total counts",
+ "Subject Count at each variable level, sorted alphabetically by name"
+ )
)
tg_data <- tidyr::tibble(
USUBJID = 1:10,
- AGE = c(20,30,40,30,40,60,20,30,50,40),
+ AGE = c(20, 30, 40, 30, 40, 60, 20, 30, 50, 40),
PARAMCD = "DIABP",
PARAM = "Diastolic",
SEX = c(rep("F", 5), rep("M", 5)),
COUNTRY = c(rep(c("Canada", "USA"), 5)),
AVISIT = c(rep(c("Week 1", "Week 2"), 5)),
- AVISITN = c(rep(c(1,2), 5)),
- AVAL = c(20,30,40,30,40,60,20,30,50,40),
- CHG = c(20,30,40,30,40,60,20,30,50,40),
- ITTFL = c('Y','Y',rep(NA_character_,8)),
- SAFFL = c('Y','Y','N',rep(NA_character_,7)),
- DTHDT = c(as.Date("2020-01-01"),rep(NA,9)),
- AVISITf1 = factor(c(rep(c("Week 1", "Week 2"), 5)),c("Week 1","Week 2")),
- AVISITf2 = factor(c(rep(c("Week 1", "Week 2"), 5)),c("Week 2","Week 1")),
+ AVISITN = c(rep(c(1, 2), 5)),
+ AVAL = c(20, 30, 40, 30, 40, 60, 20, 30, 50, 40),
+ CHG = c(20, 30, 40, 30, 40, 60, 20, 30, 50, 40),
+ ITTFL = c('Y', 'Y', rep(NA_character_, 8)),
+ SAFFL = c('Y', 'Y', 'N', rep(NA_character_, 7)),
+ DTHDT = c(as.Date("2020-01-01"), rep(NA, 9)),
+ AVISITf1 = factor(c(rep(c("Week 1", "Week 2"), 5)), c("Week 1", "Week 2")),
+ AVISITf2 = factor(c(rep(c("Week 1", "Week 2"), 5)), c("Week 2", "Week 1")),
AVISITf2N = AVISITN
)
-usethis::use_data(pretty_blocks, tg_data, internal = TRUE, overwrite = TRUE)
+# #' ADaM domain variable requirements
+# #'
+# #' This internal object defines required and recommended variables for common ADaM datasets.
+# #' Used by `suggest_adam_domain()` and `validate_adamish()`.
+# #' @keywords internal
+# "adam_requirements"
+
+adam_requirements <- list(
+ ADSL = list(
+ required = c("STUDYID", "USUBJID"),
+ recommended = c("AGE", "SEX", "RACE", "ARM", "TRT01P")
+ ),
+ ADLB = list(
+ required = c("STUDYID", "USUBJID", "PARAM", "PARAMCD", "AVAL", "AVISIT"),
+ recommended = c("AVISITN", "DTYPE", "ABLFL", "ADTM")
+ ),
+ ADVS = list(
+ required = c("STUDYID", "USUBJID", "PARAM", "PARAMCD", "AVAL", "AVISIT"),
+ recommended = c("AVISITN", "ADY", "DTYPE")
+ ),
+ ADQS = list(
+ required = c("STUDYID", "USUBJID", "PARAM", "PARAMCD", "AVAL", "AVISIT"),
+ recommended = c("AVISITN", "ADY")
+ ),
+ ADAE = list(
+ required = c("STUDYID", "USUBJID", "AEDECOD", "AESTDTC"),
+ recommended = c("AESER", "AESEV", "AEACN", "AEOUT")
+ ),
+ ADEG = list(
+ required = c("STUDYID", "USUBJID", "PARAM", "PARAMCD", "AVAL", "AVISIT"),
+ recommended = c("AVISITN", "ADTM")
+ ),
+ ADTTE = list(
+ required = c(
+ "STUDYID",
+ "USUBJID",
+ "PARAMCD",
+ "PARAM",
+ "AVAL",
+ "CNSR",
+ "ADT"
+ ),
+ recommended = c("STARTDT", "ADTM", "AVISIT")
+ )
+)
+
+usethis::use_data(
+ pretty_blocks,
+ tg_data,
+ adam_requirements,
+ internal = TRUE,
+ overwrite = TRUE
+)
diff --git a/dev/03_deploy.R b/dev/03_deploy.R
index 4e36df69..5be9d88a 100644
--- a/dev/03_deploy.R
+++ b/dev/03_deploy.R
@@ -1,12 +1,12 @@
# Building a Prod-Ready, Robust Shiny Application.
-#
-# README: each step of the dev files is optional, and you don't have to
-# fill every dev scripts before getting started.
-# 01_start.R should be filled at start.
+#
+# README: each step of the dev files is optional, and you don't have to
+# fill every dev scripts before getting started.
+# 01_start.R should be filled at start.
# 02_dev.R should be used to keep track of your development during the project.
# 03_deploy.R should be used once you need to deploy your app.
-#
-#
+#
+#
######################################
#### CURRENT FILE: DEPLOY SCRIPT #####
######################################
@@ -35,3 +35,5 @@ golem::add_dockerfile_shinyproxy()
## If you want to deploy to Heroku
golem::add_dockerfile_heroku()
+
+rsconnect::writeManifest()
diff --git a/dev/adam_requirements.R b/dev/adam_requirements.R
new file mode 100644
index 00000000..877f7d4e
--- /dev/null
+++ b/dev/adam_requirements.R
@@ -0,0 +1,47 @@
+# #' ADaM domain variable requirements
+# #'
+# #' This internal object defines required and recommended variables for common ADaM datasets.
+# #' Used by `suggest_adam_domain()` and `validate_adamish()`.
+# #' @keywords internal
+# "adam_requirements"
+
+adam_requirements <- list(
+ ADSL = list(
+ required = c("STUDYID", "USUBJID"),
+ recommended = c("AGE", "SEX", "RACE", "ARM", "TRT01P")
+ ),
+ ADLB = list(
+ required = c("STUDYID", "USUBJID", "PARAM", "PARAMCD", "AVAL", "AVISIT"),
+ recommended = c("AVISITN", "DTYPE", "ABLFL", "ADTM")
+ ),
+ ADVS = list(
+ required = c("STUDYID", "USUBJID", "PARAM", "PARAMCD", "AVAL", "AVISIT"),
+ recommended = c("AVISITN", "ADY", "DTYPE")
+ ),
+ ADQS = list(
+ required = c("STUDYID", "USUBJID", "PARAM", "PARAMCD", "AVAL", "AVISIT"),
+ recommended = c("AVISITN", "ADY")
+ ),
+ ADAE = list(
+ required = c("STUDYID", "USUBJID", "AEDECOD", "AESTDTC"),
+ recommended = c("AESER", "AESEV", "AEACN", "AEOUT")
+ ),
+ ADEG = list(
+ required = c("STUDYID", "USUBJID", "PARAM", "PARAMCD", "AVAL", "AVISIT"),
+ recommended = c("AVISITN", "ADTM")
+ ),
+ ADTTE = list(
+ required = c(
+ "STUDYID",
+ "USUBJID",
+ "PARAMCD",
+ "PARAM",
+ "AVAL",
+ "CNSR",
+ "ADT"
+ ),
+ recommended = c("STARTDT", "ADTM", "AVISIT")
+ )
+)
+
+usethis::use_data(adam_requirements, internal = TRUE, overwrite = TRUE)
\ No newline at end of file
diff --git a/dev/renv_setup.R b/dev/renv_setup.R
new file mode 100644
index 00000000..7b991faa
--- /dev/null
+++ b/dev/renv_setup.R
@@ -0,0 +1,37 @@
+# Fix renv
+Sys.setenv(RENV_CONFIG_PAK_ENABLED = TRUE)
+Sys.setenv(RENV_CONFIG_PPM_ENABLED = TRUE)
+
+Sys.setenv(RENV_CONFIG_PAK_ENABLED = FALSE)
+Sys.setenv(RENV_CONFIG_PPM_ENABLED = FALSE)
+
+renv::init()
+renv::update()
+#pak::pak("usethis")
+usethis::use_package("ggsurvfit")
+#utils::install.packages("https://packagemanager.posit.co/cran/latest/bin/windows/contrib/4.4/jsonlite_2.0.0.zip")
+#utils::install.packages("https://packagemanager.posit.co/cran/latest/bin/windows/contrib/4.4/httpuv_1.6.16.zip")
+#utils::install.packages("https://packagemanager.posit.co/cran/latest/bin/windows/contrib/4.4/ggsurvfit_1.1.0.zip")
+#utils::install.packages("https://packagemanager.posit.co/cran/latest/bin/windows/contrib/4.4/ggplot2_3.5.2.zip")
+pak::pak("devtools")
+usethis::use_package("devtools", type = "Suggests")
+usethis::use_package("arrow")
+usethis::use_package("readxl")
+usethis::use_package("cli")
+usethis::use_package("fs")
+usethis::use_package("data.table")
+usethis::use_package("gtsummary")
+usethis::use_package("broom.helpers")
+usethis::use_package("vroom")
+usethis::use_package("tidyselect")
+# usethis::use_package("arcusTStidy")
+usethis::use_package("tibble")
+usethis::use_package("stringdist")
+
+
+renv::snapshot(type = "explicit")
+
+renv::install("pkgload")
+renv::restore()
+
+rsconnect::writeManifest(appMode = "shiny")
diff --git a/dev/run_dev.R b/dev/run_dev.R
index c8767797..efcd6907 100644
--- a/dev/run_dev.R
+++ b/dev/run_dev.R
@@ -1,5 +1,9 @@
# Sass code compilation
-sass::sass(input = sass::sass_file("inst/app/www/timevis.sass"), output = "inst/app/www/timevis.css", cache = NULL)
+sass::sass(
+ input = sass::sass_file("inst/app/www/timevis.sass"),
+ output = "inst/app/www/timevis.css",
+ cache = NULL
+)
# Set options here
options(golem.app.prod = FALSE) # TRUE = production mode, FALSE = development mode
@@ -12,11 +16,16 @@ golem::detach_all_attached()
# Document and reload your package, which runs these three functions...
golem::document_and_reload()
-# Run the application
-run_app()
+# Run the application
+run_app(launch.browser = TRUE)
# # turn off any options
# options(shiny.autoload.r=NULL)
-
-
+# options(shiny.logLevel = "trace")
+# Profile
+# profvis::profvis({
+# print(
+# run_app(launch.browser = TRUE)
+# )
+# })
diff --git a/inst/WORDLIST b/inst/WORDLIST
index 62b34a48..f41f1073 100644
--- a/inst/WORDLIST
+++ b/inst/WORDLIST
@@ -54,6 +54,7 @@ VARN
VARN's
YYYY
adae
+adamish
adlbc
adsl
adtte
@@ -65,6 +66,7 @@ boxPlot
callModule
checkGroup
checkboxInput
+csv
dev
df
draggable
@@ -75,7 +77,9 @@ dropzone
eventtype
expr
fluidRow
+fo
ggplot
+ggsurvfit
gitHub
github
grey
@@ -96,6 +100,7 @@ pharma
pharmaverse
phuse
pkgs
+plotly
png
pre
px
@@ -105,9 +110,11 @@ riskmetric
sas
selectInput
selectable
+shinyalert
shinyapps
snagit
stan
+stringdist
submodule
tableGen
tibble
@@ -117,6 +124,9 @@ to’s
ui
un
vline
+wordlist
www
+xls
+xlsx
xpt
’s
diff --git a/man/show_adamish_alert.Rd b/man/show_adamish_alert.Rd
new file mode 100644
index 00000000..c2a5c375
--- /dev/null
+++ b/man/show_adamish_alert.Rd
@@ -0,0 +1,17 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/utils_adam.R
+\name{show_adamish_alert}
+\alias{show_adamish_alert}
+\title{Show ADaM Compatibility Alert}
+\usage{
+show_adamish_alert(validation, session)
+}
+\arguments{
+\item{validation}{A list returned from `validate_adamish()`}
+
+\item{session}{The Shiny session (typically `session` from server)}
+}
+\description{
+Display a shinyalert-style popup based on the results of `validate_adamish()`
+}
+\keyword{internal}
diff --git a/man/suggest_adam_column_mapping.Rd b/man/suggest_adam_column_mapping.Rd
new file mode 100644
index 00000000..5cb71afd
--- /dev/null
+++ b/man/suggest_adam_column_mapping.Rd
@@ -0,0 +1,32 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/utils_adam.R
+\name{suggest_adam_column_mapping}
+\alias{suggest_adam_column_mapping}
+\title{Suggest Column Mappings for ADaM}
+\usage{
+suggest_adam_column_mapping(
+ df,
+ validation,
+ string_distance = FALSE,
+ session = NULL,
+ input_ids = NULL
+)
+}
+\arguments{
+\item{df}{A data.frame to evaluate}
+
+\item{validation}{A list returned from `validate_adamish()`}
+
+\item{string_distance}{Logical. Use string distance matching to provide suggestions, requires `stringdist` package}
+
+\item{session}{A Shiny session object (optional).}
+
+\item{input_ids}{A named list of input IDs corresponding to ADaM variable names (optional)}
+}
+\value{
+A named list with best-guess mappings for missing variables
+}
+\description{
+Based on validation results, attempt to suggest which columns to rename to standard ADaM variable names.
+}
+\keyword{internal}
diff --git a/man/suggest_adam_domain.Rd b/man/suggest_adam_domain.Rd
new file mode 100644
index 00000000..f84c849d
--- /dev/null
+++ b/man/suggest_adam_domain.Rd
@@ -0,0 +1,19 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/utils_adam.R
+\name{suggest_adam_domain}
+\alias{suggest_adam_domain}
+\title{Suggest ADaM Domain}
+\usage{
+suggest_adam_domain(df)
+}
+\arguments{
+\item{df}{A data.frame to evaluate.}
+}
+\value{
+A character string fo the most likely domain name (e.g., "ADLB"), or NULL.
+}
+\description{
+Heuristically suggests the most likely ADaM domain for a dataset
+based on the presence of required variables.
+}
+\keyword{internal}
diff --git a/man/validate_adamish.Rd b/man/validate_adamish.Rd
new file mode 100644
index 00000000..a4476ef3
--- /dev/null
+++ b/man/validate_adamish.Rd
@@ -0,0 +1,26 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/utils_adam.R
+\name{validate_adamish}
+\alias{validate_adamish}
+\title{Validate ADaM Structure}
+\usage{
+validate_adamish(df, domain = NULL)
+}
+\arguments{
+\item{df}{A data.frame to validate}
+
+\item{domain}{Optional. A string naming the ADaM domain to validate against.}
+}
+\value{
+A list with:
+- `domain`: inferred or provided domain
+- `is_valid`: logical
+- `missing_required`: character vector
+- `missing_recommended`: character vector
+- `error`: character or NULL
+}
+\description{
+Validates that a dataset conforms to required variables for a given ADaM domain.
+If no domain is supplied, it will attempt to infer one based on variable names.
+}
+\keyword{internal}
diff --git a/manifest.json b/manifest.json
new file mode 100644
index 00000000..a6782d62
--- /dev/null
+++ b/manifest.json
@@ -0,0 +1,6135 @@
+{
+ "version": 1,
+ "locale": "en_US",
+ "platform": "4.4.0",
+ "metadata": {
+ "appmode": "shiny",
+ "primary_rmd": null,
+ "primary_html": null,
+ "content_category": null,
+ "has_parameters": false
+ },
+ "environment": {
+ "r": {
+ "requires": ">= 4.1"
+ }
+ },
+ "packages": {
+ "DT": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "DT",
+ "Type": "Package",
+ "Title": "A Wrapper of the JavaScript Library 'DataTables'",
+ "Version": "0.33",
+ "Authors@R": "c(\n person(\"Yihui\", \"Xie\", role = \"aut\"),\n person(\"Joe\", \"Cheng\", email = \"joe@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Xianying\", \"Tan\", role = \"aut\"),\n person(\"JJ\", \"Allaire\", role = \"ctb\"),\n person(\"Maximilian\", \"Girlich\", role = \"ctb\"),\n person(\"Greg\", \"Freedman Ellis\", role = \"ctb\"),\n person(\"Johannes\", \"Rauh\", role = \"ctb\"),\n person(\"SpryMedia Limited\", role = c(\"ctb\", \"cph\"), comment = \"DataTables in htmlwidgets/lib\"),\n person(\"Brian\", \"Reavis\", role = c(\"ctb\", \"cph\"), comment = \"selectize.js in htmlwidgets/lib\"),\n person(\"Leon\", \"Gersen\", role = c(\"ctb\", \"cph\"), comment = \"noUiSlider in htmlwidgets/lib\"),\n person(\"Bartek\", \"Szopka\", role = c(\"ctb\", \"cph\"), comment = \"jquery.highlight.js in htmlwidgets/lib\"),\n person(\"Alex\", \"Pickering\", role = c(\"ctb\")),\n person(\"William\", \"Holmes\", role = c(\"ctb\")),\n person(\"Mikko\", \"Marttila\", role = c(\"ctb\")),\n person(\"Andres\", \"Quintero\", role = c(\"ctb\")),\n person(\"Stéphane\", \"Laurent\", role = c(\"ctb\")),\n person(given = \"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "Data objects in R can be rendered as HTML tables using the\n JavaScript library 'DataTables' (typically via R Markdown or Shiny). The\n 'DataTables' library has been included in this R package. The package name\n 'DT' is an abbreviation of 'DataTables'.",
+ "URL": "https://github.com/rstudio/DT",
+ "BugReports": "https://github.com/rstudio/DT/issues",
+ "License": "GPL-3 | file LICENSE",
+ "Imports": "htmltools (>= 0.3.6), htmlwidgets (>= 1.3), httpuv, jsonlite\n(>= 0.9.16), magrittr, crosstalk, jquerylib, promises",
+ "Suggests": "knitr (>= 1.8), rmarkdown, shiny (>= 1.6), bslib, future,\ntestit, tibble",
+ "VignetteBuilder": "knitr",
+ "RoxygenNote": "7.3.1",
+ "Encoding": "UTF-8",
+ "NeedsCompilation": "no",
+ "Packaged": "2024-04-03 14:36:50 UTC; yihui",
+ "Author": "Yihui Xie [aut],\n Joe Cheng [aut, cre],\n Xianying Tan [aut],\n JJ Allaire [ctb],\n Maximilian Girlich [ctb],\n Greg Freedman Ellis [ctb],\n Johannes Rauh [ctb],\n SpryMedia Limited [ctb, cph] (DataTables in htmlwidgets/lib),\n Brian Reavis [ctb, cph] (selectize.js in htmlwidgets/lib),\n Leon Gersen [ctb, cph] (noUiSlider in htmlwidgets/lib),\n Bartek Szopka [ctb, cph] (jquery.highlight.js in htmlwidgets/lib),\n Alex Pickering [ctb],\n William Holmes [ctb],\n Mikko Marttila [ctb],\n Andres Quintero [ctb],\n Stéphane Laurent [ctb],\n Posit Software, PBC [cph, fnd]",
+ "Maintainer": "Joe Cheng ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-04-04 05:03:17 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:30:01 UTC; unix",
+ "RemotePkgRef": "DT@0.33",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"4a4ba8ab8aa8b8c19704e767f289dfee\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "DT",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.33"
+ }
+ },
+ "GGally": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "GGally",
+ "Version": "2.2.1",
+ "License": "GPL (>= 2.0)",
+ "Title": "Extension to 'ggplot2'",
+ "Type": "Package",
+ "LazyLoad": "yes",
+ "LazyData": "true",
+ "URL": "https://ggobi.github.io/ggally/, https://github.com/ggobi/ggally",
+ "BugReports": "https://github.com/ggobi/ggally/issues",
+ "Authors@R": "c(\n person(\"Barret\", \"Schloerke\", role = c(\"aut\", \"cre\"), email = \"schloerke@gmail.com\"),\n person(\"Di\", \"Cook\", role = c(\"aut\", \"ths\"), email = \"dicook@monash.edu\"),\n person(\"Joseph\", \"Larmarange\", role = \"aut\", email = \"joseph@larmarange.net\"),\n person(\"Francois\", \"Briatte\", role = \"aut\", email = \"f.briatte@gmail.com\"),\n person(\"Moritz\", \"Marbach\", role = \"aut\", email = \"mmarbach@mail.uni-mannheim.de\"),\n person(\"Edwin\", \"Thoen\", role = \"aut\", email = \"edwinthoen@gmail.com\"),\n person(\"Amos\", \"Elberg\", role = \"aut\", email = \"amos.elberg@gmail.com\"),\n person(\"Ott\", \"Toomet\", role = \"ctb\", email = \"otoomet@gmail.com\"),\n person(\"Jason\", \"Crowley\", role = \"aut\", email = \"crowley.jason.s@gmail.com\"),\n person(\"Heike\", \"Hofmann\", role = \"ths\", email = \"hofmann@iastate.edu\"),\n person(\"Hadley\", \"Wickham\", role = \"ths\", email = \"h.wickham@gmail.com\")\n )",
+ "Description": "\n The R package 'ggplot2' is a plotting system based on the grammar of graphics.\n 'GGally' extends 'ggplot2' by adding several functions\n to reduce the complexity of combining geometric objects with transformed data.\n Some of these functions include a pairwise plot matrix, a two group pairwise plot\n matrix, a parallel coordinates plot, a survival plot, and several functions to\n plot networks.",
+ "Depends": "R (>= 3.1), ggplot2 (>= 3.4.4)",
+ "Imports": "dplyr (>= 1.0.0), tidyr (>= 1.3.0), grDevices, grid, ggstats,\ngtable (>= 0.2.0), lifecycle, plyr (>= 1.8.3), progress,\nRColorBrewer, rlang, scales (>= 1.1.0), utils, magrittr",
+ "Suggests": "broom (>= 0.7.0), broom.helpers (>= 1.3.0), chemometrics,\ngeosphere (>= 1.5-1), ggforce, Hmisc, igraph (>= 1.0.1),\nintergraph (>= 2.0-2), labelled, maps (>= 3.1.0), mapproj,\nnnet, network (>= 1.17.1), scagnostics, sna (>= 2.3-2),\nsurvival, rmarkdown, roxygen2, testthat, crosstalk, knitr,\nspelling, emmeans, vdiffr",
+ "RoxygenNote": "7.3.1",
+ "SystemRequirements": "openssl",
+ "Encoding": "UTF-8",
+ "Language": "en-US",
+ "RdMacros": "lifecycle",
+ "Config/testthat/edition": "3",
+ "NeedsCompilation": "no",
+ "Packaged": "2024-02-13 19:02:36 UTC; barret",
+ "Author": "Barret Schloerke [aut, cre],\n Di Cook [aut, ths],\n Joseph Larmarange [aut],\n Francois Briatte [aut],\n Moritz Marbach [aut],\n Edwin Thoen [aut],\n Amos Elberg [aut],\n Ott Toomet [ctb],\n Jason Crowley [aut],\n Heike Hofmann [ths],\n Hadley Wickham [ths]",
+ "Maintainer": "Barret Schloerke ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-02-14 00:53:32 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:33:44 UTC; unix",
+ "RemotePkgRef": "GGally@2.2.1",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"5a34573e96e6ef125370aadeceeae854\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "GGally",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "2.2.1"
+ }
+ },
+ "IDEAFilter": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "IDEAFilter",
+ "Type": "Package",
+ "Version": "0.2.0",
+ "Title": "Agnostic, Idiomatic Data Filter Module for Shiny",
+ "Description": "When added to an existing shiny app, users may subset any\n developer-chosen R data.frame on the fly. That is, users are empowered to\n slice & dice data by applying multiple (order specific) filters using the\n AND (&) operator between each, and getting real-time updates on the number\n of rows effected/available along the way. Thus, any downstream processes\n that leverage this data source (like tables, plots, or statistical procedures)\n will re-render after new filters are applied. The shiny module’s user interface has\n a 'minimalist' aesthetic so that the focus can be on the data &\n other visuals. In addition to returning a reactive (filtered) data.frame,\n 'IDEAFilter' as also returns 'dplyr' filter statements used to actually slice\n the data.",
+ "Authors@R": "c(\n person(\n given = \"Aaron\", family = \"Clark\", \n email = \"clark.aaronchris@gmail.com\",\n role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0002-0123-0970\")),\n person(\n given = \"Jeff\", family = \"Thompson\", \n email = \"jeff.thompson51317@gmail.com\", role = \"aut\"),\n person(\n given = \"Doug\", family = \"Kelkhoff\", \n email = \"doug.kelkhoff@gmail.com\", role = c(\"ctb\", \"cph\"),\n comment = \"Author of shinyDataFilter\"),\n person(\n given = \"Maya\", family = \"Gans\", \n email = \"maya.gans@biogen.com\", role = \"ctb\"),\n person(family = \"SortableJS contributors\", role = \"ctb\",\n comment = \"SortableJS library\"),\n person(given = \"Biogen\", role = \"cph\"))",
+ "License": "MIT + file LICENSE",
+ "URL": "https://biogen-inc.github.io/IDEAFilter/,\nhttps://github.com/Biogen-Inc/IDEAFilter",
+ "BugReports": "https://github.com/Biogen-Inc/IDEAFilter/issues",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.3.1",
+ "Imports": "crayon, ggplot2, pillar (>= 1.5.0), purrr, RColorBrewer,\nshiny, shinyTime",
+ "Suggests": "dplyr, knitr, rmarkdown, shinytest, shinytest2, spelling,\ntestthat",
+ "Language": "en-US",
+ "VignetteBuilder": "knitr",
+ "Depends": "R (>= 2.10)",
+ "NeedsCompilation": "no",
+ "Packaged": "2024-04-15 14:58:41 UTC; aclark02",
+ "Author": "Aaron Clark [aut, cre] (),\n Jeff Thompson [aut],\n Doug Kelkhoff [ctb, cph] (Author of shinyDataFilter),\n Maya Gans [ctb],\n SortableJS contributors [ctb] (SortableJS library),\n Biogen [cph]",
+ "Maintainer": "Aaron Clark ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-04-15 15:30:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:33:25 UTC; unix",
+ "RemotePkgRef": "IDEAFilter@0.2.0",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"9b8b265c9ba471d588e2d8ddfc804806\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "IDEAFilter",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.2.0"
+ }
+ },
+ "MASS": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "MASS",
+ "Priority": "recommended",
+ "Version": "7.3-65",
+ "Date": "2025-02-19",
+ "Revision": "$Rev: 3681 $",
+ "Depends": "R (>= 4.4.0), grDevices, graphics, stats, utils",
+ "Imports": "methods",
+ "Suggests": "lattice, nlme, nnet, survival",
+ "Authors@R": "c(person(\"Brian\", \"Ripley\", role = c(\"aut\", \"cre\", \"cph\"),\n email = \"Brian.Ripley@R-project.org\"),\n\t person(\"Bill\", \"Venables\", role = c(\"aut\", \"cph\")),\n\t person(c(\"Douglas\", \"M.\"), \"Bates\", role = \"ctb\"),\n\t person(\"Kurt\", \"Hornik\", role = \"trl\",\n comment = \"partial port ca 1998\"),\n\t person(\"Albrecht\", \"Gebhardt\", role = \"trl\",\n comment = \"partial port ca 1998\"),\n\t person(\"David\", \"Firth\", role = \"ctb\",\n\t comment = \"support functions for polr\"))",
+ "Description": "Functions and datasets to support Venables and Ripley,\n \"Modern Applied Statistics with S\" (4th edition, 2002).",
+ "Title": "Support Functions and Datasets for Venables and Ripley's MASS",
+ "LazyData": "yes",
+ "ByteCompile": "yes",
+ "License": "GPL-2 | GPL-3",
+ "URL": "http://www.stats.ox.ac.uk/pub/MASS4/",
+ "Contact": "",
+ "NeedsCompilation": "yes",
+ "Packaged": "2025-02-19 08:49:43 UTC; ripley",
+ "Author": "Brian Ripley [aut, cre, cph],\n Bill Venables [aut, cph],\n Douglas M. Bates [ctb],\n Kurt Hornik [trl] (partial port ca 1998),\n Albrecht Gebhardt [trl] (partial port ca 1998),\n David Firth [ctb] (support functions for polr)",
+ "Maintainer": "Brian Ripley ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-02-28 17:44:52 UTC",
+ "Encoding": "UTF-8",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:21:05 UTC; unix",
+ "RemotePkgRef": "MASS@7.3-65",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"ff93099524d0e7e3349641bd32786cbe\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "MASS",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "7.3-65"
+ }
+ },
+ "Matrix": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "Matrix",
+ "Version": "1.7-3",
+ "VersionNote": "do also bump src/version.h, inst/include/Matrix/version.h",
+ "Date": "2025-03-05",
+ "Priority": "recommended",
+ "Title": "Sparse and Dense Matrix Classes and Methods",
+ "Description": "A rich hierarchy of sparse and dense matrix classes,\n\tincluding general, symmetric, triangular, and diagonal matrices\n\twith numeric, logical, or pattern entries. Efficient methods for\n\toperating on such matrices, often wrapping the 'BLAS', 'LAPACK',\n\tand 'SuiteSparse' libraries.",
+ "License": "GPL (>= 2) | file LICENCE",
+ "URL": "https://Matrix.R-forge.R-project.org",
+ "BugReports": "https://R-forge.R-project.org/tracker/?atid=294&group_id=61",
+ "Contact": "Matrix-authors@R-project.org",
+ "Authors@R": "\n\tc(person(\"Douglas\", \"Bates\", role = \"aut\",\n\t comment = c(ORCID = \"0000-0001-8316-9503\")),\n\t person(\"Martin\", \"Maechler\", role = c(\"aut\", \"cre\"),\n\t email = \"mmaechler+Matrix@gmail.com\",\n\t comment = c(ORCID = \"0000-0002-8685-9910\")),\n\t person(\"Mikael\", \"Jagan\", role = \"aut\",\n\t comment = c(ORCID = \"0000-0002-3542-2938\")),\n\t person(\"Timothy A.\", \"Davis\", role = \"ctb\",\n\t comment = c(ORCID = \"0000-0001-7614-6899\",\n\t \"SuiteSparse libraries\",\n\t \"collaborators listed in dir(system.file(\\\"doc\\\", \\\"SuiteSparse\\\", package=\\\"Matrix\\\"), pattern=\\\"License\\\", full.names=TRUE, recursive=TRUE)\")),\n\t person(\"George\", \"Karypis\", role = \"ctb\",\n\t comment = c(ORCID = \"0000-0003-2753-1437\",\n\t \"METIS library\",\n\t \"Copyright: Regents of the University of Minnesota\")),\n\t person(\"Jason\", \"Riedy\", role = \"ctb\",\n\t comment = c(ORCID = \"0000-0002-4345-4200\",\n\t \"GNU Octave's condest() and onenormest()\",\n\t \"Copyright: Regents of the University of California\")),\n\t person(\"Jens\", \"Oehlschlägel\", role = \"ctb\",\n\t comment = \"initial nearPD()\"),\n\t person(\"R Core Team\", role = \"ctb\",\n\t comment = c(ROR = \"02zz1nj61\", \"base R's matrix implementation\")))",
+ "Depends": "R (>= 4.4), methods",
+ "Imports": "grDevices, graphics, grid, lattice, stats, utils",
+ "Suggests": "MASS, datasets, sfsmisc, tools",
+ "Enhances": "SparseM, graph",
+ "LazyData": "no",
+ "LazyDataNote": "not possible, since we use data/*.R and our S4 classes",
+ "BuildResaveData": "no",
+ "Encoding": "UTF-8",
+ "NeedsCompilation": "yes",
+ "Packaged": "2025-03-05 09:59:22 UTC; maechler",
+ "Author": "Douglas Bates [aut] (),\n Martin Maechler [aut, cre] (),\n Mikael Jagan [aut] (),\n Timothy A. Davis [ctb] (,\n SuiteSparse libraries, collaborators listed in\n dir(system.file(\"doc\", \"SuiteSparse\", package=\"Matrix\"),\n pattern=\"License\", full.names=TRUE, recursive=TRUE)),\n George Karypis [ctb] (, METIS\n library, Copyright: Regents of the University of Minnesota),\n Jason Riedy [ctb] (, GNU\n Octave's condest() and onenormest(), Copyright: Regents of the\n University of California),\n Jens Oehlschlägel [ctb] (initial nearPD()),\n R Core Team [ctb] (02zz1nj61, base R's matrix implementation)",
+ "Maintainer": "Martin Maechler ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-03-11 07:20:02 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:22:37 UTC; unix",
+ "RemotePkgRef": "Matrix@1.7-3",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"af68a064c0f1864410b632f1cb4b8614\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "Matrix",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.7-3"
+ }
+ },
+ "R6": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "R6",
+ "Title": "Encapsulated Classes with Reference Semantics",
+ "Version": "2.6.1",
+ "Authors@R": "c(\n person(\"Winston\", \"Chang\", , \"winston@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "Creates classes with reference semantics, similar to R's\n built-in reference classes. Compared to reference classes, R6 classes\n are simpler and lighter-weight, and they are not built on S4 classes\n so they do not require the methods package. These classes allow public\n and private members, and they support inheritance, even when the\n classes are defined in different packages.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://r6.r-lib.org, https://github.com/r-lib/R6",
+ "BugReports": "https://github.com/r-lib/R6/issues",
+ "Depends": "R (>= 3.6)",
+ "Suggests": "lobstr, testthat (>= 3.0.0)",
+ "Config/Needs/website": "tidyverse/tidytemplate, ggplot2, microbenchmark,\nscales",
+ "Config/testthat/edition": "3",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.3.2",
+ "NeedsCompilation": "no",
+ "Packaged": "2025-02-14 21:15:19 UTC; winston",
+ "Author": "Winston Chang [aut, cre],\n Posit Software, PBC [cph, fnd]",
+ "Maintainer": "Winston Chang ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-02-15 00:50:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:21:04 UTC; unix",
+ "RemotePkgRef": "R6@2.6.1",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"b33833f3cbd24baf862a2c87b5bae13a\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "R6",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "2.6.1"
+ }
+ },
+ "RColorBrewer": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "RColorBrewer",
+ "Version": "1.1-3",
+ "Date": "2022-04-03",
+ "Title": "ColorBrewer Palettes",
+ "Authors@R": "c(person(given = \"Erich\", family = \"Neuwirth\", role = c(\"aut\",\n \"cre\"), email = \"erich.neuwirth@univie.ac.at\"))",
+ "Author": "Erich Neuwirth [aut, cre]",
+ "Maintainer": "Erich Neuwirth ",
+ "Depends": "R (>= 2.0.0)",
+ "Description": "Provides color schemes for maps (and other graphics)\n designed by Cynthia Brewer as described at http://colorbrewer2.org.",
+ "License": "Apache License 2.0",
+ "Packaged": "2022-04-03 10:26:20 UTC; neuwirth",
+ "NeedsCompilation": "no",
+ "Repository": "RSPM",
+ "Date/Publication": "2022-04-03 19:20:13 UTC",
+ "Encoding": "UTF-8",
+ "Built": "R 4.4.0; ; 2026-01-29 00:21:16 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "RColorBrewer",
+ "RemoteRef": "RColorBrewer",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.1-3"
+ }
+ },
+ "Rcpp": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "Rcpp",
+ "Title": "Seamless R and C++ Integration",
+ "Version": "1.0.14",
+ "Date": "2025-01-11",
+ "Authors@R": "c(person(\"Dirk\", \"Eddelbuettel\", role = c(\"aut\", \"cre\"), email = \"edd@debian.org\",\n comment = c(ORCID = \"0000-0001-6419-907X\")),\n person(\"Romain\", \"Francois\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-2444-4226\")),\n person(\"JJ\", \"Allaire\", role = \"aut\",\n comment = c(ORCID = \"0000-0003-0174-9868\")),\n person(\"Kevin\", \"Ushey\", role = \"aut\",\n comment = c(ORCID = \"0000-0003-2880-7407\")),\n person(\"Qiang\", \"Kou\", role = \"aut\",\n comment = c(ORCID = \"0000-0001-6786-5453\")),\n person(\"Nathan\", \"Russell\", role = \"aut\"),\n person(\"Iñaki\", \"Ucar\", role = \"aut\",\n comment = c(ORCID = \"0000-0001-6403-5550\")),\n person(\"Doug\", \"Bates\", role = \"aut\",\n comment = c(ORCID = \"0000-0001-8316-9503\")),\n person(\"John\", \"Chambers\", role = \"aut\"))",
+ "Description": "The 'Rcpp' package provides R functions as well as C++ classes which\n offer a seamless integration of R and C++. Many R data types and objects can be\n mapped back and forth to C++ equivalents which facilitates both writing of new\n code as well as easier integration of third-party libraries. Documentation\n about 'Rcpp' is provided by several vignettes included in this package, via the\n 'Rcpp Gallery' site at , the paper by Eddelbuettel and\n Francois (2011, ), the book by Eddelbuettel (2013,\n ) and the paper by Eddelbuettel and Balamuta (2018,\n ); see 'citation(\"Rcpp\")' for details.",
+ "Imports": "methods, utils",
+ "Suggests": "tinytest, inline, rbenchmark, pkgKitten (>= 0.1.2)",
+ "URL": "https://www.rcpp.org,\nhttps://dirk.eddelbuettel.com/code/rcpp.html,\nhttps://github.com/RcppCore/Rcpp",
+ "License": "GPL (>= 2)",
+ "BugReports": "https://github.com/RcppCore/Rcpp/issues",
+ "MailingList": "rcpp-devel@lists.r-forge.r-project.org",
+ "RoxygenNote": "6.1.1",
+ "Encoding": "UTF-8",
+ "NeedsCompilation": "yes",
+ "Packaged": "2025-01-11 20:21:25 UTC; edd",
+ "Author": "Dirk Eddelbuettel [aut, cre] (),\n Romain Francois [aut] (),\n JJ Allaire [aut] (),\n Kevin Ushey [aut] (),\n Qiang Kou [aut] (),\n Nathan Russell [aut],\n Iñaki Ucar [aut] (),\n Doug Bates [aut] (),\n John Chambers [aut]",
+ "Maintainer": "Dirk Eddelbuettel ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-01-12 16:10:02 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:22:15 UTC; unix",
+ "RemotePkgRef": "Rcpp@1.0.14",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"87bd6fd224528f3ce635b1da1103818b\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "Rcpp",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.0.14"
+ }
+ },
+ "V8": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "V8",
+ "Type": "Package",
+ "Title": "Embedded JavaScript and WebAssembly Engine for R",
+ "Version": "6.0.3",
+ "Authors@R": "c(\n person(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), email = \"jeroenooms@gmail.com\",\n comment = c(ORCID = \"0000-0002-4035-0289\")),\n person(\"Jan Marvin\", \"Garbuszus\", role = \"ctb\"))",
+ "Description": "An R interface to V8 : Google's open source JavaScript\n and WebAssembly engine. This package can be compiled either with V8 version 6 \n and up or NodeJS when built as a shared library.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://jeroen.r-universe.dev/V8",
+ "BugReports": "https://github.com/jeroen/v8/issues",
+ "SystemRequirements": "V8 engine version 6+ is needed for ES6 and WASM\nsupport. On Linux you can build against libv8-dev (Debian) or\nv8-devel (Fedora). We also provide static libv8 binaries for\nmost platforms, see the README for details.",
+ "NeedsCompilation": "yes",
+ "VignetteBuilder": "knitr",
+ "Imports": "Rcpp (>= 0.12.12), jsonlite (>= 1.0), curl (>= 1.0), utils",
+ "LinkingTo": "Rcpp",
+ "Suggests": "testthat, knitr, rmarkdown",
+ "RoxygenNote": "7.3.1",
+ "Language": "en-US",
+ "Encoding": "UTF-8",
+ "Biarch": "true",
+ "Packaged": "2025-03-23 18:47:29 UTC; jeroen",
+ "Author": "Jeroen Ooms [aut, cre] (),\n Jan Marvin Garbuszus [ctb]",
+ "Maintainer": "Jeroen Ooms ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-03-26 06:50:02 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:23:46 UTC; unix",
+ "RemotePkgRef": "V8@6.0.3",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"2820d595461bf711af42b8d81fc4a175\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "V8",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "6.0.3"
+ }
+ },
+ "arrow": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "arrow",
+ "Title": "Integration to 'Apache' 'Arrow'",
+ "Version": "20.0.0.2",
+ "Authors@R": "c(\n person(\"Neal\", \"Richardson\", email = \"neal.p.richardson@gmail.com\", role = c(\"aut\")),\n person(\"Ian\", \"Cook\", email = \"ianmcook@gmail.com\", role = c(\"aut\")),\n person(\"Nic\", \"Crane\", email = \"thisisnic@gmail.com\", role = c(\"aut\")),\n person(\"Dewey\", \"Dunnington\", role = c(\"aut\"), email = \"dewey@fishandwhistle.net\", comment = c(ORCID = \"0000-0002-9415-4582\")),\n person(\"Romain\", \"Fran\\u00e7ois\", role = c(\"aut\"), comment = c(ORCID = \"0000-0002-2444-4226\")),\n person(\"Jonathan\", \"Keane\", email = \"jkeane@gmail.com\", role = c(\"aut\", \"cre\")),\n person(\"Drago\\u0219\", \"Moldovan-Gr\\u00fcnfeld\", email = \"dragos.mold@gmail.com\", role = c(\"aut\")),\n person(\"Jeroen\", \"Ooms\", email = \"jeroen@berkeley.edu\", role = c(\"aut\")),\n person(\"Jacob\", \"Wujciak-Jens\", email = \"jacob@wujciak.de\", role = c(\"aut\")),\n person(\"Javier\", \"Luraschi\", email = \"javier@rstudio.com\", role = c(\"ctb\")),\n person(\"Karl\", \"Dunkle Werner\", email = \"karldw@users.noreply.github.com\", role = c(\"ctb\"), comment = c(ORCID = \"0000-0003-0523-7309\")),\n person(\"Jeffrey\", \"Wong\", email = \"jeffreyw@netflix.com\", role = c(\"ctb\")),\n person(\"Apache Arrow\", email = \"dev@arrow.apache.org\", role = c(\"aut\", \"cph\"))\n )",
+ "Description": "'Apache' 'Arrow' is a cross-language\n development platform for in-memory data. It specifies a standardized\n language-independent columnar memory format for flat and hierarchical data,\n organized for efficient analytic operations on modern hardware. This\n package provides an interface to the 'Arrow C++' library.",
+ "Depends": "R (>= 4.0)",
+ "License": "Apache License (>= 2.0)",
+ "URL": "https://github.com/apache/arrow/, https://arrow.apache.org/docs/r/",
+ "BugReports": "https://github.com/apache/arrow/issues",
+ "Encoding": "UTF-8",
+ "Language": "en-US",
+ "SystemRequirements": "C++17; for AWS S3 support on Linux, libcurl and\nopenssl (optional); cmake >= 3.16 (build-time only, and only\nfor full source build)",
+ "Biarch": "true",
+ "Imports": "assertthat, bit64 (>= 0.9-7), glue, methods, purrr, R6, rlang\n(>= 1.0.0), stats, tidyselect (>= 1.0.0), utils, vctrs",
+ "RoxygenNote": "7.3.2",
+ "Config/testthat/edition": "3",
+ "Config/build/bootstrap": "TRUE",
+ "Suggests": "blob, curl, cli, DBI, dbplyr, decor, distro, dplyr, duckdb\n(>= 0.2.8), hms, jsonlite, knitr, lubridate, pillar, pkgload,\nreticulate, rmarkdown, stringi, stringr, sys, testthat (>=\n3.1.0), tibble, tzdb, withr",
+ "LinkingTo": "cpp11 (>= 0.4.2)",
+ "Collate": "'arrowExports.R' 'enums.R' 'arrow-object.R' 'type.R'\n'array-data.R' 'arrow-datum.R' 'array.R' 'arrow-info.R'\n'arrow-package.R' 'arrow-tabular.R' 'buffer.R'\n'chunked-array.R' 'io.R' 'compression.R' 'scalar.R' 'compute.R'\n'config.R' 'csv.R' 'dataset.R' 'dataset-factory.R'\n'dataset-format.R' 'dataset-partition.R' 'dataset-scan.R'\n'dataset-write.R' 'dictionary.R' 'dplyr-across.R'\n'dplyr-arrange.R' 'dplyr-by.R' 'dplyr-collect.R'\n'dplyr-count.R' 'dplyr-datetime-helpers.R' 'dplyr-distinct.R'\n'dplyr-eval.R' 'dplyr-filter.R' 'dplyr-funcs-agg.R'\n'dplyr-funcs-augmented.R' 'dplyr-funcs-conditional.R'\n'dplyr-funcs-datetime.R' 'dplyr-funcs-doc.R'\n'dplyr-funcs-math.R' 'dplyr-funcs-simple.R'\n'dplyr-funcs-string.R' 'dplyr-funcs-type.R' 'expression.R'\n'dplyr-funcs.R' 'dplyr-glimpse.R' 'dplyr-group-by.R'\n'dplyr-join.R' 'dplyr-mutate.R' 'dplyr-select.R'\n'dplyr-slice.R' 'dplyr-summarize.R' 'dplyr-union.R'\n'record-batch.R' 'table.R' 'dplyr.R' 'duckdb.R' 'extension.R'\n'feather.R' 'field.R' 'filesystem.R' 'flight.R'\n'install-arrow.R' 'ipc-stream.R' 'json.R' 'memory-pool.R'\n'message.R' 'metadata.R' 'parquet.R' 'python.R'\n'query-engine.R' 'record-batch-reader.R'\n'record-batch-writer.R' 'reexports-bit64.R'\n'reexports-tidyselect.R' 'schema.R' 'udf.R' 'util.R'",
+ "NeedsCompilation": "yes",
+ "Packaged": "2025-05-26 12:56:51 UTC; jkeane",
+ "Author": "Neal Richardson [aut],\n Ian Cook [aut],\n Nic Crane [aut],\n Dewey Dunnington [aut] (ORCID: ),\n Romain François [aut] (ORCID: ),\n Jonathan Keane [aut, cre],\n Dragoș Moldovan-Grünfeld [aut],\n Jeroen Ooms [aut],\n Jacob Wujciak-Jens [aut],\n Javier Luraschi [ctb],\n Karl Dunkle Werner [ctb] (ORCID:\n ),\n Jeffrey Wong [ctb],\n Apache Arrow [aut, cph]",
+ "Maintainer": "Jonathan Keane ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-05-26 17:50:02 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:54:09 UTC; unix",
+ "RemotePkgRef": "arrow@20.0.0.2",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"a27699f8f8cf76d69d95b0425a15665b\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "arrow",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "20.0.0.2"
+ }
+ },
+ "askpass": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "askpass",
+ "Type": "Package",
+ "Title": "Password Entry Utilities for R, Git, and SSH",
+ "Version": "1.2.1",
+ "Authors@R": "person(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), \n email = \"jeroenooms@gmail.com\", comment = c(ORCID = \"0000-0002-4035-0289\"))",
+ "Description": "Cross-platform utilities for prompting the user for credentials or a \n passphrase, for example to authenticate with a server or read a protected key.\n Includes native programs for MacOS and Windows, hence no 'tcltk' is required. \n Password entry can be invoked in two different ways: directly from R via the \n askpass() function, or indirectly as password-entry back-end for 'ssh-agent' \n or 'git-credential' via the SSH_ASKPASS and GIT_ASKPASS environment variables.\n Thereby the user can be prompted for credentials or a passphrase if needed \n when R calls out to git or ssh.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://r-lib.r-universe.dev/askpass",
+ "BugReports": "https://github.com/r-lib/askpass/issues",
+ "Encoding": "UTF-8",
+ "Imports": "sys (>= 2.1)",
+ "RoxygenNote": "7.2.3",
+ "Suggests": "testthat",
+ "Language": "en-US",
+ "NeedsCompilation": "yes",
+ "Packaged": "2024-10-03 14:12:09 UTC; jeroen",
+ "Author": "Jeroen Ooms [aut, cre] ()",
+ "Maintainer": "Jeroen Ooms ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-10-04 07:20:03 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:23:18 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "askpass",
+ "RemoteRef": "askpass",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.2.1"
+ }
+ },
+ "assertthat": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "assertthat",
+ "Title": "Easy Pre and Post Assertions",
+ "Version": "0.2.1",
+ "Authors@R": "\n person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", c(\"aut\", \"cre\"))",
+ "Description": "An extension to stopifnot() that makes it easy to declare \n the pre and post conditions that you code should satisfy, while also \n producing friendly error messages so that your users know what's gone\n wrong.",
+ "License": "GPL-3",
+ "Imports": "tools",
+ "Suggests": "testthat, covr",
+ "RoxygenNote": "6.0.1",
+ "Collate": "'assert-that.r' 'on-failure.r' 'assertions-file.r'\n'assertions-scalar.R' 'assertions.r' 'base.r'\n'base-comparison.r' 'base-is.r' 'base-logical.r' 'base-misc.r'\n'utils.r' 'validate-that.R'",
+ "NeedsCompilation": "no",
+ "Packaged": "2019-03-21 13:11:01 UTC; hadley",
+ "Author": "Hadley Wickham [aut, cre]",
+ "Maintainer": "Hadley Wickham ",
+ "Repository": "RSPM",
+ "Date/Publication": "2019-03-21 14:53:46 UTC",
+ "Encoding": "UTF-8",
+ "Built": "R 4.4.0; ; 2026-01-29 00:21:05 UTC; unix",
+ "RemotePkgRef": "assertthat@0.2.1",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"e6cf315c30fa852f9e616dadfe4e2ce1\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "assertthat",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.2.1"
+ }
+ },
+ "attempt": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "attempt",
+ "Title": "Tools for Defensive Programming",
+ "Version": "0.3.1",
+ "Authors@R": "person(\"Colin\", \"Fay\", email = \"contact@colinfay.me\", role = c(\"aut\", \"cre\"), comment=c(ORCID=\"0000-0001-7343-1846\"))",
+ "Description": "Tools for defensive programming, inspired by 'purrr' mappers and \n based on 'rlang'.'attempt' extends and facilitates defensive programming by \n providing a consistent grammar, and provides a set of easy to use functions \n for common tests and conditions. 'attempt' only depends on 'rlang', and \n focuses on speed, so it can be easily integrated in other functions and \n used in data analysis. ",
+ "License": "MIT + file LICENSE",
+ "Encoding": "UTF-8",
+ "URL": "https://github.com/ColinFay/attempt",
+ "LazyData": "true",
+ "Suggests": "testthat, knitr, rmarkdown, curl",
+ "VignetteBuilder": "knitr",
+ "Imports": "rlang",
+ "RoxygenNote": "7.1.0",
+ "NeedsCompilation": "no",
+ "Packaged": "2020-05-03 20:24:38 UTC; colin",
+ "Author": "Colin Fay [aut, cre] ()",
+ "Maintainer": "Colin Fay ",
+ "Repository": "RSPM",
+ "Date/Publication": "2020-05-03 20:50:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:23:08 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "attempt",
+ "RemoteRef": "attempt",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.3.1"
+ }
+ },
+ "backports": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "backports",
+ "Type": "Package",
+ "Title": "Reimplementations of Functions Introduced Since R-3.0.0",
+ "Version": "1.5.0",
+ "Authors@R": "c(\n person(\"Michel\", \"Lang\", NULL, \"michellang@gmail.com\",\n role = c(\"cre\", \"aut\"), comment = c(ORCID = \"0000-0001-9754-0393\")),\n person(\"Duncan\", \"Murdoch\", NULL, \"murdoch.duncan@gmail.com\",\n role = c(\"aut\")),\n person(\"R Core Team\", role = \"aut\"))",
+ "Maintainer": "Michel Lang ",
+ "Description": "\n Functions introduced or changed since R v3.0.0 are re-implemented in this\n package. The backports are conditionally exported in order to let R resolve\n the function name to either the implemented backport, or the respective base\n version, if available. Package developers can make use of new functions or\n arguments by selectively importing specific backports to\n support older installations.",
+ "URL": "https://github.com/r-lib/backports",
+ "BugReports": "https://github.com/r-lib/backports/issues",
+ "License": "GPL-2 | GPL-3",
+ "NeedsCompilation": "yes",
+ "ByteCompile": "yes",
+ "Depends": "R (>= 3.0.0)",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.3.1",
+ "Packaged": "2024-05-23 11:56:25 UTC; michel",
+ "Author": "Michel Lang [cre, aut] (),\n Duncan Murdoch [aut],\n R Core Team [aut]",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-05-23 12:30:02 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:21:55 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "backports",
+ "RemoteRef": "backports",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.5.0"
+ }
+ },
+ "base64enc": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "base64enc",
+ "Version": "0.1-3",
+ "Title": "Tools for base64 encoding",
+ "Author": "Simon Urbanek ",
+ "Maintainer": "Simon Urbanek ",
+ "Depends": "R (>= 2.9.0)",
+ "Enhances": "png",
+ "Description": "This package provides tools for handling base64 encoding. It is more flexible than the orphaned base64 package.",
+ "License": "GPL-2 | GPL-3",
+ "URL": "http://www.rforge.net/base64enc",
+ "NeedsCompilation": "yes",
+ "Packaged": "2015-02-04 20:31:00 UTC; svnuser",
+ "Repository": "RSPM",
+ "Date/Publication": "2015-07-28 08:03:37",
+ "Encoding": "UTF-8",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:21:05 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "base64enc",
+ "RemoteRef": "base64enc",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.1-3"
+ }
+ },
+ "bigD": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Type": "Package",
+ "Package": "bigD",
+ "Title": "Flexibly Format Dates and Times to a Given Locale",
+ "Version": "0.3.1",
+ "Description": "Format dates and times flexibly and to whichever locales\n make sense. Parses dates, times, and date-times in various formats\n (including string-based ISO 8601 constructions). The formatting syntax gives\n the user many options for formatting the date and time output in a precise\n manner. Time zones in the input can be expressed in multiple ways and there\n are many options for formatting time zones in the output as well. Several of\n the provided helper functions allow for automatic generation of locale-aware\n formatting patterns based on date/time skeleton formats and standardized\n date/time formats with varying specificity.",
+ "Authors@R": "c(\n person(\"Richard\", \"Iannone\", , \"rich@posit.co\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0003-3925-190X\")),\n person(\"Olivier\", \"Roy\", role = \"ctb\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "License": "MIT + file LICENSE",
+ "URL": "https://rstudio.github.io/bigD/, https://github.com/rstudio/bigD",
+ "BugReports": "https://github.com/rstudio/bigD/issues",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.3.2",
+ "Depends": "R (>= 3.6.0)",
+ "Suggests": "testthat (>= 3.0.0), vctrs (>= 0.5.0)",
+ "Config/testthat/edition": "3",
+ "Config/testthat/parallel": "true",
+ "NeedsCompilation": "no",
+ "Packaged": "2025-04-03 13:52:40 UTC; riannone",
+ "Author": "Richard Iannone [aut, cre] (),\n Olivier Roy [ctb],\n Posit Software, PBC [cph, fnd]",
+ "Maintainer": "Richard Iannone ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-04-03 14:20:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:21:32 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "bigD",
+ "RemoteRef": "bigD",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.3.1"
+ }
+ },
+ "bit": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "bit",
+ "Title": "Classes and Methods for Fast Memory-Efficient Boolean Selections",
+ "Version": "4.6.0",
+ "Authors@R": "c(\n person(\"Michael\", \"Chirico\", email = \"MichaelChirico4@gmail.com\", role = c(\"aut\", \"cre\")),\n person(\"Jens\", \"Oehlschlägel\", role = \"aut\"),\n person(\"Brian\", \"Ripley\", role = \"ctb\")\n )",
+ "Depends": "R (>= 3.4.0)",
+ "Suggests": "testthat (>= 3.0.0), roxygen2, knitr, markdown, rmarkdown,\nmicrobenchmark, bit64 (>= 4.0.0), ff (>= 4.0.0)",
+ "Description": "Provided are classes for boolean and skewed boolean vectors,\n fast boolean methods, fast unique and non-unique integer sorting,\n fast set operations on sorted and unsorted sets of integers, and\n foundations for ff (range index, compression, chunked processing).",
+ "License": "GPL-2 | GPL-3",
+ "LazyLoad": "yes",
+ "ByteCompile": "yes",
+ "Encoding": "UTF-8",
+ "URL": "https://github.com/r-lib/bit",
+ "VignetteBuilder": "knitr, rmarkdown",
+ "RoxygenNote": "7.3.2",
+ "Config/testthat/edition": "3",
+ "NeedsCompilation": "yes",
+ "Packaged": "2025-03-05 07:18:45 UTC; michael",
+ "Author": "Michael Chirico [aut, cre],\n Jens Oehlschlägel [aut],\n Brian Ripley [ctb]",
+ "Maintainer": "Michael Chirico ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-03-06 10:50:01 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:21:28 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "bit",
+ "RemoteRef": "bit",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "4.6.0"
+ }
+ },
+ "bit64": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "bit64",
+ "Title": "A S3 Class for Vectors of 64bit Integers",
+ "Version": "4.6.0-1",
+ "Authors@R": "c(\n person(\"Michael\", \"Chirico\", email = \"michaelchirico4@gmail.com\", role = c(\"aut\", \"cre\")),\n person(\"Jens\", \"Oehlschlägel\", role = \"aut\"),\n person(\"Leonardo\", \"Silvestri\", role = \"ctb\"),\n person(\"Ofek\", \"Shilon\", role = \"ctb\")\n )",
+ "Depends": "R (>= 3.4.0), bit (>= 4.0.0)",
+ "Description": "\n Package 'bit64' provides serializable S3 atomic 64bit (signed) integers.\n These are useful for handling database keys and exact counting in +-2^63.\n WARNING: do not use them as replacement for 32bit integers, integer64 are not\n supported for subscripting by R-core and they have different semantics when\n combined with double, e.g. integer64 + double => integer64.\n Class integer64 can be used in vectors, matrices, arrays and data.frames.\n Methods are available for coercion from and to logicals, integers, doubles,\n characters and factors as well as many elementwise and summary functions.\n Many fast algorithmic operations such as 'match' and 'order' support inter-\n active data exploration and manipulation and optionally leverage caching.",
+ "License": "GPL-2 | GPL-3",
+ "LazyLoad": "yes",
+ "ByteCompile": "yes",
+ "URL": "https://github.com/r-lib/bit64",
+ "Encoding": "UTF-8",
+ "Imports": "graphics, methods, stats, utils",
+ "Suggests": "testthat (>= 3.0.3), withr",
+ "Config/testthat/edition": "3",
+ "Config/needs/development": "testthat",
+ "RoxygenNote": "7.3.2",
+ "NeedsCompilation": "yes",
+ "Packaged": "2025-01-16 14:04:20 UTC; michael",
+ "Author": "Michael Chirico [aut, cre],\n Jens Oehlschlägel [aut],\n Leonardo Silvestri [ctb],\n Ofek Shilon [ctb]",
+ "Maintainer": "Michael Chirico ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-01-16 16:00:07 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:22:58 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "bit64",
+ "RemoteRef": "bit64",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "4.6.0-1"
+ }
+ },
+ "bitops": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "bitops",
+ "Version": "1.0-9",
+ "Date": "2024-10-03",
+ "Authors@R": "c(\n person(\"Steve\", \"Dutky\", role = \"aut\", email = \"sdutky@terpalum.umd.edu\",\n \t comment = \"S original; then (after MM's port) revised and modified\"),\n person(\"Martin\", \"Maechler\", role = c(\"cre\", \"aut\"), email = \"maechler@stat.math.ethz.ch\",\n\t comment = c(\"Initial R port; tweaks\", ORCID = \"0000-0002-8685-9910\")))",
+ "Title": "Bitwise Operations",
+ "Description": "Functions for bitwise operations on integer vectors.",
+ "License": "GPL (>= 2)",
+ "URL": "https://github.com/mmaechler/R-bitops",
+ "BugReports": "https://github.com/mmaechler/R-bitops/issues",
+ "NeedsCompilation": "yes",
+ "Packaged": "2024-10-03 09:17:35 UTC; maechler",
+ "Author": "Steve Dutky [aut] (S original; then (after MM's port) revised and\n modified),\n Martin Maechler [cre, aut] (Initial R port; tweaks,\n )",
+ "Maintainer": "Martin Maechler ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-10-03 23:00:54 UTC",
+ "Encoding": "UTF-8",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:21:35 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "bitops",
+ "RemoteRef": "bitops",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.0-9"
+ }
+ },
+ "broom": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Type": "Package",
+ "Package": "broom",
+ "Title": "Convert Statistical Objects into Tidy Tibbles",
+ "Version": "1.0.8",
+ "Authors@R": "\n c(person(given = \"David\",\n family = \"Robinson\",\n role = \"aut\",\n email = \"admiral.david@gmail.com\"),\n person(given = \"Alex\",\n family = \"Hayes\",\n role = \"aut\",\n email = \"alexpghayes@gmail.com\",\n comment = c(ORCID = \"0000-0002-4985-5160\")),\n person(given = \"Simon\",\n family = \"Couch\",\n role = c(\"aut\", \"cre\"),\n email = \"simon.couch@posit.co\",\n comment = c(ORCID = \"0000-0001-5676-5107\")),\n person(given = \"Posit Software, PBC\", role = c(\"cph\", \"fnd\")),\n person(given = \"Indrajeet\",\n family = \"Patil\",\n role = \"ctb\",\n email = \"patilindrajeet.science@gmail.com\",\n comment = c(ORCID = \"0000-0003-1995-6531\")),\n person(given = \"Derek\",\n family = \"Chiu\",\n role = \"ctb\",\n email = \"dchiu@bccrc.ca\"),\n person(given = \"Matthieu\",\n family = \"Gomez\",\n role = \"ctb\",\n email = \"mattg@princeton.edu\"),\n person(given = \"Boris\",\n family = \"Demeshev\",\n role = \"ctb\",\n email = \"boris.demeshev@gmail.com\"),\n person(given = \"Dieter\",\n family = \"Menne\",\n role = \"ctb\",\n email = \"dieter.menne@menne-biomed.de\"),\n person(given = \"Benjamin\",\n family = \"Nutter\",\n role = \"ctb\",\n email = \"nutter@battelle.org\"),\n person(given = \"Luke\",\n family = \"Johnston\",\n role = \"ctb\",\n email = \"luke.johnston@mail.utoronto.ca\"),\n person(given = \"Ben\",\n family = \"Bolker\",\n role = \"ctb\",\n email = \"bolker@mcmaster.ca\"),\n person(given = \"Francois\",\n family = \"Briatte\",\n role = \"ctb\",\n email = \"f.briatte@gmail.com\"),\n person(given = \"Jeffrey\",\n family = \"Arnold\",\n role = \"ctb\",\n email = \"jeffrey.arnold@gmail.com\"),\n person(given = \"Jonah\",\n family = \"Gabry\",\n role = \"ctb\",\n email = \"jsg2201@columbia.edu\"),\n person(given = \"Luciano\",\n family = \"Selzer\",\n role = \"ctb\",\n email = \"luciano.selzer@gmail.com\"),\n person(given = \"Gavin\",\n family = \"Simpson\",\n role = \"ctb\",\n email = \"ucfagls@gmail.com\"),\n person(given = \"Jens\",\n family = \"Preussner\",\n role = \"ctb\",\n email = \" jens.preussner@mpi-bn.mpg.de\"),\n person(given = \"Jay\",\n family = \"Hesselberth\",\n role = \"ctb\",\n email = \"jay.hesselberth@gmail.com\"),\n person(given = \"Hadley\",\n family = \"Wickham\",\n role = \"ctb\",\n email = \"hadley@posit.co\"),\n person(given = \"Matthew\",\n family = \"Lincoln\",\n role = \"ctb\",\n email = \"matthew.d.lincoln@gmail.com\"),\n person(given = \"Alessandro\",\n family = \"Gasparini\",\n role = \"ctb\",\n email = \"ag475@leicester.ac.uk\"),\n person(given = \"Lukasz\",\n family = \"Komsta\",\n role = \"ctb\",\n email = \"lukasz.komsta@umlub.pl\"),\n person(given = \"Frederick\",\n family = \"Novometsky\",\n role = \"ctb\"),\n person(given = \"Wilson\",\n family = \"Freitas\",\n role = \"ctb\"),\n person(given = \"Michelle\",\n family = \"Evans\",\n role = \"ctb\"),\n person(given = \"Jason Cory\",\n family = \"Brunson\",\n role = \"ctb\",\n email = \"cornelioid@gmail.com\"),\n person(given = \"Simon\",\n family = \"Jackson\",\n role = \"ctb\",\n email = \"drsimonjackson@gmail.com\"),\n person(given = \"Ben\",\n family = \"Whalley\",\n role = \"ctb\",\n email = \"ben.whalley@plymouth.ac.uk\"),\n person(given = \"Karissa\",\n family = \"Whiting\",\n role = \"ctb\",\n email = \"karissa.whiting@gmail.com\"),\n person(given = \"Yves\",\n family = \"Rosseel\",\n role = \"ctb\",\n email = \"yrosseel@gmail.com\"),\n person(given = \"Michael\",\n family = \"Kuehn\",\n role = \"ctb\",\n email = \"mkuehn10@gmail.com\"),\n person(given = \"Jorge\",\n family = \"Cimentada\",\n role = \"ctb\",\n email = \"cimentadaj@gmail.com\"),\n person(given = \"Erle\",\n family = \"Holgersen\",\n role = \"ctb\",\n email = \"erle.holgersen@gmail.com\"),\n person(given = \"Karl\",\n family = \"Dunkle Werner\",\n role = \"ctb\",\n comment = c(ORCID = \"0000-0003-0523-7309\")),\n person(given = \"Ethan\",\n family = \"Christensen\",\n role = \"ctb\",\n email = \"christensen.ej@gmail.com\"),\n person(given = \"Steven\",\n family = \"Pav\",\n role = \"ctb\",\n email = \"shabbychef@gmail.com\"),\n person(given = \"Paul\",\n family = \"PJ\",\n role = \"ctb\",\n email = \"pjpaul.stephens@gmail.com\"),\n person(given = \"Ben\",\n family = \"Schneider\",\n role = \"ctb\",\n email = \"benjamin.julius.schneider@gmail.com\"),\n person(given = \"Patrick\",\n family = \"Kennedy\",\n role = \"ctb\",\n email = \"pkqstr@protonmail.com\"),\n person(given = \"Lily\",\n family = \"Medina\",\n role = \"ctb\",\n email = \"lilymiru@gmail.com\"),\n person(given = \"Brian\",\n family = \"Fannin\",\n role = \"ctb\",\n email = \"captain@pirategrunt.com\"),\n person(given = \"Jason\",\n family = \"Muhlenkamp\",\n role = \"ctb\",\n email = \"jason.muhlenkamp@gmail.com\"),\n person(given = \"Matt\",\n family = \"Lehman\",\n role = \"ctb\"),\n person(given = \"Bill\",\n family = \"Denney\",\n role = \"ctb\",\n email = \"wdenney@humanpredictions.com\",\n comment = c(ORCID = \"0000-0002-5759-428X\")),\n person(given = \"Nic\",\n family = \"Crane\",\n role = \"ctb\"),\n person(given = \"Andrew\",\n family = \"Bates\",\n role = \"ctb\"),\n person(given = \"Vincent\",\n family = \"Arel-Bundock\",\n role = \"ctb\",\n email = \"vincent.arel-bundock@umontreal.ca\",\n comment = c(ORCID = \"0000-0003-2042-7063\")),\n person(given = \"Hideaki\",\n family = \"Hayashi\",\n role = \"ctb\"),\n person(given = \"Luis\",\n family = \"Tobalina\",\n role = \"ctb\"),\n person(given = \"Annie\",\n family = \"Wang\",\n role = \"ctb\",\n email = \"anniewang.uc@gmail.com\"),\n person(given = \"Wei Yang\",\n family = \"Tham\",\n role = \"ctb\",\n email = \"weiyang.tham@gmail.com\"),\n person(given = \"Clara\",\n family = \"Wang\",\n role = \"ctb\",\n email = \"clara.wang.94@gmail.com\"),\n person(given = \"Abby\",\n family = \"Smith\",\n role = \"ctb\",\n email = \"als1@u.northwestern.edu\",\n comment = c(ORCID = \"0000-0002-3207-0375\")),\n person(given = \"Jasper\",\n family = \"Cooper\",\n role = \"ctb\",\n email = \"jaspercooper@gmail.com\",\n comment = c(ORCID = \"0000-0002-8639-3188\")),\n person(given = \"E Auden\",\n family = \"Krauska\",\n role = \"ctb\",\n email = \"krauskae@gmail.com\",\n comment = c(ORCID = \"0000-0002-1466-5850\")),\n person(given = \"Alex\",\n family = \"Wang\",\n role = \"ctb\",\n email = \"x249wang@uwaterloo.ca\"),\n person(given = \"Malcolm\",\n family = \"Barrett\",\n role = \"ctb\",\n email = \"malcolmbarrett@gmail.com\",\n comment = c(ORCID = \"0000-0003-0299-5825\")),\n person(given = \"Charles\",\n family = \"Gray\",\n role = \"ctb\",\n email = \"charlestigray@gmail.com\",\n comment = c(ORCID = \"0000-0002-9978-011X\")),\n person(given = \"Jared\",\n family = \"Wilber\",\n role = \"ctb\"),\n person(given = \"Vilmantas\",\n family = \"Gegzna\",\n role = \"ctb\",\n email = \"GegznaV@gmail.com\",\n comment = c(ORCID = \"0000-0002-9500-5167\")),\n person(given = \"Eduard\",\n family = \"Szoecs\",\n role = \"ctb\",\n email = \"eduardszoecs@gmail.com\"),\n person(given = \"Frederik\",\n family = \"Aust\",\n role = \"ctb\",\n email = \"frederik.aust@uni-koeln.de\",\n comment = c(ORCID = \"0000-0003-4900-788X\")),\n person(given = \"Angus\",\n family = \"Moore\",\n role = \"ctb\",\n email = \"angusmoore9@gmail.com\"),\n person(given = \"Nick\",\n family = \"Williams\",\n role = \"ctb\",\n email = \"ntwilliams.personal@gmail.com\"),\n person(given = \"Marius\",\n family = \"Barth\",\n role = \"ctb\",\n email = \"marius.barth.uni.koeln@gmail.com\",\n comment = c(ORCID = \"0000-0002-3421-6665\")),\n person(given = \"Bruna\",\n family = \"Wundervald\",\n role = \"ctb\",\n email = \"brunadaviesw@gmail.com\",\n comment = c(ORCID = \"0000-0001-8163-220X\")),\n person(given = \"Joyce\",\n family = \"Cahoon\",\n role = \"ctb\",\n email = \"joyceyu48@gmail.com\",\n comment = c(ORCID = \"0000-0001-7217-4702\")),\n person(given = \"Grant\",\n family = \"McDermott\",\n role = \"ctb\",\n email = \"grantmcd@uoregon.edu\",\n comment = c(ORCID = \"0000-0001-7883-8573\")),\n person(given = \"Kevin\",\n family = \"Zarca\",\n role = \"ctb\",\n email = \"kevin.zarca@gmail.com\"),\n person(given = \"Shiro\",\n family = \"Kuriwaki\",\n role = \"ctb\",\n email = \"shirokuriwaki@gmail.com\",\n comment = c(ORCID = \"0000-0002-5687-2647\")),\n person(given = \"Lukas\",\n family = \"Wallrich\",\n role = \"ctb\",\n email = \"lukas.wallrich@gmail.com\",\n comment = c(ORCID = \"0000-0003-2121-5177\")),\n person(given = \"James\",\n family = \"Martherus\",\n role = \"ctb\",\n email = \"james@martherus.com\",\n comment = c(ORCID = \"0000-0002-8285-3300\")),\n person(given = \"Chuliang\",\n family = \"Xiao\",\n role = \"ctb\",\n email = \"cxiao@umich.edu\",\n comment = c(ORCID = \"0000-0002-8466-9398\")),\n person(given = \"Joseph\",\n family = \"Larmarange\",\n role = \"ctb\",\n email = \"joseph@larmarange.net\"),\n person(given = \"Max\",\n family = \"Kuhn\",\n role = \"ctb\",\n email = \"max@posit.co\"),\n person(given = \"Michal\",\n family = \"Bojanowski\",\n role = \"ctb\",\n email = \"michal2992@gmail.com\"),\n person(given = \"Hakon\",\n family = \"Malmedal\",\n role = \"ctb\",\n email = \"hmalmedal@gmail.com\"),\n person(given = \"Clara\",\n family = \"Wang\",\n role = \"ctb\"),\n person(given = \"Sergio\",\n family = \"Oller\",\n role = \"ctb\",\n email = \"sergioller@gmail.com\"),\n person(given = \"Luke\",\n family = \"Sonnet\",\n role = \"ctb\",\n email = \"luke.sonnet@gmail.com\"),\n person(given = \"Jim\",\n family = \"Hester\",\n role = \"ctb\",\n email = \"jim.hester@posit.co\"),\n person(given = \"Ben\",\n family = \"Schneider\",\n role = \"ctb\",\n email = \"benjamin.julius.schneider@gmail.com\"),\n person(given = \"Bernie\",\n family = \"Gray\",\n role = \"ctb\",\n email = \"bfgray3@gmail.com\",\n comment = c(ORCID = \"0000-0001-9190-6032\")),\n person(given = \"Mara\",\n family = \"Averick\",\n role = \"ctb\",\n email = \"mara@posit.co\"),\n person(given = \"Aaron\",\n family = \"Jacobs\",\n role = \"ctb\",\n email = \"atheriel@gmail.com\"),\n person(given = \"Andreas\",\n family = \"Bender\",\n role = \"ctb\",\n email = \"bender.at.R@gmail.com\"),\n person(given = \"Sven\",\n family = \"Templer\",\n role = \"ctb\",\n email = \"sven.templer@gmail.com\"),\n person(given = \"Paul-Christian\",\n family = \"Buerkner\",\n role = \"ctb\",\n email = \"paul.buerkner@gmail.com\"),\n person(given = \"Matthew\",\n family = \"Kay\",\n role = \"ctb\",\n email = \"mjskay@umich.edu\"),\n person(given = \"Erwan\",\n family = \"Le Pennec\",\n role = \"ctb\",\n email = \"lepennec@gmail.com\"),\n person(given = \"Johan\",\n family = \"Junkka\",\n role = \"ctb\",\n email = \"johan.junkka@umu.se\"),\n person(given = \"Hao\",\n family = \"Zhu\",\n role = \"ctb\",\n email = \"haozhu233@gmail.com\"),\n person(given = \"Benjamin\",\n family = \"Soltoff\",\n role = \"ctb\",\n email = \"soltoffbc@uchicago.edu\"),\n person(given = \"Zoe\",\n family = \"Wilkinson Saldana\",\n role = \"ctb\",\n email = \"zoewsaldana@gmail.com\"),\n person(given = \"Tyler\",\n family = \"Littlefield\",\n role = \"ctb\",\n email = \"tylurp1@gmail.com\"),\n person(given = \"Charles T.\",\n family = \"Gray\",\n role = \"ctb\",\n email = \"charlestigray@gmail.com\"),\n person(given = \"Shabbh E.\",\n family = \"Banks\",\n role = \"ctb\"),\n person(given = \"Serina\",\n family = \"Robinson\",\n role = \"ctb\",\n email = \"robi0916@umn.edu\"),\n person(given = \"Roger\",\n family = \"Bivand\",\n role = \"ctb\",\n email = \"Roger.Bivand@nhh.no\"),\n person(given = \"Riinu\",\n family = \"Ots\",\n role = \"ctb\",\n email = \"riinuots@gmail.com\"),\n person(given = \"Nicholas\",\n family = \"Williams\",\n role = \"ctb\",\n email = \"ntwilliams.personal@gmail.com\"),\n person(given = \"Nina\",\n family = \"Jakobsen\",\n role = \"ctb\"),\n person(given = \"Michael\",\n family = \"Weylandt\",\n role = \"ctb\",\n email = \"michael.weylandt@gmail.com\"),\n person(given = \"Lisa\",\n family = \"Lendway\",\n role = \"ctb\",\n email = \"llendway@macalester.edu\"),\n person(given = \"Karl\",\n family = \"Hailperin\",\n role = \"ctb\",\n email = \"khailper@gmail.com\"),\n person(given = \"Josue\",\n family = \"Rodriguez\",\n role = \"ctb\",\n email = \"jerrodriguez@ucdavis.edu\"),\n person(given = \"Jenny\",\n family = \"Bryan\",\n role = \"ctb\",\n email = \"jenny@posit.co\"),\n person(given = \"Chris\",\n family = \"Jarvis\",\n role = \"ctb\",\n email = \"Christopher1.jarvis@gmail.com\"),\n person(given = \"Greg\",\n family = \"Macfarlane\",\n role = \"ctb\",\n email = \"gregmacfarlane@gmail.com\"),\n person(given = \"Brian\",\n family = \"Mannakee\",\n role = \"ctb\",\n email = \"bmannakee@gmail.com\"),\n person(given = \"Drew\",\n family = \"Tyre\",\n role = \"ctb\",\n email = \"atyre2@unl.edu\"),\n person(given = \"Shreyas\",\n family = \"Singh\",\n role = \"ctb\",\n email = \"shreyas.singh.298@gmail.com\"),\n person(given = \"Laurens\",\n family = \"Geffert\",\n role = \"ctb\",\n email = \"laurensgeffert@gmail.com\"),\n person(given = \"Hong\",\n family = \"Ooi\",\n role = \"ctb\",\n email = \"hongooi@microsoft.com\"),\n person(given = \"Henrik\",\n family = \"Bengtsson\",\n role = \"ctb\",\n email = \"henrikb@braju.com\"),\n person(given = \"Eduard\",\n family = \"Szocs\",\n role = \"ctb\",\n email = \"eduardszoecs@gmail.com\"),\n person(given = \"David\",\n family = \"Hugh-Jones\",\n role = \"ctb\",\n email = \"davidhughjones@gmail.com\"),\n person(given = \"Matthieu\",\n family = \"Stigler\",\n role = \"ctb\",\n email = \"Matthieu.Stigler@gmail.com\"),\n person(given = \"Hugo\",\n family = \"Tavares\",\n role = \"ctb\",\n email = \"hm533@cam.ac.uk\",\n comment = c(ORCID = \"0000-0001-9373-2726\")),\n\t person(given = \"R. Willem\",\n family = \"Vervoort\",\n role = \"ctb\",\n email = \"Willemvervoort@gmail.com\"),\n person(given = \"Brenton M.\",\n family = \"Wiernik\",\n role = \"ctb\",\n email = \"brenton@wiernik.org\"),\n person(given = \"Josh\",\n family = \"Yamamoto\",\n role = \"ctb\",\n email = \"joshuayamamoto5@gmail.com\"),\n person(given = \"Jasme\",\n family = \"Lee\",\n role = \"ctb\"),\n person(given = \"Taren\",\n family = \"Sanders\",\n role = \"ctb\",\n email = \"taren.sanders@acu.edu.au\",\n comment = c(ORCID = \"0000-0002-4504-6008\")),\n person(given = \"Ilaria\",\n family = \"Prosdocimi\",\n role = \"ctb\",\n email = \"prosdocimi.ilaria@gmail.com\",\n comment = c(ORCID = \"0000-0001-8565-094X\")),\n person(given = \"Daniel D.\",\n family = \"Sjoberg\",\n role = \"ctb\",\n email = \"danield.sjoberg@gmail.com\",\n comment = c(ORCID = \"0000-0003-0862-2018\")),\n person(given = \"Alex\",\n family = \"Reinhart\",\n role = \"ctb\",\n email = \"areinhar@stat.cmu.edu\",\n comment = c(ORCID = \"0000-0002-6658-514X\")))",
+ "Description": "Summarizes key information about statistical\n objects in tidy tibbles. This makes it easy to report results, create\n plots and consistently work with large numbers of models at once.\n Broom provides three verbs that each provide different types of\n information about a model. tidy() summarizes information about model\n components such as coefficients of a regression. glance() reports\n information about an entire model, such as goodness of fit measures\n like AIC and BIC. augment() adds information about individual\n observations to a dataset, such as fitted values or influence\n measures.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://broom.tidymodels.org/, https://github.com/tidymodels/broom",
+ "BugReports": "https://github.com/tidymodels/broom/issues",
+ "Depends": "R (>= 3.5)",
+ "Imports": "backports, cli, dplyr (>= 1.0.0), generics (>= 0.0.2), glue,\nlifecycle, purrr, rlang (>= 1.1.0), stringr, tibble (>= 3.0.0),\ntidyr (>= 1.0.0)",
+ "Suggests": "AER, AUC, bbmle, betareg (>= 3.2-1), biglm, binGroup, boot,\nbtergm (>= 1.10.6), car (>= 3.1-2), carData, caret, cluster,\ncmprsk, coda, covr, drc, e1071, emmeans, epiR, ergm (>=\n3.10.4), fixest (>= 0.9.0), gam (>= 1.15), gee, geepack,\nggplot2, glmnet, glmnetUtils, gmm, Hmisc, irlba, interp,\njoineRML, Kendall, knitr, ks, Lahman, lavaan (>= 0.6.18),\nleaps, lfe, lm.beta, lme4, lmodel2, lmtest (>= 0.9.38),\nlsmeans, maps, margins, MASS, mclust, mediation, metafor, mfx,\nmgcv, mlogit, modeldata, modeltests (>= 0.1.6), muhaz,\nmultcomp, network, nnet, ordinal, plm, poLCA, psych, quantreg,\nrmarkdown, robust, robustbase, rsample, sandwich, spdep (>=\n1.1), spatialreg, speedglm, spelling, survey, survival (>=\n3.6-4), systemfit, testthat (>= 3.0.0), tseries, vars, zoo",
+ "VignetteBuilder": "knitr",
+ "Config/Needs/website": "tidyverse/tidytemplate",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.3.2",
+ "Language": "en-US",
+ "Collate": "'aaa-documentation-helper.R' 'null-and-default.R' 'aer.R'\n'auc.R' 'base.R' 'bbmle.R' 'betareg.R' 'biglm.R' 'bingroup.R'\n'boot.R' 'broom-package.R' 'broom.R' 'btergm.R' 'car.R'\n'caret.R' 'cluster.R' 'cmprsk.R' 'data-frame.R'\n'deprecated-0-7-0.R' 'drc.R' 'emmeans.R' 'epiR.R' 'ergm.R'\n'fixest.R' 'gam.R' 'geepack.R' 'glmnet-cv-glmnet.R'\n'glmnet-glmnet.R' 'gmm.R' 'hmisc.R'\n'import-standalone-obj-type.R'\n'import-standalone-types-check.R' 'joinerml.R' 'kendall.R'\n'ks.R' 'lavaan.R' 'leaps.R' 'lfe.R' 'list-irlba.R'\n'list-optim.R' 'list-svd.R' 'list-xyz.R' 'list.R' 'lm-beta.R'\n'lmodel2.R' 'lmtest.R' 'maps.R' 'margins.R' 'mass-fitdistr.R'\n'mass-negbin.R' 'mass-polr.R' 'mass-ridgelm.R' 'stats-lm.R'\n'mass-rlm.R' 'mclust.R' 'mediation.R' 'metafor.R' 'mfx.R'\n'mgcv.R' 'mlogit.R' 'muhaz.R' 'multcomp.R' 'nnet.R' 'nobs.R'\n'ordinal-clm.R' 'ordinal-clmm.R' 'plm.R' 'polca.R' 'psych.R'\n'stats-nls.R' 'quantreg-nlrq.R' 'quantreg-rq.R'\n'quantreg-rqs.R' 'robust-glmrob.R' 'robust-lmrob.R'\n'robustbase-glmrob.R' 'robustbase-lmrob.R' 'sp.R' 'spdep.R'\n'speedglm-speedglm.R' 'speedglm-speedlm.R' 'stats-anova.R'\n'stats-arima.R' 'stats-decompose.R' 'stats-factanal.R'\n'stats-glm.R' 'stats-htest.R' 'stats-kmeans.R' 'stats-loess.R'\n'stats-mlm.R' 'stats-prcomp.R' 'stats-smooth.spline.R'\n'stats-summary-lm.R' 'stats-time-series.R' 'survey.R'\n'survival-aareg.R' 'survival-cch.R' 'survival-coxph.R'\n'survival-pyears.R' 'survival-survdiff.R' 'survival-survexp.R'\n'survival-survfit.R' 'survival-survreg.R' 'systemfit.R'\n'tseries.R' 'utilities.R' 'vars.R' 'zoo.R' 'zzz.R'",
+ "Config/testthat/edition": "3",
+ "NeedsCompilation": "no",
+ "Packaged": "2025-03-27 19:21:46 UTC; simoncouch",
+ "Author": "David Robinson [aut],\n Alex Hayes [aut] (),\n Simon Couch [aut, cre] (),\n Posit Software, PBC [cph, fnd],\n Indrajeet Patil [ctb] (),\n Derek Chiu [ctb],\n Matthieu Gomez [ctb],\n Boris Demeshev [ctb],\n Dieter Menne [ctb],\n Benjamin Nutter [ctb],\n Luke Johnston [ctb],\n Ben Bolker [ctb],\n Francois Briatte [ctb],\n Jeffrey Arnold [ctb],\n Jonah Gabry [ctb],\n Luciano Selzer [ctb],\n Gavin Simpson [ctb],\n Jens Preussner [ctb],\n Jay Hesselberth [ctb],\n Hadley Wickham [ctb],\n Matthew Lincoln [ctb],\n Alessandro Gasparini [ctb],\n Lukasz Komsta [ctb],\n Frederick Novometsky [ctb],\n Wilson Freitas [ctb],\n Michelle Evans [ctb],\n Jason Cory Brunson [ctb],\n Simon Jackson [ctb],\n Ben Whalley [ctb],\n Karissa Whiting [ctb],\n Yves Rosseel [ctb],\n Michael Kuehn [ctb],\n Jorge Cimentada [ctb],\n Erle Holgersen [ctb],\n Karl Dunkle Werner [ctb] (),\n Ethan Christensen [ctb],\n Steven Pav [ctb],\n Paul PJ [ctb],\n Ben Schneider [ctb],\n Patrick Kennedy [ctb],\n Lily Medina [ctb],\n Brian Fannin [ctb],\n Jason Muhlenkamp [ctb],\n Matt Lehman [ctb],\n Bill Denney [ctb] (),\n Nic Crane [ctb],\n Andrew Bates [ctb],\n Vincent Arel-Bundock [ctb] (),\n Hideaki Hayashi [ctb],\n Luis Tobalina [ctb],\n Annie Wang [ctb],\n Wei Yang Tham [ctb],\n Clara Wang [ctb],\n Abby Smith [ctb] (),\n Jasper Cooper [ctb] (),\n E Auden Krauska [ctb] (),\n Alex Wang [ctb],\n Malcolm Barrett [ctb] (),\n Charles Gray [ctb] (),\n Jared Wilber [ctb],\n Vilmantas Gegzna [ctb] (),\n Eduard Szoecs [ctb],\n Frederik Aust [ctb] (),\n Angus Moore [ctb],\n Nick Williams [ctb],\n Marius Barth [ctb] (),\n Bruna Wundervald [ctb] (),\n Joyce Cahoon [ctb] (),\n Grant McDermott [ctb] (),\n Kevin Zarca [ctb],\n Shiro Kuriwaki [ctb] (),\n Lukas Wallrich [ctb] (),\n James Martherus [ctb] (),\n Chuliang Xiao [ctb] (),\n Joseph Larmarange [ctb],\n Max Kuhn [ctb],\n Michal Bojanowski [ctb],\n Hakon Malmedal [ctb],\n Clara Wang [ctb],\n Sergio Oller [ctb],\n Luke Sonnet [ctb],\n Jim Hester [ctb],\n Ben Schneider [ctb],\n Bernie Gray [ctb] (),\n Mara Averick [ctb],\n Aaron Jacobs [ctb],\n Andreas Bender [ctb],\n Sven Templer [ctb],\n Paul-Christian Buerkner [ctb],\n Matthew Kay [ctb],\n Erwan Le Pennec [ctb],\n Johan Junkka [ctb],\n Hao Zhu [ctb],\n Benjamin Soltoff [ctb],\n Zoe Wilkinson Saldana [ctb],\n Tyler Littlefield [ctb],\n Charles T. Gray [ctb],\n Shabbh E. Banks [ctb],\n Serina Robinson [ctb],\n Roger Bivand [ctb],\n Riinu Ots [ctb],\n Nicholas Williams [ctb],\n Nina Jakobsen [ctb],\n Michael Weylandt [ctb],\n Lisa Lendway [ctb],\n Karl Hailperin [ctb],\n Josue Rodriguez [ctb],\n Jenny Bryan [ctb],\n Chris Jarvis [ctb],\n Greg Macfarlane [ctb],\n Brian Mannakee [ctb],\n Drew Tyre [ctb],\n Shreyas Singh [ctb],\n Laurens Geffert [ctb],\n Hong Ooi [ctb],\n Henrik Bengtsson [ctb],\n Eduard Szocs [ctb],\n David Hugh-Jones [ctb],\n Matthieu Stigler [ctb],\n Hugo Tavares [ctb] (),\n R. Willem Vervoort [ctb],\n Brenton M. Wiernik [ctb],\n Josh Yamamoto [ctb],\n Jasme Lee [ctb],\n Taren Sanders [ctb] (),\n Ilaria Prosdocimi [ctb] (),\n Daniel D. Sjoberg [ctb] (),\n Alex Reinhart [ctb] ()",
+ "Maintainer": "Simon Couch ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-03-28 05:50:07 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:27:23 UTC; unix",
+ "RemotePkgRef": "broom@1.0.8",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"3490906d20dae8252d875a0a0a4e6b13\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "broom",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.0.8"
+ }
+ },
+ "broom.helpers": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "broom.helpers",
+ "Title": "Helpers for Model Coefficients Tibbles",
+ "Version": "1.22.0",
+ "Authors@R": "c(\n person(\"Joseph\", \"Larmarange\", , \"joseph@larmarange.net\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0001-7097-700X\")),\n person(\"Daniel D.\", \"Sjoberg\", , \"danield.sjoberg@gmail.com\", role = \"aut\",\n comment = c(ORCID = \"0000-0003-0862-2018\"))\n )",
+ "Description": "Provides suite of functions to work with regression model\n 'broom::tidy()' tibbles. The suite includes functions to group\n regression model terms by variable, insert reference and header rows\n for categorical variables, add variable labels, and more.",
+ "License": "GPL (>= 3)",
+ "URL": "https://larmarange.github.io/broom.helpers/,\nhttps://github.com/larmarange/broom.helpers",
+ "BugReports": "https://github.com/larmarange/broom.helpers/issues",
+ "Depends": "R (>= 4.1)",
+ "Imports": "broom (>= 0.8), cards, cli, dplyr (>= 1.1.0), labelled,\nlifecycle, purrr, rlang (>= 1.0.1), stats, stringr, tibble,\ntidyr, tidyselect",
+ "Suggests": "betareg, biglm, brms (>= 2.13.0), broom.mixed, cmprsk, covr,\ndatasets, effects, emmeans, fixest (>= 0.10.0), forcats, gam,\ngee, geepack, ggplot2, ggeffects (>= 1.3.2), ggstats (>=\n0.2.1), glmmTMB, glmtoolbox, glue, gt, gtsummary (>= 2.0.0),\nknitr, lavaan, lfe, lme4 (>= 1.1.28), logitr (>= 0.8.0),\nmarginaleffects (>= 0.21.0), margins, MASS, mgcv, mice, mmrm\n(>= 0.3.6), multgee, nnet, ordinal, parameters, parsnip,\npatchwork, plm, pscl, quantreg, rmarkdown, rstanarm, scales,\nspelling, survey, survival, testthat (>= 3.0.0), tidycmprsk,\nVGAM, svyVGAM",
+ "VignetteBuilder": "knitr",
+ "RdMacros": "lifecycle",
+ "Encoding": "UTF-8",
+ "Language": "en-US",
+ "LazyData": "true",
+ "RoxygenNote": "7.3.3",
+ "Config/testthat/edition": "3",
+ "NeedsCompilation": "no",
+ "Packaged": "2025-09-17 09:06:13 UTC; josep",
+ "Author": "Joseph Larmarange [aut, cre] (ORCID:\n ),\n Daniel D. Sjoberg [aut] (ORCID:\n )",
+ "Maintainer": "Joseph Larmarange ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-09-17 10:00:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:32:16 UTC; unix",
+ "RemotePkgRef": "broom.helpers@1.22.0",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"a255c2a85533507accfed085105da53b\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "broom.helpers",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.22.0"
+ }
+ },
+ "bslib": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "bslib",
+ "Title": "Custom 'Bootstrap' 'Sass' Themes for 'shiny' and 'rmarkdown'",
+ "Version": "0.9.0",
+ "Authors@R": "c(\n person(\"Carson\", \"Sievert\", , \"carson@posit.co\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0002-4958-2844\")),\n person(\"Joe\", \"Cheng\", , \"joe@posit.co\", role = \"aut\"),\n person(\"Garrick\", \"Aden-Buie\", , \"garrick@posit.co\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-7111-0077\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")),\n person(, \"Bootstrap contributors\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(, \"Twitter, Inc\", role = \"cph\",\n comment = \"Bootstrap library\"),\n person(\"Javi\", \"Aguilar\", role = c(\"ctb\", \"cph\"),\n comment = \"Bootstrap colorpicker library\"),\n person(\"Thomas\", \"Park\", role = c(\"ctb\", \"cph\"),\n comment = \"Bootswatch library\"),\n person(, \"PayPal\", role = c(\"ctb\", \"cph\"),\n comment = \"Bootstrap accessibility plugin\")\n )",
+ "Description": "Simplifies custom 'CSS' styling of both 'shiny' and\n 'rmarkdown' via 'Bootstrap' 'Sass'. Supports 'Bootstrap' 3, 4 and 5 as\n well as their various 'Bootswatch' themes. An interactive widget is\n also provided for previewing themes in real time.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://rstudio.github.io/bslib/, https://github.com/rstudio/bslib",
+ "BugReports": "https://github.com/rstudio/bslib/issues",
+ "Depends": "R (>= 2.10)",
+ "Imports": "base64enc, cachem, fastmap (>= 1.1.1), grDevices, htmltools\n(>= 0.5.8), jquerylib (>= 0.1.3), jsonlite, lifecycle, memoise\n(>= 2.0.1), mime, rlang, sass (>= 0.4.9)",
+ "Suggests": "bsicons, curl, fontawesome, future, ggplot2, knitr, magrittr,\nrappdirs, rmarkdown (>= 2.7), shiny (> 1.8.1), testthat,\nthematic, tools, utils, withr, yaml",
+ "Config/Needs/deploy": "BH, chiflights22, colourpicker, commonmark, cpp11,\ncpsievert/chiflights22, cpsievert/histoslider, dplyr, DT,\nggplot2, ggridges, gt, hexbin, histoslider, htmlwidgets,\nlattice, leaflet, lubridate, markdown, modelr, plotly,\nreactable, reshape2, rprojroot, rsconnect, rstudio/shiny,\nscales, styler, tibble",
+ "Config/Needs/routine": "chromote, desc, renv",
+ "Config/Needs/website": "brio, crosstalk, dplyr, DT, ggplot2, glue,\nhtmlwidgets, leaflet, lorem, palmerpenguins, plotly, purrr,\nrprojroot, rstudio/htmltools, scales, stringr, tidyr, webshot2",
+ "Config/testthat/edition": "3",
+ "Config/testthat/parallel": "true",
+ "Config/testthat/start-first": "zzzz-bs-sass, fonts, zzz-precompile,\ntheme-*, rmd-*",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.3.2",
+ "Collate": "'accordion.R' 'breakpoints.R' 'bs-current-theme.R'\n'bs-dependencies.R' 'bs-global.R' 'bs-remove.R'\n'bs-theme-layers.R' 'bs-theme-preset-bootswatch.R'\n'bs-theme-preset-brand.R' 'bs-theme-preset-builtin.R'\n'bs-theme-preset.R' 'utils.R' 'bs-theme-preview.R'\n'bs-theme-update.R' 'bs-theme.R' 'bslib-package.R' 'buttons.R'\n'card.R' 'deprecated.R' 'files.R' 'fill.R' 'imports.R'\n'input-dark-mode.R' 'input-switch.R' 'layout.R' 'nav-items.R'\n'nav-update.R' 'navbar_options.R' 'navs-legacy.R' 'navs.R'\n'onLoad.R' 'page.R' 'popover.R' 'precompiled.R' 'print.R'\n'shiny-devmode.R' 'sidebar.R' 'staticimports.R' 'tooltip.R'\n'utils-deps.R' 'utils-shiny.R' 'utils-tags.R' 'value-box.R'\n'version-default.R' 'versions.R'",
+ "NeedsCompilation": "no",
+ "Packaged": "2025-01-30 22:04:52 UTC; garrick",
+ "Author": "Carson Sievert [aut, cre] (),\n Joe Cheng [aut],\n Garrick Aden-Buie [aut] (),\n Posit Software, PBC [cph, fnd],\n Bootstrap contributors [ctb] (Bootstrap library),\n Twitter, Inc [cph] (Bootstrap library),\n Javi Aguilar [ctb, cph] (Bootstrap colorpicker library),\n Thomas Park [ctb, cph] (Bootswatch library),\n PayPal [ctb, cph] (Bootstrap accessibility plugin)",
+ "Maintainer": "Carson Sievert ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-01-30 23:20:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:29:30 UTC; unix",
+ "RemotePkgRef": "bslib@0.9.0",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"b4e388e8f37710d768c5b3bd7e38aff4\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "bslib",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.9.0"
+ }
+ },
+ "cachem": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "cachem",
+ "Version": "1.1.0",
+ "Title": "Cache R Objects with Automatic Pruning",
+ "Description": "Key-value stores with automatic pruning. Caches can limit\n either their total size or the age of the oldest object (or both),\n automatically pruning objects to maintain the constraints.",
+ "Authors@R": "c(\n person(\"Winston\", \"Chang\", , \"winston@posit.co\", c(\"aut\", \"cre\")),\n person(family = \"Posit Software, PBC\", role = c(\"cph\", \"fnd\")))",
+ "License": "MIT + file LICENSE",
+ "Encoding": "UTF-8",
+ "ByteCompile": "true",
+ "URL": "https://cachem.r-lib.org/, https://github.com/r-lib/cachem",
+ "Imports": "rlang, fastmap (>= 1.2.0)",
+ "Suggests": "testthat",
+ "RoxygenNote": "7.2.3",
+ "Config/Needs/routine": "lobstr",
+ "Config/Needs/website": "pkgdown",
+ "NeedsCompilation": "yes",
+ "Packaged": "2024-05-15 15:54:22 UTC; winston",
+ "Author": "Winston Chang [aut, cre],\n Posit Software, PBC [cph, fnd]",
+ "Maintainer": "Winston Chang ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-05-16 09:50:11 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:23:04 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "cachem",
+ "RemoteRef": "cachem",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.1.0"
+ }
+ },
+ "callr": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "callr",
+ "Title": "Call R from R",
+ "Version": "3.7.6",
+ "Authors@R": "c(\n person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\", \"cph\"),\n comment = c(ORCID = \"0000-0001-7098-9676\")),\n person(\"Winston\", \"Chang\", role = \"aut\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")),\n person(\"Ascent Digital Services\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "It is sometimes useful to perform a computation in a separate\n R process, without affecting the current R process at all. This\n packages does exactly that.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://callr.r-lib.org, https://github.com/r-lib/callr",
+ "BugReports": "https://github.com/r-lib/callr/issues",
+ "Depends": "R (>= 3.4)",
+ "Imports": "processx (>= 3.6.1), R6, utils",
+ "Suggests": "asciicast (>= 2.3.1), cli (>= 1.1.0), mockery, ps, rprojroot,\nspelling, testthat (>= 3.2.0), withr (>= 2.3.0)",
+ "Config/Needs/website": "r-lib/asciicast, glue, htmlwidgets, igraph,\ntibble, tidyverse/tidytemplate",
+ "Config/testthat/edition": "3",
+ "Encoding": "UTF-8",
+ "Language": "en-US",
+ "RoxygenNote": "7.3.1.9000",
+ "NeedsCompilation": "no",
+ "Packaged": "2024-03-25 12:10:25 UTC; gaborcsardi",
+ "Author": "Gábor Csárdi [aut, cre, cph] (),\n Winston Chang [aut],\n Posit Software, PBC [cph, fnd],\n Ascent Digital Services [cph, fnd]",
+ "Maintainer": "Gábor Csárdi ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-03-25 13:30:06 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:23:13 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "callr",
+ "RemoteRef": "callr",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "3.7.6"
+ }
+ },
+ "cards": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "cards",
+ "Title": "Analysis Results Data",
+ "Version": "0.7.0",
+ "Authors@R": "c(\n person(\"Daniel D.\", \"Sjoberg\", , \"danield.sjoberg@gmail.com\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0003-0862-2018\")),\n person(\"Becca\", \"Krouse\", , \"becca.z.krouse@gsk.com\", role = \"aut\"),\n person(\"Emily\", \"de la Rua\", , \"emily.de_la_rua@contractors.roche.com\", role = \"aut\",\n comment = c(ORCID = \"0009-0000-8738-5561\")),\n person(\"Malan\", \"Bosman\", , \"malanbos@gmail.com\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-3020-195X\")),\n person(\"F. Hoffmann-La Roche AG\", role = c(\"cph\", \"fnd\")),\n person(\"GlaxoSmithKline Research & Development Limited\", role = \"cph\")\n )",
+ "Description": "Construct CDISC (Clinical Data Interchange Standards\n Consortium) compliant Analysis Results Data objects. These objects are\n used and re-used to construct summary tables, visualizations, and\n written reports. The package also exports utilities for working with\n these objects and creating new Analysis Results Data objects.",
+ "License": "Apache License 2.0",
+ "URL": "https://github.com/insightsengineering/cards,\nhttps://insightsengineering.github.io/cards/",
+ "BugReports": "https://github.com/insightsengineering/cards/issues",
+ "Depends": "R (>= 4.1)",
+ "Imports": "cli (>= 3.6.1), dplyr (>= 1.1.2), glue (>= 1.6.2), lifecycle\n(>= 1.0.3), rlang (>= 1.1.1), tidyr (>= 1.3.0), tidyselect (>=\n1.2.0)",
+ "Suggests": "testthat (>= 3.2.0), withr (>= 3.0.0)",
+ "Config/Needs/coverage": "hms",
+ "Config/Needs/website": "rmarkdown, jsonlite, yaml, gtsummary, tfrmt,\ncardx, gt, fontawesome, insightsengineering/crane,\ninsightsengineering/nesttemplate",
+ "Config/testthat/edition": "3",
+ "Config/testthat/parallel": "true",
+ "Encoding": "UTF-8",
+ "Language": "en-US",
+ "LazyData": "true",
+ "RoxygenNote": "7.3.2",
+ "NeedsCompilation": "no",
+ "Packaged": "2025-08-27 04:37:58 UTC; sjobergd",
+ "Author": "Daniel D. Sjoberg [aut, cre] (ORCID:\n ),\n Becca Krouse [aut],\n Emily de la Rua [aut] (ORCID: ),\n Malan Bosman [aut] (ORCID: ),\n F. Hoffmann-La Roche AG [cph, fnd],\n GlaxoSmithKline Research & Development Limited [cph]",
+ "Maintainer": "Daniel D. Sjoberg ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-08-27 07:30:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:27:23 UTC; unix",
+ "RemotePkgRef": "cards@0.7.0",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"0b6e383aeba81422f8902f0ca6f2cc44\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "cards",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.7.0"
+ }
+ },
+ "cardx": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "cardx",
+ "Title": "Extra Analysis Results Data Utilities",
+ "Version": "0.3.0",
+ "Authors@R": "c(\n person(\"Daniel D.\", \"Sjoberg\", , \"danield.sjoberg@gmail.com\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0003-0862-2018\")),\n person(\"Abinaya\", \"Yogasekaram\", , \"abinaya.yogasekaram@contractors.roche.com\", role = \"aut\"),\n person(\"Emily\", \"de la Rua\", , \"emily.de_la_rua@contractors.roche.com\", role = \"aut\"),\n person(\"Malcolm\", \"Barrett\", role = \"ctb\",\n comment = c(ORCID = \"0000-0003-0299-5825\")),\n person(\"F. Hoffmann-La Roche AG\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "Create extra Analysis Results Data (ARD) summary objects.\n The package supplements the simple ARD functions from the 'cards'\n package, exporting functions to put statistical results in the ARD\n format. These objects are used and re-used to construct summary\n tables, visualizations, and written reports.",
+ "License": "Apache License 2.0",
+ "URL": "https://github.com/insightsengineering/cardx,\nhttps://insightsengineering.github.io/cardx/",
+ "BugReports": "https://github.com/insightsengineering/cardx/issues",
+ "Depends": "R (>= 4.2)",
+ "Imports": "cards (>= 0.7.0), cli (>= 3.6.1), dplyr (>= 1.1.2), glue (>=\n1.6.2), lifecycle (>= 1.0.3), rlang (>= 1.1.1), tidyr (>=\n1.3.0)",
+ "Suggests": "aod (>= 1.3.3), broom (>= 1.0.8), broom.helpers (>= 1.17.0),\nbroom.mixed (>= 0.2.9), car (>= 3.1-2), effectsize (>= 0.8.8),\nemmeans (>= 1.7.3), geepack (>= 1.3.2), ggsurvfit (>= 1.1.0),\nlme4 (>= 1.1-37), parameters (>= 0.20.2), smd (>= 0.6.6),\nsurvey (>= 4.2), survival (>= 3.6-4), testthat (>= 3.2.0),\nwithr (>= 2.5.0)",
+ "Config/Needs/website": "insightsengineering/nesttemplate",
+ "Config/testthat/edition": "3",
+ "Config/testthat/parallel": "true",
+ "Encoding": "UTF-8",
+ "Language": "en-US",
+ "RoxygenNote": "7.3.2",
+ "NeedsCompilation": "no",
+ "Packaged": "2025-08-27 14:13:53 UTC; sjobergd",
+ "Author": "Daniel D. Sjoberg [aut, cre] (ORCID:\n ),\n Abinaya Yogasekaram [aut],\n Emily de la Rua [aut],\n Malcolm Barrett [ctb] (ORCID: ),\n F. Hoffmann-La Roche AG [cph, fnd]",
+ "Maintainer": "Daniel D. Sjoberg ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-08-27 14:40:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:27:37 UTC; unix",
+ "RemotePkgRef": "cardx@0.3.0",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"89d533fb18fcca68233a15a5ac22bb4e\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "cardx",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.3.0"
+ }
+ },
+ "cellranger": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "cellranger",
+ "Title": "Translate Spreadsheet Cell Ranges to Rows and Columns",
+ "Version": "1.1.0",
+ "Authors@R": "c(\n person(\"Jennifer\", \"Bryan\", , \"jenny@stat.ubc.ca\", c(\"cre\", \"aut\")),\n person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", \"ctb\")\n )",
+ "Description": "Helper functions to work with spreadsheets and the \"A1:D10\" style\n of cell range specification.",
+ "Depends": "R (>= 3.0.0)",
+ "License": "MIT + file LICENSE",
+ "LazyData": "true",
+ "URL": "https://github.com/rsheets/cellranger",
+ "BugReports": "https://github.com/rsheets/cellranger/issues",
+ "Suggests": "covr, testthat (>= 1.0.0), knitr, rmarkdown",
+ "RoxygenNote": "5.0.1.9000",
+ "VignetteBuilder": "knitr",
+ "Imports": "rematch, tibble",
+ "NeedsCompilation": "no",
+ "Packaged": "2016-07-26 06:50:00 UTC; jenny",
+ "Author": "Jennifer Bryan [cre, aut],\n Hadley Wickham [ctb]",
+ "Maintainer": "Jennifer Bryan ",
+ "Repository": "RSPM",
+ "Date/Publication": "2016-07-27 03:17:48",
+ "Encoding": "UTF-8",
+ "Built": "R 4.4.0; ; 2026-01-29 00:26:10 UTC; unix",
+ "RemotePkgRef": "cellranger@1.1.0",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"aaca65619d652d20258104b5e8107e54\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "cellranger",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.1.0"
+ }
+ },
+ "cicerone": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "cicerone",
+ "Title": "Provide Tours of 'Shiny' Applications",
+ "Version": "1.0.4",
+ "Date": "2021-01-10",
+ "Authors@R": "\n c(\n person(given = \"John\",\n family = \"Coene\",\n role = c(\"aut\", \"cre\"),\n email = \"jcoenep@gmail.com\",\n comment = c(ORCID = \"0000-0002-6637-4107\")),\n person(given = \"Etienne\", \n family = \"Bacher\", \n role = \"ctb\", \n email = \"etienne.bacher@protonmail.com\")\n )",
+ "Description": "Provide step by step guided tours of 'Shiny' applications.",
+ "License": "MIT + file LICENSE",
+ "Encoding": "UTF-8",
+ "LazyData": "true",
+ "Imports": "R6, shiny, assertthat",
+ "RoxygenNote": "7.1.1.9000",
+ "URL": "https://cicerone.john-coene.com/",
+ "BugReports": "https://github.com/JohnCoene/cicerone/issues",
+ "NeedsCompilation": "no",
+ "Packaged": "2021-01-10 22:10:19 UTC; jp",
+ "Author": "John Coene [aut, cre] (),\n Etienne Bacher [ctb]",
+ "Maintainer": "John Coene ",
+ "Repository": "RSPM",
+ "Date/Publication": "2021-01-10 23:00:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:30:25 UTC; unix",
+ "RemotePkgRef": "cicerone@1.0.4",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"d2970ac168c0914bc9924713bdc39343\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "cicerone",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.0.4"
+ }
+ },
+ "cli": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "cli",
+ "Title": "Helpers for Developing Command Line Interfaces",
+ "Version": "3.6.4",
+ "Authors@R": "c(\n person(\"Gábor\", \"Csárdi\", , \"gabor@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Hadley\", \"Wickham\", role = \"ctb\"),\n person(\"Kirill\", \"Müller\", role = \"ctb\"),\n person(\"Salim\", \"Brüggemann\", , \"salim-b@pm.me\", role = \"ctb\",\n comment = c(ORCID = \"0000-0002-5329-5987\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "A suite of tools to build attractive command line interfaces\n ('CLIs'), from semantic elements: headings, lists, alerts, paragraphs,\n etc. Supports custom themes via a 'CSS'-like language. It also\n contains a number of lower level 'CLI' elements: rules, boxes, trees,\n and 'Unicode' symbols with 'ASCII' alternatives. It support ANSI\n colors and text styles as well.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://cli.r-lib.org, https://github.com/r-lib/cli",
+ "BugReports": "https://github.com/r-lib/cli/issues",
+ "Depends": "R (>= 3.4)",
+ "Imports": "utils",
+ "Suggests": "callr, covr, crayon, digest, glue (>= 1.6.0), grDevices,\nhtmltools, htmlwidgets, knitr, methods, processx, ps (>=\n1.3.4.9000), rlang (>= 1.0.2.9003), rmarkdown, rprojroot,\nrstudioapi, testthat (>= 3.2.0), tibble, whoami, withr",
+ "Config/Needs/website": "r-lib/asciicast, bench, brio, cpp11, decor, desc,\nfansi, prettyunits, sessioninfo, tidyverse/tidytemplate,\nusethis, vctrs",
+ "Config/testthat/edition": "3",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.3.2",
+ "NeedsCompilation": "yes",
+ "Packaged": "2025-02-11 21:14:07 UTC; gaborcsardi",
+ "Author": "Gábor Csárdi [aut, cre],\n Hadley Wickham [ctb],\n Kirill Müller [ctb],\n Salim Brüggemann [ctb] (),\n Posit Software, PBC [cph, fnd]",
+ "Maintainer": "Gábor Csárdi ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-02-13 05:20:02 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:22:18 UTC; unix",
+ "RemotePkgRef": "cli@3.6.4",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"48e641b5066b20ace37ebe004e899e32\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "cli",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "3.6.4"
+ }
+ },
+ "clipr": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Type": "Package",
+ "Package": "clipr",
+ "Title": "Read and Write from the System Clipboard",
+ "Version": "0.8.0",
+ "Authors@R": "c(\n person(\"Matthew\", \"Lincoln\", , \"matthew.d.lincoln@gmail.com\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0002-4387-3384\")),\n person(\"Louis\", \"Maddox\", role = \"ctb\"),\n person(\"Steve\", \"Simpson\", role = \"ctb\"),\n person(\"Jennifer\", \"Bryan\", role = \"ctb\")\n )",
+ "Description": "Simple utility functions to read from and write to\n the Windows, OS X, and X11 clipboards.",
+ "License": "GPL-3",
+ "URL": "https://github.com/mdlincoln/clipr,\nhttp://matthewlincoln.net/clipr/",
+ "BugReports": "https://github.com/mdlincoln/clipr/issues",
+ "Imports": "utils",
+ "Suggests": "covr, knitr, rmarkdown, rstudioapi (>= 0.5), testthat (>=\n2.0.0)",
+ "VignetteBuilder": "knitr",
+ "Encoding": "UTF-8",
+ "Language": "en-US",
+ "RoxygenNote": "7.1.2",
+ "SystemRequirements": "xclip (https://github.com/astrand/xclip) or xsel\n(http://www.vergenet.net/~conrad/software/xsel/) for accessing\nthe X11 clipboard, or wl-clipboard\n(https://github.com/bugaevc/wl-clipboard) for systems using\nWayland.",
+ "NeedsCompilation": "no",
+ "Packaged": "2022-02-19 02:20:21 UTC; mlincoln",
+ "Author": "Matthew Lincoln [aut, cre] (),\n Louis Maddox [ctb],\n Steve Simpson [ctb],\n Jennifer Bryan [ctb]",
+ "Maintainer": "Matthew Lincoln ",
+ "Repository": "RSPM",
+ "Date/Publication": "2022-02-22 00:58:45 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:21:05 UTC; unix",
+ "RemotePkgRef": "clipr@0.8.0",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"9aedce63b6b5d2942431d735f5512a20\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "clipr",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.8.0"
+ }
+ },
+ "commonmark": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "commonmark",
+ "Type": "Package",
+ "Title": "High Performance CommonMark and Github Markdown Rendering in R",
+ "Version": "1.9.5",
+ "Authors@R": "c(\n person(\"Jeroen\", \"Ooms\", ,\"jeroenooms@gmail.com\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0002-4035-0289\")),\n person(\"John MacFarlane\", role = \"cph\", comment = \"Author of cmark\"))",
+ "Description": "The CommonMark specification defines\n a rationalized version of markdown syntax. This package uses the 'cmark' \n reference implementation for converting markdown text into various formats\n including html, latex and groff man. In addition it exposes the markdown\n parse tree in xml format. Also includes opt-in support for GFM extensions\n including tables, autolinks, and strikethrough text.",
+ "License": "BSD_2_clause + file LICENSE",
+ "URL": "https://docs.ropensci.org/commonmark/\nhttps://ropensci.r-universe.dev/commonmark",
+ "BugReports": "https://github.com/r-lib/commonmark/issues",
+ "Suggests": "curl, testthat, xml2",
+ "RoxygenNote": "7.3.2",
+ "Language": "en-US",
+ "Encoding": "UTF-8",
+ "NeedsCompilation": "yes",
+ "Packaged": "2025-03-17 15:28:44 UTC; jeroen",
+ "Author": "Jeroen Ooms [aut, cre] (),\n John MacFarlane [cph] (Author of cmark)",
+ "Maintainer": "Jeroen Ooms ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-03-17 16:30:02 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:21:56 UTC; unix",
+ "RemotePkgRef": "commonmark@1.9.5",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"c0a28d84b07a56624382511efa8ea368\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "commonmark",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.9.5"
+ }
+ },
+ "config": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "config",
+ "Type": "Package",
+ "Title": "Manage Environment Specific Configuration Values",
+ "Version": "0.3.2",
+ "Authors@R": "c(\n person(\"JJ\", \"Allaire\", role = c(\"aut\"), email = \"jj@rstudio.com\"),\n person(\"Andrie\", \"de Vries\", role = \"cre\", email = \"apdevries@gmail.com\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "Imports": "yaml (>= 2.1.19)",
+ "Suggests": "testthat, knitr, rmarkdown, covr, spelling, withr",
+ "Description": "Manage configuration values across multiple environments (e.g.\n development, test, production). Read values using a function that determines\n the current environment and returns the appropriate value.",
+ "License": "GPL-3",
+ "URL": "https://rstudio.github.io/config/,\nhttps://github.com/rstudio/config",
+ "BugReports": "https://github.com/rstudio/config/issues",
+ "RoxygenNote": "7.2.3",
+ "VignetteBuilder": "knitr",
+ "Encoding": "UTF-8",
+ "Language": "en-US",
+ "Config/testthat/edition": "3",
+ "NeedsCompilation": "no",
+ "Packaged": "2023-08-30 09:28:23 UTC; apdev",
+ "Author": "JJ Allaire [aut],\n Andrie de Vries [cre],\n Posit Software, PBC [cph, fnd]",
+ "Maintainer": "Andrie de Vries ",
+ "Repository": "RSPM",
+ "Date/Publication": "2023-08-30 16:50:36 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:24:47 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "config",
+ "RemoteRef": "config",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.3.2"
+ }
+ },
+ "cpp11": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "cpp11",
+ "Title": "A C++11 Interface for R's C Interface",
+ "Version": "0.5.2",
+ "Authors@R": "\n c(\n person(\"Davis\", \"Vaughan\", email = \"davis@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0003-4777-038X\")),\n person(\"Jim\",\"Hester\", role = \"aut\", comment = c(ORCID = \"0000-0002-2739-7082\")),\n person(\"Romain\", \"François\", role = \"aut\", comment = c(ORCID = \"0000-0002-2444-4226\")),\n person(\"Benjamin\", \"Kietzman\", role = \"ctb\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "Provides a header only, C++11 interface to R's C\n interface. Compared to other approaches 'cpp11' strives to be safe\n against long jumps from the C API as well as C++ exceptions, conform\n to normal R function semantics and supports interaction with 'ALTREP'\n vectors.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://cpp11.r-lib.org, https://github.com/r-lib/cpp11",
+ "BugReports": "https://github.com/r-lib/cpp11/issues",
+ "Depends": "R (>= 4.0.0)",
+ "Suggests": "bench, brio, callr, cli, covr, decor, desc, ggplot2, glue,\nknitr, lobstr, mockery, progress, rmarkdown, scales, Rcpp,\ntestthat (>= 3.2.0), tibble, utils, vctrs, withr",
+ "VignetteBuilder": "knitr",
+ "Config/Needs/website": "tidyverse/tidytemplate",
+ "Config/testthat/edition": "3",
+ "Config/Needs/cpp11/cpp_register": "brio, cli, decor, desc, glue, tibble,\nvctrs",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.3.2",
+ "NeedsCompilation": "no",
+ "Packaged": "2025-03-03 22:24:28 UTC; davis",
+ "Author": "Davis Vaughan [aut, cre] (),\n Jim Hester [aut] (),\n Romain François [aut] (),\n Benjamin Kietzman [ctb],\n Posit Software, PBC [cph, fnd]",
+ "Maintainer": "Davis Vaughan ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-03-03 23:20:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:21:58 UTC; unix",
+ "RemotePkgRef": "cpp11@0.5.2",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"ba97f5505a6c6275b01b4318e4ea1f97\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "cpp11",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.5.2"
+ }
+ },
+ "crayon": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "crayon",
+ "Title": "Colored Terminal Output",
+ "Version": "1.5.3",
+ "Authors@R": "c(\n person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\")),\n person(\"Brodie\", \"Gaslam\", , \"brodie.gaslam@yahoo.com\", role = \"ctb\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "The crayon package is now superseded. Please use the 'cli'\n package for new projects. Colored terminal output on terminals that\n support 'ANSI' color and highlight codes. It also works in 'Emacs'\n 'ESS'. 'ANSI' color support is automatically detected. Colors and\n highlighting can be combined and nested. New styles can also be\n created easily. This package was inspired by the 'chalk' 'JavaScript'\n project.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://r-lib.github.io/crayon/, https://github.com/r-lib/crayon",
+ "BugReports": "https://github.com/r-lib/crayon/issues",
+ "Imports": "grDevices, methods, utils",
+ "Suggests": "mockery, rstudioapi, testthat, withr",
+ "Config/Needs/website": "tidyverse/tidytemplate",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.3.1",
+ "Collate": "'aaa-rstudio-detect.R' 'aaaa-rematch2.R'\n'aab-num-ansi-colors.R' 'aac-num-ansi-colors.R' 'ansi-256.R'\n'ansi-palette.R' 'combine.R' 'string.R' 'utils.R'\n'crayon-package.R' 'disposable.R' 'enc-utils.R' 'has_ansi.R'\n'has_color.R' 'link.R' 'styles.R' 'machinery.R' 'parts.R'\n'print.R' 'style-var.R' 'show.R' 'string_operations.R'",
+ "NeedsCompilation": "no",
+ "Packaged": "2024-06-20 11:49:08 UTC; gaborcsardi",
+ "Author": "Gábor Csárdi [aut, cre],\n Brodie Gaslam [ctb],\n Posit Software, PBC [cph, fnd]",
+ "Maintainer": "Gábor Csárdi ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-06-20 13:00:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:21:08 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "crayon",
+ "RemoteRef": "crayon",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.5.3"
+ }
+ },
+ "crosstalk": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "crosstalk",
+ "Type": "Package",
+ "Title": "Inter-Widget Interactivity for HTML Widgets",
+ "Version": "1.2.1",
+ "Authors@R": "c(\n person(\"Joe\", \"Cheng\", role = \"aut\", email = \"joe@posit.co\"),\n person(\"Carson\", \"Sievert\", role = c(\"aut\", \"cre\"),\n email = \"carson@posit.co\", comment = c(ORCID = \"0000-0002-4958-2844\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")),\n person(family = \"jQuery Foundation\", role = \"cph\",\n comment = \"jQuery library and jQuery UI library\"),\n person(family = \"jQuery contributors\", role = c(\"ctb\", \"cph\"),\n comment = \"jQuery library; authors listed in inst/www/shared/jquery-AUTHORS.txt\"),\n person(\"Mark\", \"Otto\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(\"Jacob\", \"Thornton\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(family = \"Bootstrap contributors\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(family = \"Twitter, Inc\", role = \"cph\",\n comment = \"Bootstrap library\"),\n person(\"Brian\", \"Reavis\", role = c(\"ctb\", \"cph\"),\n comment = \"selectize.js library\"),\n person(\"Kristopher Michael\", \"Kowal\", role = c(\"ctb\", \"cph\"),\n comment = \"es5-shim library\"),\n person(family = \"es5-shim contributors\", role = c(\"ctb\", \"cph\"),\n comment = \"es5-shim library\"),\n person(\"Denis\", \"Ineshin\", role = c(\"ctb\", \"cph\"),\n comment = \"ion.rangeSlider library\"),\n person(\"Sami\", \"Samhuri\", role = c(\"ctb\", \"cph\"),\n comment = \"Javascript strftime library\")\n )",
+ "Description": "Provides building blocks for allowing HTML widgets to communicate\n with each other, with Shiny or without (i.e. static .html files). Currently\n supports linked brushing and filtering.",
+ "License": "MIT + file LICENSE",
+ "Imports": "htmltools (>= 0.3.6), jsonlite, lazyeval, R6",
+ "Suggests": "shiny, ggplot2, testthat (>= 2.1.0), sass, bslib",
+ "URL": "https://rstudio.github.io/crosstalk/,\nhttps://github.com/rstudio/crosstalk",
+ "BugReports": "https://github.com/rstudio/crosstalk/issues",
+ "RoxygenNote": "7.2.3",
+ "Encoding": "UTF-8",
+ "NeedsCompilation": "no",
+ "Packaged": "2023-11-22 16:29:50 UTC; cpsievert",
+ "Author": "Joe Cheng [aut],\n Carson Sievert [aut, cre] (),\n Posit Software, PBC [cph, fnd],\n jQuery Foundation [cph] (jQuery library and jQuery UI library),\n jQuery contributors [ctb, cph] (jQuery library; authors listed in\n inst/www/shared/jquery-AUTHORS.txt),\n Mark Otto [ctb] (Bootstrap library),\n Jacob Thornton [ctb] (Bootstrap library),\n Bootstrap contributors [ctb] (Bootstrap library),\n Twitter, Inc [cph] (Bootstrap library),\n Brian Reavis [ctb, cph] (selectize.js library),\n Kristopher Michael Kowal [ctb, cph] (es5-shim library),\n es5-shim contributors [ctb, cph] (es5-shim library),\n Denis Ineshin [ctb, cph] (ion.rangeSlider library),\n Sami Samhuri [ctb, cph] (Javascript strftime library)",
+ "Maintainer": "Carson Sievert ",
+ "Repository": "RSPM",
+ "Date/Publication": "2023-11-23 08:50:07 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:24:01 UTC; unix",
+ "RemotePkgRef": "crosstalk@1.2.1",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"6deb0b0b3602a20b84d41fd4b5dd4614\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "crosstalk",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.2.1"
+ }
+ },
+ "curl": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "curl",
+ "Type": "Package",
+ "Title": "A Modern and Flexible Web Client for R",
+ "Version": "6.2.2",
+ "Authors@R": "c(\n person(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), email = \"jeroenooms@gmail.com\",\n comment = c(ORCID = \"0000-0002-4035-0289\")),\n person(\"Hadley\", \"Wickham\", role = \"ctb\"),\n person(\"Posit Software, PBC\", role = \"cph\"))",
+ "Description": "Bindings to 'libcurl' for performing fully\n configurable HTTP/FTP requests where responses can be processed in memory, on\n disk, or streaming via the callback or connection interfaces. Some knowledge\n of 'libcurl' is recommended; for a more-user-friendly web client see the \n 'httr2' package which builds on this package with http specific tools and logic.",
+ "License": "MIT + file LICENSE",
+ "SystemRequirements": "libcurl (>= 7.62): libcurl-devel (rpm) or\nlibcurl4-openssl-dev (deb)",
+ "URL": "https://jeroen.r-universe.dev/curl",
+ "BugReports": "https://github.com/jeroen/curl/issues",
+ "Suggests": "spelling, testthat (>= 1.0.0), knitr, jsonlite, later,\nrmarkdown, httpuv (>= 1.4.4), webutils",
+ "VignetteBuilder": "knitr",
+ "Depends": "R (>= 3.0.0)",
+ "RoxygenNote": "7.3.2.9000",
+ "Encoding": "UTF-8",
+ "Language": "en-US",
+ "NeedsCompilation": "yes",
+ "Packaged": "2025-03-23 13:24:53 UTC; jeroen",
+ "Author": "Jeroen Ooms [aut, cre] (),\n Hadley Wickham [ctb],\n Posit Software, PBC [cph]",
+ "Maintainer": "Jeroen Ooms ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-03-24 07:00:02 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:22:06 UTC; unix",
+ "RemotePkgRef": "curl@6.2.2",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"efca1b8911b41350aab9b22e3fba0643\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "curl",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "6.2.2"
+ }
+ },
+ "data.table": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "data.table",
+ "Version": "1.17.4",
+ "Title": "Extension of `data.frame`",
+ "Depends": "R (>= 3.3.0)",
+ "Imports": "methods",
+ "Suggests": "bit64 (>= 4.0.0), bit (>= 4.0.4), R.utils, xts, zoo (>=\n1.8-1), yaml, knitr, markdown",
+ "Description": "Fast aggregation of large data (e.g. 100GB in RAM), fast ordered joins, fast add/modify/delete of columns by group using no copies at all, list columns, friendly and fast character-separated-value read/write. Offers a natural and flexible syntax, for faster development.",
+ "License": "MPL-2.0 | file LICENSE",
+ "URL": "https://r-datatable.com, https://Rdatatable.gitlab.io/data.table,\nhttps://github.com/Rdatatable/data.table",
+ "BugReports": "https://github.com/Rdatatable/data.table/issues",
+ "VignetteBuilder": "knitr",
+ "Encoding": "UTF-8",
+ "ByteCompile": "TRUE",
+ "Authors@R": "c(\n person(\"Tyson\",\"Barrett\", role=c(\"aut\",\"cre\"), email=\"t.barrett88@gmail.com\", comment = c(ORCID=\"0000-0002-2137-1391\")),\n person(\"Matt\",\"Dowle\", role=\"aut\", email=\"mattjdowle@gmail.com\"),\n person(\"Arun\",\"Srinivasan\", role=\"aut\", email=\"asrini@pm.me\"),\n person(\"Jan\",\"Gorecki\", role=\"aut\"),\n person(\"Michael\",\"Chirico\", role=\"aut\", comment = c(ORCID=\"0000-0003-0787-087X\")),\n person(\"Toby\",\"Hocking\", role=\"aut\", comment = c(ORCID=\"0000-0002-3146-0865\")),\n person(\"Benjamin\",\"Schwendinger\",role=\"aut\", comment = c(ORCID=\"0000-0003-3315-8114\")),\n person(\"Ivan\", \"Krylov\", role=\"aut\", email=\"ikrylov@disroot.org\", comment = c(ORCID=\"0000-0002-0172-3812\")),\n person(\"Pasha\",\"Stetsenko\", role=\"ctb\"),\n person(\"Tom\",\"Short\", role=\"ctb\"),\n person(\"Steve\",\"Lianoglou\", role=\"ctb\"),\n person(\"Eduard\",\"Antonyan\", role=\"ctb\"),\n person(\"Markus\",\"Bonsch\", role=\"ctb\"),\n person(\"Hugh\",\"Parsonage\", role=\"ctb\"),\n person(\"Scott\",\"Ritchie\", role=\"ctb\"),\n person(\"Kun\",\"Ren\", role=\"ctb\"),\n person(\"Xianying\",\"Tan\", role=\"ctb\"),\n person(\"Rick\",\"Saporta\", role=\"ctb\"),\n person(\"Otto\",\"Seiskari\", role=\"ctb\"),\n person(\"Xianghui\",\"Dong\", role=\"ctb\"),\n person(\"Michel\",\"Lang\", role=\"ctb\"),\n person(\"Watal\",\"Iwasaki\", role=\"ctb\"),\n person(\"Seth\",\"Wenchel\", role=\"ctb\"),\n person(\"Karl\",\"Broman\", role=\"ctb\"),\n person(\"Tobias\",\"Schmidt\", role=\"ctb\"),\n person(\"David\",\"Arenburg\", role=\"ctb\"),\n person(\"Ethan\",\"Smith\", role=\"ctb\"),\n person(\"Francois\",\"Cocquemas\", role=\"ctb\"),\n person(\"Matthieu\",\"Gomez\", role=\"ctb\"),\n person(\"Philippe\",\"Chataignon\", role=\"ctb\"),\n person(\"Nello\",\"Blaser\", role=\"ctb\"),\n person(\"Dmitry\",\"Selivanov\", role=\"ctb\"),\n person(\"Andrey\",\"Riabushenko\", role=\"ctb\"),\n person(\"Cheng\",\"Lee\", role=\"ctb\"),\n person(\"Declan\",\"Groves\", role=\"ctb\"),\n person(\"Daniel\",\"Possenriede\", role=\"ctb\"),\n person(\"Felipe\",\"Parages\", role=\"ctb\"),\n person(\"Denes\",\"Toth\", role=\"ctb\"),\n person(\"Mus\",\"Yaramaz-David\", role=\"ctb\"),\n person(\"Ayappan\",\"Perumal\", role=\"ctb\"),\n person(\"James\",\"Sams\", role=\"ctb\"),\n person(\"Martin\",\"Morgan\", role=\"ctb\"),\n person(\"Michael\",\"Quinn\", role=\"ctb\"),\n person(\"@javrucebo\",\"\", role=\"ctb\"),\n person(\"@marc-outins\",\"\", role=\"ctb\"),\n person(\"Roy\",\"Storey\", role=\"ctb\"),\n person(\"Manish\",\"Saraswat\", role=\"ctb\"),\n person(\"Morgan\",\"Jacob\", role=\"ctb\"),\n person(\"Michael\",\"Schubmehl\", role=\"ctb\"),\n person(\"Davis\",\"Vaughan\", role=\"ctb\"),\n person(\"Leonardo\",\"Silvestri\", role=\"ctb\"),\n person(\"Jim\",\"Hester\", role=\"ctb\"),\n person(\"Anthony\",\"Damico\", role=\"ctb\"),\n person(\"Sebastian\",\"Freundt\", role=\"ctb\"),\n person(\"David\",\"Simons\", role=\"ctb\"),\n person(\"Elliott\",\"Sales de Andrade\", role=\"ctb\"),\n person(\"Cole\",\"Miller\", role=\"ctb\"),\n person(\"Jens Peder\",\"Meldgaard\", role=\"ctb\"),\n person(\"Vaclav\",\"Tlapak\", role=\"ctb\"),\n person(\"Kevin\",\"Ushey\", role=\"ctb\"),\n person(\"Dirk\",\"Eddelbuettel\", role=\"ctb\"),\n person(\"Tony\",\"Fischetti\", role=\"ctb\"),\n person(\"Ofek\",\"Shilon\", role=\"ctb\"),\n person(\"Vadim\",\"Khotilovich\", role=\"ctb\"),\n person(\"Hadley\",\"Wickham\", role=\"ctb\"),\n person(\"Bennet\",\"Becker\", role=\"ctb\"),\n person(\"Kyle\",\"Haynes\", role=\"ctb\"),\n person(\"Boniface Christian\",\"Kamgang\", role=\"ctb\"),\n person(\"Olivier\",\"Delmarcell\", role=\"ctb\"),\n person(\"Josh\",\"O'Brien\", role=\"ctb\"),\n person(\"Dereck\",\"de Mezquita\", role=\"ctb\"),\n person(\"Michael\",\"Czekanski\", role=\"ctb\"),\n person(\"Dmitry\", \"Shemetov\", role=\"ctb\"),\n person(\"Nitish\", \"Jha\", role=\"ctb\"),\n person(\"Joshua\", \"Wu\", role=\"ctb\"),\n person(\"Iago\", \"Giné-Vázquez\", role=\"ctb\"),\n person(\"Anirban\", \"Chetia\", role=\"ctb\"),\n person(\"Doris\", \"Amoakohene\", role=\"ctb\"),\n person(\"Angel\", \"Feliz\", role=\"ctb\"),\n person(\"Michael\",\"Young\", role=\"ctb\"),\n person(\"Mark\", \"Seeto\", role=\"ctb\"),\n person(\"Philippe\", \"Grosjean\", role=\"ctb\"),\n person(\"Vincent\", \"Runge\", role=\"ctb\"),\n person(\"Christian\", \"Wia\", role=\"ctb\"),\n person(\"Elise\", \"Maigné\", role=\"ctb\"),\n person(\"Vincent\", \"Rocher\", role=\"ctb\"),\n person(\"Vijay\", \"Lulla\", role=\"ctb\"),\n person(\"Aljaž\", \"Sluga\", role=\"ctb\"),\n person(\"Bill\", \"Evans\", role=\"ctb\")\n )",
+ "NeedsCompilation": "yes",
+ "Packaged": "2025-05-25 18:36:32 UTC; tysonbarrett",
+ "Author": "Tyson Barrett [aut, cre] (ORCID:\n ),\n Matt Dowle [aut],\n Arun Srinivasan [aut],\n Jan Gorecki [aut],\n Michael Chirico [aut] (ORCID: ),\n Toby Hocking [aut] (ORCID: ),\n Benjamin Schwendinger [aut] (ORCID:\n ),\n Ivan Krylov [aut] (ORCID: ),\n Pasha Stetsenko [ctb],\n Tom Short [ctb],\n Steve Lianoglou [ctb],\n Eduard Antonyan [ctb],\n Markus Bonsch [ctb],\n Hugh Parsonage [ctb],\n Scott Ritchie [ctb],\n Kun Ren [ctb],\n Xianying Tan [ctb],\n Rick Saporta [ctb],\n Otto Seiskari [ctb],\n Xianghui Dong [ctb],\n Michel Lang [ctb],\n Watal Iwasaki [ctb],\n Seth Wenchel [ctb],\n Karl Broman [ctb],\n Tobias Schmidt [ctb],\n David Arenburg [ctb],\n Ethan Smith [ctb],\n Francois Cocquemas [ctb],\n Matthieu Gomez [ctb],\n Philippe Chataignon [ctb],\n Nello Blaser [ctb],\n Dmitry Selivanov [ctb],\n Andrey Riabushenko [ctb],\n Cheng Lee [ctb],\n Declan Groves [ctb],\n Daniel Possenriede [ctb],\n Felipe Parages [ctb],\n Denes Toth [ctb],\n Mus Yaramaz-David [ctb],\n Ayappan Perumal [ctb],\n James Sams [ctb],\n Martin Morgan [ctb],\n Michael Quinn [ctb],\n @javrucebo [ctb],\n @marc-outins [ctb],\n Roy Storey [ctb],\n Manish Saraswat [ctb],\n Morgan Jacob [ctb],\n Michael Schubmehl [ctb],\n Davis Vaughan [ctb],\n Leonardo Silvestri [ctb],\n Jim Hester [ctb],\n Anthony Damico [ctb],\n Sebastian Freundt [ctb],\n David Simons [ctb],\n Elliott Sales de Andrade [ctb],\n Cole Miller [ctb],\n Jens Peder Meldgaard [ctb],\n Vaclav Tlapak [ctb],\n Kevin Ushey [ctb],\n Dirk Eddelbuettel [ctb],\n Tony Fischetti [ctb],\n Ofek Shilon [ctb],\n Vadim Khotilovich [ctb],\n Hadley Wickham [ctb],\n Bennet Becker [ctb],\n Kyle Haynes [ctb],\n Boniface Christian Kamgang [ctb],\n Olivier Delmarcell [ctb],\n Josh O'Brien [ctb],\n Dereck de Mezquita [ctb],\n Michael Czekanski [ctb],\n Dmitry Shemetov [ctb],\n Nitish Jha [ctb],\n Joshua Wu [ctb],\n Iago Giné-Vázquez [ctb],\n Anirban Chetia [ctb],\n Doris Amoakohene [ctb],\n Angel Feliz [ctb],\n Michael Young [ctb],\n Mark Seeto [ctb],\n Philippe Grosjean [ctb],\n Vincent Runge [ctb],\n Christian Wia [ctb],\n Elise Maigné [ctb],\n Vincent Rocher [ctb],\n Vijay Lulla [ctb],\n Aljaž Sluga [ctb],\n Bill Evans [ctb]",
+ "Maintainer": "Tyson Barrett ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-05-26 12:40:02 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:22:33 UTC; unix",
+ "RemotePkgRef": "data.table@1.17.4",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"2bc234b15f56d922e00a471340b384e9\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "data.table",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.17.4"
+ }
+ },
+ "datawizard": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Type": "Package",
+ "Package": "datawizard",
+ "Title": "Easy Data Wrangling and Statistical Transformations",
+ "Version": "1.1.0",
+ "Authors@R": "c(\n person(\"Indrajeet\", \"Patil\", , \"patilindrajeet.science@gmail.com\", role = \"aut\",\n comment = c(ORCID = \"0000-0003-1995-6531\")),\n person(\"Etienne\", \"Bacher\", , \"etienne.bacher@protonmail.com\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0002-9271-5075\")),\n person(\"Dominique\", \"Makowski\", , \"dom.makowski@gmail.com\", role = \"aut\",\n comment = c(ORCID = \"0000-0001-5375-9967\")),\n person(\"Daniel\", \"Lüdecke\", , \"d.luedecke@uke.de\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-8895-3206\")),\n person(\"Mattan S.\", \"Ben-Shachar\", , \"matanshm@post.bgu.ac.il\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-4287-4801\")),\n person(\"Brenton M.\", \"Wiernik\", , \"brenton@wiernik.org\", role = \"aut\",\n comment = c(ORCID = \"0000-0001-9560-6336\")),\n person(\"Rémi\", \"Thériault\", , \"remi.theriault@mail.mcgill.ca\", role = \"ctb\",\n comment = c(ORCID = \"0000-0003-4315-6788\")),\n person(\"Thomas J.\", \"Faulkenberry\", , \"faulkenberry@tarleton.edu\", role = \"rev\"),\n person(\"Robert\", \"Garrett\", , \"rcg4@illinois.edu\", role = \"rev\")\n )",
+ "Maintainer": "Etienne Bacher ",
+ "Description": "A lightweight package to assist in key steps involved in any data\n analysis workflow: (1) wrangling the raw data to get it in the needed form,\n (2) applying preprocessing steps and statistical transformations, and\n (3) compute statistical summaries of data properties and distributions.\n It is also the data wrangling backend for packages in 'easystats' ecosystem.\n References: Patil et al. (2022) .",
+ "License": "MIT + file LICENSE",
+ "URL": "https://easystats.github.io/datawizard/",
+ "BugReports": "https://github.com/easystats/datawizard/issues",
+ "Depends": "R (>= 4.0)",
+ "Imports": "insight (>= 1.2.0), stats, utils",
+ "Suggests": "bayestestR, boot, BH, brms, curl, data.table, dplyr (>= 1.1),\neffectsize, emmeans, gamm4, ggplot2 (>= 3.5.0), gt, haven,\nhttr, knitr, lme4, mediation, modelbased, parameters (>=\n0.21.7), poorman (>= 0.2.7), psych, readxl, readr, rio,\nrmarkdown, rstanarm, see, testthat (>= 3.2.1), tibble, tidyr,\nwithr",
+ "VignetteBuilder": "knitr",
+ "Encoding": "UTF-8",
+ "Language": "en-US",
+ "RoxygenNote": "7.3.2",
+ "Config/testthat/edition": "3",
+ "Config/testthat/parallel": "true",
+ "Config/Needs/website": "easystats/easystatstemplate",
+ "NeedsCompilation": "no",
+ "Packaged": "2025-05-09 16:54:52 UTC; etienne",
+ "Author": "Indrajeet Patil [aut] (ORCID: ),\n Etienne Bacher [aut, cre] (ORCID:\n ),\n Dominique Makowski [aut] (ORCID:\n ),\n Daniel Lüdecke [aut] (ORCID: ),\n Mattan S. Ben-Shachar [aut] (ORCID:\n ),\n Brenton M. Wiernik [aut] (ORCID:\n ),\n Rémi Thériault [ctb] (ORCID: ),\n Thomas J. Faulkenberry [rev],\n Robert Garrett [rev]",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-05-09 17:40:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:22:42 UTC; unix",
+ "RemotePkgRef": "datawizard@1.1.0",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"3569131e8d53e36e5d35c3b17ce41182\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "datawizard",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.1.0"
+ }
+ },
+ "desc": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "desc",
+ "Title": "Manipulate DESCRIPTION Files",
+ "Version": "1.4.3",
+ "Authors@R": "c(\n person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\")),\n person(\"Kirill\", \"Müller\", role = \"aut\"),\n person(\"Jim\", \"Hester\", , \"james.f.hester@gmail.com\", role = \"aut\"),\n person(\"Maëlle\", \"Salmon\", role = \"ctb\",\n comment = c(ORCID = \"0000-0002-2815-0399\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "Maintainer": "Gábor Csárdi ",
+ "Description": "Tools to read, write, create, and manipulate DESCRIPTION\n files. It is intended for packages that create or manipulate other\n packages.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://desc.r-lib.org/, https://github.com/r-lib/desc",
+ "BugReports": "https://github.com/r-lib/desc/issues",
+ "Depends": "R (>= 3.4)",
+ "Imports": "cli, R6, utils",
+ "Suggests": "callr, covr, gh, spelling, testthat, whoami, withr",
+ "Config/Needs/website": "tidyverse/tidytemplate",
+ "Config/testthat/edition": "3",
+ "Encoding": "UTF-8",
+ "Language": "en-US",
+ "RoxygenNote": "7.2.3",
+ "Collate": "'assertions.R' 'authors-at-r.R' 'built.R' 'classes.R'\n'collate.R' 'constants.R' 'deps.R' 'desc-package.R'\n'description.R' 'encoding.R' 'find-package-root.R' 'latex.R'\n'non-oo-api.R' 'package-archives.R' 'read.R' 'remotes.R'\n'str.R' 'syntax_checks.R' 'urls.R' 'utils.R' 'validate.R'\n'version.R'",
+ "NeedsCompilation": "no",
+ "Packaged": "2023-12-10 11:07:50 UTC; gaborcsardi",
+ "Author": "Gábor Csárdi [aut, cre],\n Kirill Müller [aut],\n Jim Hester [aut],\n Maëlle Salmon [ctb] (),\n Posit Software, PBC [cph, fnd]",
+ "Repository": "RSPM",
+ "Date/Publication": "2023-12-10 11:40:08 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:24:05 UTC; unix",
+ "RemotePkgRef": "desc@1.4.3",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"1e051f049925406874bf5e73af34caa0\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "desc",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.4.3"
+ }
+ },
+ "digest": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "digest",
+ "Authors@R": "c(person(\"Dirk\", \"Eddelbuettel\", role = c(\"aut\", \"cre\"), email = \"edd@debian.org\",\n comment = c(ORCID = \"0000-0001-6419-907X\")),\n person(\"Antoine\", \"Lucas\", role=\"ctb\"),\n person(\"Jarek\", \"Tuszynski\", role=\"ctb\"),\n person(\"Henrik\", \"Bengtsson\", role=\"ctb\", comment = c(ORCID = \"0000-0002-7579-5165\")),\n person(\"Simon\", \"Urbanek\", role=\"ctb\", comment = c(ORCID = \"0000-0003-2297-1732\")),\n person(\"Mario\", \"Frasca\", role=\"ctb\"),\n person(\"Bryan\", \"Lewis\", role=\"ctb\"),\n person(\"Murray\", \"Stokely\", role=\"ctb\"),\n person(\"Hannes\", \"Muehleisen\", role=\"ctb\"),\n person(\"Duncan\", \"Murdoch\", role=\"ctb\"),\n person(\"Jim\", \"Hester\", role=\"ctb\"),\n person(\"Wush\", \"Wu\", role=\"ctb\", comment = c(ORCID = \"0000-0001-5180-0567\")),\n person(\"Qiang\", \"Kou\", role=\"ctb\", comment = c(ORCID = \"0000-0001-6786-5453\")),\n person(\"Thierry\", \"Onkelinx\", role=\"ctb\", comment = c(ORCID = \"0000-0001-8804-4216\")),\n person(\"Michel\", \"Lang\", role=\"ctb\", comment = c(ORCID = \"0000-0001-9754-0393\")),\n person(\"Viliam\", \"Simko\", role=\"ctb\"),\n person(\"Kurt\", \"Hornik\", role=\"ctb\", comment = c(ORCID = \"0000-0003-4198-9911\")),\n person(\"Radford\", \"Neal\", role=\"ctb\", comment = c(ORCID = \"0000-0002-2473-3407\")),\n person(\"Kendon\", \"Bell\", role=\"ctb\", comment = c(ORCID = \"0000-0002-9093-8312\")),\n person(\"Matthew\", \"de Queljoe\", role=\"ctb\"),\n person(\"Dmitry\", \"Selivanov\", role=\"ctb\"),\n person(\"Ion\", \"Suruceanu\", role=\"ctb\"),\n person(\"Bill\", \"Denney\", role=\"ctb\"),\n person(\"Dirk\", \"Schumacher\", role=\"ctb\"),\n person(\"András\", \"Svraka\", role=\"ctb\"),\n person(\"Sergey\", \"Fedorov\", role=\"ctb\"),\n person(\"Will\", \"Landau\", role=\"ctb\", comment = c(ORCID = \"0000-0003-1878-3253\")),\n person(\"Floris\", \"Vanderhaeghe\", role=\"ctb\", comment = c(ORCID = \"0000-0002-6378-6229\")),\n person(\"Kevin\", \"Tappe\", role=\"ctb\"),\n person(\"Harris\", \"McGehee\", role=\"ctb\"),\n person(\"Tim\", \"Mastny\", role=\"ctb\"),\n person(\"Aaron\", \"Peikert\", role=\"ctb\", comment = c(ORCID = \"0000-0001-7813-818X\")),\n person(\"Mark\", \"van der Loo\", role=\"ctb\", comment = c(ORCID = \"0000-0002-9807-4686\")),\n person(\"Chris\", \"Muir\", role=\"ctb\", comment = c(ORCID = \"0000-0003-2555-3878\")),\n person(\"Moritz\", \"Beller\", role=\"ctb\", comment = c(ORCID = \"0000-0003-4852-0526\")),\n person(\"Sebastian\", \"Campbell\", role=\"ctb\"),\n person(\"Winston\", \"Chang\", role=\"ctb\", comment = c(ORCID = \"0000-0002-1576-2126\")),\n person(\"Dean\", \"Attali\", role=\"ctb\", comment = c(ORCID = \"0000-0002-5645-3493\")),\n person(\"Michael\", \"Chirico\", role=\"ctb\", comment = c(ORCID = \"0000-0003-0787-087X\")),\n person(\"Kevin\", \"Ushey\", role=\"ctb\"))",
+ "Version": "0.6.37",
+ "Date": "2024-08-19",
+ "Title": "Create Compact Hash Digests of R Objects",
+ "Description": "Implementation of a function 'digest()' for the creation of hash\n digests of arbitrary R objects (using the 'md5', 'sha-1', 'sha-256', 'crc32',\n 'xxhash', 'murmurhash', 'spookyhash', 'blake3', 'crc32c', 'xxh3_64', and 'xxh3_128'\n algorithms) permitting easy comparison of R language objects, as well as functions\n such as'hmac()' to create hash-based message authentication code. Please note that\n this package is not meant to be deployed for cryptographic purposes for which more\n comprehensive (and widely tested) libraries such as 'OpenSSL' should be used.",
+ "URL": "https://github.com/eddelbuettel/digest,\nhttps://dirk.eddelbuettel.com/code/digest.html",
+ "BugReports": "https://github.com/eddelbuettel/digest/issues",
+ "Depends": "R (>= 3.3.0)",
+ "Imports": "utils",
+ "License": "GPL (>= 2)",
+ "Suggests": "tinytest, simplermarkdown",
+ "VignetteBuilder": "simplermarkdown",
+ "Encoding": "UTF-8",
+ "NeedsCompilation": "yes",
+ "Packaged": "2024-08-19 12:16:05 UTC; edd",
+ "Author": "Dirk Eddelbuettel [aut, cre] (),\n Antoine Lucas [ctb],\n Jarek Tuszynski [ctb],\n Henrik Bengtsson [ctb] (),\n Simon Urbanek [ctb] (),\n Mario Frasca [ctb],\n Bryan Lewis [ctb],\n Murray Stokely [ctb],\n Hannes Muehleisen [ctb],\n Duncan Murdoch [ctb],\n Jim Hester [ctb],\n Wush Wu [ctb] (),\n Qiang Kou [ctb] (),\n Thierry Onkelinx [ctb] (),\n Michel Lang [ctb] (),\n Viliam Simko [ctb],\n Kurt Hornik [ctb] (),\n Radford Neal [ctb] (),\n Kendon Bell [ctb] (),\n Matthew de Queljoe [ctb],\n Dmitry Selivanov [ctb],\n Ion Suruceanu [ctb],\n Bill Denney [ctb],\n Dirk Schumacher [ctb],\n András Svraka [ctb],\n Sergey Fedorov [ctb],\n Will Landau [ctb] (),\n Floris Vanderhaeghe [ctb] (),\n Kevin Tappe [ctb],\n Harris McGehee [ctb],\n Tim Mastny [ctb],\n Aaron Peikert [ctb] (),\n Mark van der Loo [ctb] (),\n Chris Muir [ctb] (),\n Moritz Beller [ctb] (),\n Sebastian Campbell [ctb],\n Winston Chang [ctb] (),\n Dean Attali [ctb] (),\n Michael Chirico [ctb] (),\n Kevin Ushey [ctb]",
+ "Maintainer": "Dirk Eddelbuettel ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-08-19 14:10:07 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:22:00 UTC; unix",
+ "RemotePkgRef": "digest@0.6.37",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"1f636399baad4aa58dd0fc4be934fa81\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "digest",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.6.37"
+ }
+ },
+ "dplyr": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Type": "Package",
+ "Package": "dplyr",
+ "Title": "A Grammar of Data Manipulation",
+ "Version": "1.1.4",
+ "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0003-4757-117X\")),\n person(\"Romain\", \"François\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-2444-4226\")),\n person(\"Lionel\", \"Henry\", role = \"aut\"),\n person(\"Kirill\", \"Müller\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-1416-3412\")),\n person(\"Davis\", \"Vaughan\", , \"davis@posit.co\", role = \"aut\",\n comment = c(ORCID = \"0000-0003-4777-038X\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "A fast, consistent tool for working with data frame like\n objects, both in memory and out of memory.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://dplyr.tidyverse.org, https://github.com/tidyverse/dplyr",
+ "BugReports": "https://github.com/tidyverse/dplyr/issues",
+ "Depends": "R (>= 3.5.0)",
+ "Imports": "cli (>= 3.4.0), generics, glue (>= 1.3.2), lifecycle (>=\n1.0.3), magrittr (>= 1.5), methods, pillar (>= 1.9.0), R6,\nrlang (>= 1.1.0), tibble (>= 3.2.0), tidyselect (>= 1.2.0),\nutils, vctrs (>= 0.6.4)",
+ "Suggests": "bench, broom, callr, covr, DBI, dbplyr (>= 2.2.1), ggplot2,\nknitr, Lahman, lobstr, microbenchmark, nycflights13, purrr,\nrmarkdown, RMySQL, RPostgreSQL, RSQLite, stringi (>= 1.7.6),\ntestthat (>= 3.1.5), tidyr (>= 1.3.0), withr",
+ "VignetteBuilder": "knitr",
+ "Config/Needs/website": "tidyverse, shiny, pkgdown, tidyverse/tidytemplate",
+ "Config/testthat/edition": "3",
+ "Encoding": "UTF-8",
+ "LazyData": "true",
+ "RoxygenNote": "7.2.3",
+ "NeedsCompilation": "yes",
+ "Packaged": "2023-11-16 21:48:56 UTC; hadleywickham",
+ "Author": "Hadley Wickham [aut, cre] (),\n Romain François [aut] (),\n Lionel Henry [aut],\n Kirill Müller [aut] (),\n Davis Vaughan [aut] (),\n Posit Software, PBC [cph, fnd]",
+ "Maintainer": "Hadley Wickham ",
+ "Repository": "RSPM",
+ "Date/Publication": "2023-11-17 16:50:02 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:26:08 UTC; unix",
+ "RemotePkgRef": "dplyr@1.1.4",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"d9de2cab2817b731a4fa207cf7faba2c\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "dplyr",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.1.4"
+ }
+ },
+ "evaluate": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Type": "Package",
+ "Package": "evaluate",
+ "Title": "Parsing and Evaluation Tools that Provide More Details than the\nDefault",
+ "Version": "1.0.3",
+ "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Yihui\", \"Xie\", role = \"aut\",\n comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(\"Michael\", \"Lawrence\", role = \"ctb\"),\n person(\"Thomas\", \"Kluyver\", role = \"ctb\"),\n person(\"Jeroen\", \"Ooms\", role = \"ctb\"),\n person(\"Barret\", \"Schloerke\", role = \"ctb\"),\n person(\"Adam\", \"Ryczkowski\", role = \"ctb\"),\n person(\"Hiroaki\", \"Yutani\", role = \"ctb\"),\n person(\"Michel\", \"Lang\", role = \"ctb\"),\n person(\"Karolis\", \"Koncevičius\", role = \"ctb\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "Parsing and evaluation tools that make it easy to recreate\n the command line behaviour of R.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://evaluate.r-lib.org/, https://github.com/r-lib/evaluate",
+ "BugReports": "https://github.com/r-lib/evaluate/issues",
+ "Depends": "R (>= 3.6.0)",
+ "Suggests": "callr, covr, ggplot2 (>= 3.3.6), lattice, methods, pkgload,\nrlang, knitr, testthat (>= 3.0.0), withr",
+ "Config/Needs/website": "tidyverse/tidytemplate",
+ "Config/testthat/edition": "3",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.3.2",
+ "NeedsCompilation": "no",
+ "Packaged": "2025-01-10 22:27:28 UTC; hadleywickham",
+ "Author": "Hadley Wickham [aut, cre],\n Yihui Xie [aut] (),\n Michael Lawrence [ctb],\n Thomas Kluyver [ctb],\n Jeroen Ooms [ctb],\n Barret Schloerke [ctb],\n Adam Ryczkowski [ctb],\n Hiroaki Yutani [ctb],\n Michel Lang [ctb],\n Karolis Koncevičius [ctb],\n Posit Software, PBC [cph, fnd]",
+ "Maintainer": "Hadley Wickham ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-01-10 23:00:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:21:20 UTC; unix",
+ "RemotePkgRef": "evaluate@1.0.3",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"fa9cba67dc7e4bf6315db36b4900ace8\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "evaluate",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.0.3"
+ }
+ },
+ "fansi": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "fansi",
+ "Title": "ANSI Control Sequence Aware String Functions",
+ "Description": "Counterparts to R string manipulation functions that account for\n the effects of ANSI text formatting control sequences.",
+ "Version": "1.0.6",
+ "Authors@R": "c(\n person(\"Brodie\", \"Gaslam\", email=\"brodie.gaslam@yahoo.com\",\n role=c(\"aut\", \"cre\")),\n person(\"Elliott\", \"Sales De Andrade\", role=\"ctb\"),\n person(family=\"R Core Team\",\n email=\"R-core@r-project.org\", role=\"cph\",\n comment=\"UTF8 byte length calcs from src/util.c\"\n ))",
+ "Depends": "R (>= 3.1.0)",
+ "License": "GPL-2 | GPL-3",
+ "URL": "https://github.com/brodieG/fansi",
+ "BugReports": "https://github.com/brodieG/fansi/issues",
+ "VignetteBuilder": "knitr",
+ "Suggests": "unitizer, knitr, rmarkdown",
+ "Imports": "grDevices, utils",
+ "RoxygenNote": "7.2.3",
+ "Encoding": "UTF-8",
+ "Collate": "'constants.R' 'fansi-package.R' 'internal.R' 'load.R' 'misc.R'\n'nchar.R' 'strwrap.R' 'strtrim.R' 'strsplit.R' 'substr2.R'\n'trimws.R' 'tohtml.R' 'unhandled.R' 'normalize.R' 'sgr.R'",
+ "NeedsCompilation": "yes",
+ "Packaged": "2023-12-06 00:59:41 UTC; bg",
+ "Author": "Brodie Gaslam [aut, cre],\n Elliott Sales De Andrade [ctb],\n R Core Team [cph] (UTF8 byte length calcs from src/util.c)",
+ "Maintainer": "Brodie Gaslam ",
+ "Repository": "RSPM",
+ "Date/Publication": "2023-12-08 03:30:02 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:22:17 UTC; unix",
+ "RemotePkgRef": "fansi@1.0.6",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"4a8aae729e5935072e078657693a77ec\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "fansi",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.0.6"
+ }
+ },
+ "farver": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Type": "Package",
+ "Package": "farver",
+ "Title": "High Performance Colour Space Manipulation",
+ "Version": "2.1.2",
+ "Authors@R": "c(\n person(\"Thomas Lin\", \"Pedersen\", , \"thomas.pedersen@posit.co\", role = c(\"cre\", \"aut\"),\n comment = c(ORCID = \"0000-0002-5147-4711\")),\n person(\"Berendea\", \"Nicolae\", role = \"aut\",\n comment = \"Author of the ColorSpace C++ library\"),\n person(\"Romain\", \"François\", , \"romain@purrple.cat\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-2444-4226\")),\n person(\"Posit, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "The encoding of colour can be handled in many different ways,\n using different colour spaces. As different colour spaces have\n different uses, efficient conversion between these representations are\n important. The 'farver' package provides a set of functions that gives\n access to very fast colour space conversion and comparisons\n implemented in C++, and offers speed improvements over the\n 'convertColor' function in the 'grDevices' package.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://farver.data-imaginist.com,\nhttps://github.com/thomasp85/farver",
+ "BugReports": "https://github.com/thomasp85/farver/issues",
+ "Suggests": "covr, testthat (>= 3.0.0)",
+ "Config/testthat/edition": "3",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.3.1",
+ "NeedsCompilation": "yes",
+ "Packaged": "2024-05-13 08:31:27 UTC; thomas",
+ "Author": "Thomas Lin Pedersen [cre, aut]\n (),\n Berendea Nicolae [aut] (Author of the ColorSpace C++ library),\n Romain François [aut] (),\n Posit, PBC [cph, fnd]",
+ "Maintainer": "Thomas Lin Pedersen ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-05-13 09:33:09 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:21:14 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "farver",
+ "RemoteRef": "farver",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "2.1.2"
+ }
+ },
+ "fastmap": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "fastmap",
+ "Title": "Fast Data Structures",
+ "Version": "1.2.0",
+ "Authors@R": "c(\n person(\"Winston\", \"Chang\", email = \"winston@posit.co\", role = c(\"aut\", \"cre\")),\n person(given = \"Posit Software, PBC\", role = c(\"cph\", \"fnd\")),\n person(given = \"Tessil\", role = \"cph\", comment = \"hopscotch_map library\")\n )",
+ "Description": "Fast implementation of data structures, including a key-value\n store, stack, and queue. Environments are commonly used as key-value stores\n in R, but every time a new key is used, it is added to R's global symbol\n table, causing a small amount of memory leakage. This can be problematic in\n cases where many different keys are used. Fastmap avoids this memory leak\n issue by implementing the map using data structures in C++.",
+ "License": "MIT + file LICENSE",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.2.3",
+ "Suggests": "testthat (>= 2.1.1)",
+ "URL": "https://r-lib.github.io/fastmap/, https://github.com/r-lib/fastmap",
+ "BugReports": "https://github.com/r-lib/fastmap/issues",
+ "NeedsCompilation": "yes",
+ "Packaged": "2024-05-14 17:54:13 UTC; winston",
+ "Author": "Winston Chang [aut, cre],\n Posit Software, PBC [cph, fnd],\n Tessil [cph] (hopscotch_map library)",
+ "Maintainer": "Winston Chang ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-05-15 09:00:07 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:21:05 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "fastmap",
+ "RemoteRef": "fastmap",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.2.0"
+ }
+ },
+ "fontawesome": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Type": "Package",
+ "Package": "fontawesome",
+ "Version": "0.5.3",
+ "Title": "Easily Work with 'Font Awesome' Icons",
+ "Description": "Easily and flexibly insert 'Font Awesome' icons into 'R Markdown'\n documents and 'Shiny' apps. These icons can be inserted into HTML content\n through inline 'SVG' tags or 'i' tags. There is also a utility function for\n exporting 'Font Awesome' icons as 'PNG' images for those situations where\n raster graphics are needed.",
+ "Authors@R": "c(\n person(\"Richard\", \"Iannone\", , \"rich@posit.co\", c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0003-3925-190X\")),\n person(\"Christophe\", \"Dervieux\", , \"cderv@posit.co\", role = \"ctb\",\n comment = c(ORCID = \"0000-0003-4474-2498\")),\n person(\"Winston\", \"Chang\", , \"winston@posit.co\", role = \"ctb\"),\n person(\"Dave\", \"Gandy\", role = c(\"ctb\", \"cph\"),\n comment = \"Font-Awesome font\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "License": "MIT + file LICENSE",
+ "URL": "https://github.com/rstudio/fontawesome,\nhttps://rstudio.github.io/fontawesome/",
+ "BugReports": "https://github.com/rstudio/fontawesome/issues",
+ "Encoding": "UTF-8",
+ "ByteCompile": "true",
+ "RoxygenNote": "7.3.2",
+ "Depends": "R (>= 3.3.0)",
+ "Imports": "rlang (>= 1.0.6), htmltools (>= 0.5.1.1)",
+ "Suggests": "covr, dplyr (>= 1.0.8), gt (>= 0.9.0), knitr (>= 1.31),\ntestthat (>= 3.0.0), rsvg",
+ "Config/testthat/edition": "3",
+ "NeedsCompilation": "no",
+ "Packaged": "2024-11-16 17:06:16 UTC; riannone",
+ "Author": "Richard Iannone [aut, cre] (),\n Christophe Dervieux [ctb] (),\n Winston Chang [ctb],\n Dave Gandy [ctb, cph] (Font-Awesome font),\n Posit Software, PBC [cph, fnd]",
+ "Maintainer": "Richard Iannone ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-11-16 17:30:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:23:55 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "fontawesome",
+ "RemoteRef": "fontawesome",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.5.3"
+ }
+ },
+ "forcats": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "forcats",
+ "Title": "Tools for Working with Categorical Variables (Factors)",
+ "Version": "1.0.0",
+ "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", role = c(\"aut\", \"cre\")),\n person(\"RStudio\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "Helpers for reordering factor levels (including moving\n specified levels to front, ordering by first appearance, reversing,\n and randomly shuffling), and tools for modifying factor levels\n (including collapsing rare levels into other, 'anonymising', and\n manually 'recoding').",
+ "License": "MIT + file LICENSE",
+ "URL": "https://forcats.tidyverse.org/,\nhttps://github.com/tidyverse/forcats",
+ "BugReports": "https://github.com/tidyverse/forcats/issues",
+ "Depends": "R (>= 3.4)",
+ "Imports": "cli (>= 3.4.0), glue, lifecycle, magrittr, rlang (>= 1.0.0),\ntibble",
+ "Suggests": "covr, dplyr, ggplot2, knitr, readr, rmarkdown, testthat (>=\n3.0.0), withr",
+ "VignetteBuilder": "knitr",
+ "Config/Needs/website": "tidyverse/tidytemplate",
+ "Config/testthat/edition": "3",
+ "Encoding": "UTF-8",
+ "LazyData": "true",
+ "RoxygenNote": "7.2.3",
+ "NeedsCompilation": "no",
+ "Packaged": "2023-01-27 14:11:11 UTC; hadleywickham",
+ "Author": "Hadley Wickham [aut, cre],\n RStudio [cph, fnd]",
+ "Maintainer": "Hadley Wickham ",
+ "Repository": "RSPM",
+ "Date/Publication": "2023-01-29 22:20:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:26:08 UTC; unix",
+ "RemotePkgRef": "forcats@1.0.0",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"c1c2e0eaf54dbd3208b127b7aef9b9ce\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "forcats",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.0.0"
+ }
+ },
+ "fs": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "fs",
+ "Title": "Cross-Platform File System Operations Based on 'libuv'",
+ "Version": "1.6.5",
+ "Authors@R": "c(\n person(\"Jim\", \"Hester\", role = \"aut\"),\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\"),\n person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\")),\n person(\"libuv project contributors\", role = \"cph\",\n comment = \"libuv library\"),\n person(\"Joyent, Inc. and other Node contributors\", role = \"cph\",\n comment = \"libuv library\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "A cross-platform interface to file system operations, built\n on top of the 'libuv' C library.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://fs.r-lib.org, https://github.com/r-lib/fs",
+ "BugReports": "https://github.com/r-lib/fs/issues",
+ "Depends": "R (>= 3.6)",
+ "Imports": "methods",
+ "Suggests": "covr, crayon, knitr, pillar (>= 1.0.0), rmarkdown, spelling,\ntestthat (>= 3.0.0), tibble (>= 1.1.0), vctrs (>= 0.3.0), withr",
+ "VignetteBuilder": "knitr",
+ "ByteCompile": "true",
+ "Config/Needs/website": "tidyverse/tidytemplate",
+ "Config/testthat/edition": "3",
+ "Copyright": "file COPYRIGHTS",
+ "Encoding": "UTF-8",
+ "Language": "en-US",
+ "RoxygenNote": "7.2.3",
+ "SystemRequirements": "GNU make",
+ "NeedsCompilation": "yes",
+ "Packaged": "2024-10-28 22:30:40 UTC; gaborcsardi",
+ "Author": "Jim Hester [aut],\n Hadley Wickham [aut],\n Gábor Csárdi [aut, cre],\n libuv project contributors [cph] (libuv library),\n Joyent, Inc. and other Node contributors [cph] (libuv library),\n Posit Software, PBC [cph, fnd]",
+ "Maintainer": "Gábor Csárdi ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-10-30 08:40:02 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:21:22 UTC; unix",
+ "RemotePkgRef": "fs@1.6.5",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"cffb87ad896d6e13912e5b1f3686ea54\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "fs",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.6.5"
+ }
+ },
+ "generics": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "generics",
+ "Title": "Common S3 Generics not Provided by Base R Methods Related to\nModel Fitting",
+ "Version": "0.1.3",
+ "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", role = c(\"aut\", \"cre\")),\n person(\"Max\", \"Kuhn\", , \"max@rstudio.com\", role = \"aut\"),\n person(\"Davis\", \"Vaughan\", , \"davis@rstudio.com\", role = \"aut\"),\n person(\"RStudio\", role = \"cph\")\n )",
+ "Description": "In order to reduce potential package dependencies and\n conflicts, generics provides a number of commonly used S3 generics.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://generics.r-lib.org, https://github.com/r-lib/generics",
+ "BugReports": "https://github.com/r-lib/generics/issues",
+ "Depends": "R (>= 3.2)",
+ "Imports": "methods",
+ "Suggests": "covr, pkgload, testthat (>= 3.0.0), tibble, withr",
+ "Config/Needs/website": "tidyverse/tidytemplate",
+ "Config/testthat/edition": "3",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.2.0",
+ "NeedsCompilation": "no",
+ "Packaged": "2022-07-05 14:52:13 UTC; davis",
+ "Author": "Hadley Wickham [aut, cre],\n Max Kuhn [aut],\n Davis Vaughan [aut],\n RStudio [cph]",
+ "Maintainer": "Hadley Wickham ",
+ "Repository": "RSPM",
+ "Date/Publication": "2022-07-05 19:40:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:22:01 UTC; unix",
+ "RemotePkgRef": "generics@0.1.3",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"51de14c8754af5997f9ebf4a8af931a5\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "generics",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.1.3"
+ }
+ },
+ "ggcorrplot": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Type": "Package",
+ "Package": "ggcorrplot",
+ "Title": "Visualization of a Correlation Matrix using 'ggplot2'",
+ "Version": "0.1.4.1",
+ "Authors@R": "\n c(person(given = \"Alboukadel\",\n family = \"Kassambara\",\n role = c(\"aut\", \"cre\"),\n email = \"alboukadel.kassambara@gmail.com\"),\n person(given = \"Indrajeet\",\n family = \"Patil\",\n role = \"ctb\",\n email = \"patilindrajeet.science@gmail.com\",\n comment = c(ORCID = \"0000-0003-1995-6531\", Twitter = \"@patilindrajeets\")))",
+ "Description": "The 'ggcorrplot' package can be used to visualize easily a\n correlation matrix using 'ggplot2'. It provides a solution for\n reordering the correlation matrix and displays the significance level\n on the plot. It also includes a function for computing a matrix of\n correlation p-values.",
+ "License": "GPL-2",
+ "URL": "http://www.sthda.com/english/wiki/ggcorrplot-visualization-of-a-correlation-matrix-using-ggplot2",
+ "BugReports": "https://github.com/kassambara/ggcorrplot/issues",
+ "Depends": "R (>= 3.3), ggplot2 (>= 3.3.6)",
+ "Imports": "reshape2, stats",
+ "Suggests": "testthat (>= 3.0.0), knitr, spelling, vdiffr (>= 1.0.0)",
+ "Encoding": "UTF-8",
+ "Language": "en-US",
+ "RoxygenNote": "7.1.0",
+ "Config/testthat/edition": "3",
+ "NeedsCompilation": "no",
+ "Packaged": "2023-09-05 15:45:33 UTC; hornik",
+ "Author": "Alboukadel Kassambara [aut, cre],\n Indrajeet Patil [ctb] (,\n @patilindrajeets)",
+ "Maintainer": "Alboukadel Kassambara ",
+ "Repository": "RSPM",
+ "Date/Publication": "2023-09-05 15:50:48 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:33:25 UTC; unix",
+ "RemotePkgRef": "ggcorrplot@0.1.4.1",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"445a27fdb35ef041f7852ede244ae18d\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "ggcorrplot",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.1.4.1"
+ }
+ },
+ "ggplot2": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "ggplot2",
+ "Version": "3.5.2",
+ "Title": "Create Elegant Data Visualisations Using the Grammar of Graphics",
+ "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\",\n comment = c(ORCID = \"0000-0003-4757-117X\")),\n person(\"Winston\", \"Chang\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-1576-2126\")),\n person(\"Lionel\", \"Henry\", role = \"aut\"),\n person(\"Thomas Lin\", \"Pedersen\", , \"thomas.pedersen@posit.co\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0002-5147-4711\")),\n person(\"Kohske\", \"Takahashi\", role = \"aut\"),\n person(\"Claus\", \"Wilke\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-7470-9261\")),\n person(\"Kara\", \"Woo\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-5125-4188\")),\n person(\"Hiroaki\", \"Yutani\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-3385-7233\")),\n person(\"Dewey\", \"Dunnington\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-9415-4582\")),\n person(\"Teun\", \"van den Brand\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-9335-7468\")),\n person(\"Posit, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "A system for 'declaratively' creating graphics, based on \"The\n Grammar of Graphics\". You provide the data, tell 'ggplot2' how to map\n variables to aesthetics, what graphical primitives to use, and it\n takes care of the details.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://ggplot2.tidyverse.org,\nhttps://github.com/tidyverse/ggplot2",
+ "BugReports": "https://github.com/tidyverse/ggplot2/issues",
+ "Depends": "R (>= 3.5)",
+ "Imports": "cli, glue, grDevices, grid, gtable (>= 0.1.1), isoband,\nlifecycle (> 1.0.1), MASS, mgcv, rlang (>= 1.1.0), scales (>=\n1.3.0), stats, tibble, vctrs (>= 0.6.0), withr (>= 2.5.0)",
+ "Suggests": "covr, dplyr, ggplot2movies, hexbin, Hmisc, knitr, mapproj,\nmaps, multcomp, munsell, nlme, profvis, quantreg, ragg (>=\n1.2.6), RColorBrewer, rmarkdown, rpart, sf (>= 0.7-3), svglite\n(>= 2.1.2), testthat (>= 3.1.2), vdiffr (>= 1.0.6), xml2",
+ "Enhances": "sp",
+ "VignetteBuilder": "knitr",
+ "Config/Needs/website": "ggtext, tidyr, forcats, tidyverse/tidytemplate",
+ "Config/testthat/edition": "3",
+ "Encoding": "UTF-8",
+ "LazyData": "true",
+ "RoxygenNote": "7.3.2",
+ "Collate": "'ggproto.R' 'ggplot-global.R' 'aaa-.R'\n'aes-colour-fill-alpha.R' 'aes-evaluation.R'\n'aes-group-order.R' 'aes-linetype-size-shape.R'\n'aes-position.R' 'compat-plyr.R' 'utilities.R' 'aes.R'\n'utilities-checks.R' 'legend-draw.R' 'geom-.R'\n'annotation-custom.R' 'annotation-logticks.R' 'geom-polygon.R'\n'geom-map.R' 'annotation-map.R' 'geom-raster.R'\n'annotation-raster.R' 'annotation.R' 'autolayer.R' 'autoplot.R'\n'axis-secondary.R' 'backports.R' 'bench.R' 'bin.R' 'coord-.R'\n'coord-cartesian-.R' 'coord-fixed.R' 'coord-flip.R'\n'coord-map.R' 'coord-munch.R' 'coord-polar.R'\n'coord-quickmap.R' 'coord-radial.R' 'coord-sf.R'\n'coord-transform.R' 'data.R' 'docs_layer.R' 'facet-.R'\n'facet-grid-.R' 'facet-null.R' 'facet-wrap.R' 'fortify-lm.R'\n'fortify-map.R' 'fortify-multcomp.R' 'fortify-spatial.R'\n'fortify.R' 'stat-.R' 'geom-abline.R' 'geom-rect.R'\n'geom-bar.R' 'geom-bin2d.R' 'geom-blank.R' 'geom-boxplot.R'\n'geom-col.R' 'geom-path.R' 'geom-contour.R' 'geom-count.R'\n'geom-crossbar.R' 'geom-segment.R' 'geom-curve.R'\n'geom-defaults.R' 'geom-ribbon.R' 'geom-density.R'\n'geom-density2d.R' 'geom-dotplot.R' 'geom-errorbar.R'\n'geom-errorbarh.R' 'geom-freqpoly.R' 'geom-function.R'\n'geom-hex.R' 'geom-histogram.R' 'geom-hline.R' 'geom-jitter.R'\n'geom-label.R' 'geom-linerange.R' 'geom-point.R'\n'geom-pointrange.R' 'geom-quantile.R' 'geom-rug.R' 'geom-sf.R'\n'geom-smooth.R' 'geom-spoke.R' 'geom-text.R' 'geom-tile.R'\n'geom-violin.R' 'geom-vline.R' 'ggplot2-package.R'\n'grob-absolute.R' 'grob-dotstack.R' 'grob-null.R' 'grouping.R'\n'theme-elements.R' 'guide-.R' 'guide-axis.R'\n'guide-axis-logticks.R' 'guide-axis-stack.R'\n'guide-axis-theta.R' 'guide-legend.R' 'guide-bins.R'\n'guide-colorbar.R' 'guide-colorsteps.R' 'guide-custom.R'\n'layer.R' 'guide-none.R' 'guide-old.R' 'guides-.R'\n'guides-grid.R' 'hexbin.R' 'import-standalone-obj-type.R'\n'import-standalone-types-check.R' 'labeller.R' 'labels.R'\n'layer-sf.R' 'layout.R' 'limits.R' 'margins.R' 'performance.R'\n'plot-build.R' 'plot-construction.R' 'plot-last.R' 'plot.R'\n'position-.R' 'position-collide.R' 'position-dodge.R'\n'position-dodge2.R' 'position-identity.R' 'position-jitter.R'\n'position-jitterdodge.R' 'position-nudge.R' 'position-stack.R'\n'quick-plot.R' 'reshape-add-margins.R' 'save.R' 'scale-.R'\n'scale-alpha.R' 'scale-binned.R' 'scale-brewer.R'\n'scale-colour.R' 'scale-continuous.R' 'scale-date.R'\n'scale-discrete-.R' 'scale-expansion.R' 'scale-gradient.R'\n'scale-grey.R' 'scale-hue.R' 'scale-identity.R'\n'scale-linetype.R' 'scale-linewidth.R' 'scale-manual.R'\n'scale-shape.R' 'scale-size.R' 'scale-steps.R' 'scale-type.R'\n'scale-view.R' 'scale-viridis.R' 'scales-.R' 'stat-align.R'\n'stat-bin.R' 'stat-bin2d.R' 'stat-bindot.R' 'stat-binhex.R'\n'stat-boxplot.R' 'stat-contour.R' 'stat-count.R'\n'stat-density-2d.R' 'stat-density.R' 'stat-ecdf.R'\n'stat-ellipse.R' 'stat-function.R' 'stat-identity.R'\n'stat-qq-line.R' 'stat-qq.R' 'stat-quantilemethods.R'\n'stat-sf-coordinates.R' 'stat-sf.R' 'stat-smooth-methods.R'\n'stat-smooth.R' 'stat-sum.R' 'stat-summary-2d.R'\n'stat-summary-bin.R' 'stat-summary-hex.R' 'stat-summary.R'\n'stat-unique.R' 'stat-ydensity.R' 'summarise-plot.R'\n'summary.R' 'theme.R' 'theme-defaults.R' 'theme-current.R'\n'utilities-break.R' 'utilities-grid.R' 'utilities-help.R'\n'utilities-matrix.R' 'utilities-patterns.R'\n'utilities-resolution.R' 'utilities-tidy-eval.R' 'zxx.R'\n'zzz.R'",
+ "NeedsCompilation": "no",
+ "Packaged": "2025-04-08 10:58:01 UTC; thomas",
+ "Author": "Hadley Wickham [aut] (),\n Winston Chang [aut] (),\n Lionel Henry [aut],\n Thomas Lin Pedersen [aut, cre]\n (),\n Kohske Takahashi [aut],\n Claus Wilke [aut] (),\n Kara Woo [aut] (),\n Hiroaki Yutani [aut] (),\n Dewey Dunnington [aut] (),\n Teun van den Brand [aut] (),\n Posit, PBC [cph, fnd]",
+ "Maintainer": "Thomas Lin Pedersen ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-04-09 09:40:10 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:33:02 UTC; unix",
+ "RemotePkgRef": "ggplot2@3.5.2",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"e4607496c32c47d0127305ebcfdc8b84\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "ggplot2",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "3.5.2"
+ }
+ },
+ "ggstats": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "ggstats",
+ "Type": "Package",
+ "Title": "Extension to 'ggplot2' for Plotting Stats",
+ "Version": "0.9.0",
+ "Authors@R": "c(\n person(\n \"Joseph\", \"Larmarange\", ,\n \"joseph@larmarange.net\",\n role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0001-7097-700X\")\n )\n )",
+ "Description": "Provides new statistics, new geometries and new positions for \n 'ggplot2' and a suite of functions to facilitate the creation of \n statistical plots.",
+ "License": "GPL (>= 3)",
+ "URL": "https://larmarange.github.io/ggstats/,\nhttps://github.com/larmarange/ggstats",
+ "BugReports": "https://github.com/larmarange/ggstats/issues",
+ "Depends": "R (>= 4.2)",
+ "Imports": "cli, dplyr, forcats, ggplot2 (>= 3.4.0), lifecycle, patchwork,\npurrr, rlang, scales, stats, stringr, utils, tidyr",
+ "Suggests": "betareg, broom, broom.helpers (>= 1.20.0), emmeans, glue,\ngtsummary, knitr, labelled (>= 2.11.0), reshape, rmarkdown,\nnnet, parameters, pscl, testthat (>= 3.0.0), spelling, survey,\nsurvival, vdiffr",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.3.2",
+ "Config/testthat/edition": "3",
+ "Language": "en-US",
+ "VignetteBuilder": "knitr",
+ "NeedsCompilation": "no",
+ "Packaged": "2025-03-10 10:35:16 UTC; josep",
+ "Author": "Joseph Larmarange [aut, cre] ()",
+ "Maintainer": "Joseph Larmarange ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-03-10 11:20:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:33:36 UTC; unix",
+ "RemotePkgRef": "ggstats@0.9.0",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"8930342c33ec7bea26562acd7b1bcddb\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "ggstats",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.9.0"
+ }
+ },
+ "ggsurvfit": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "ggsurvfit",
+ "Title": "Flexible Time-to-Event Figures",
+ "Version": "1.1.0",
+ "Authors@R": "c(\n person(\"Daniel D.\", \"Sjoberg\", , \"danield.sjoberg@gmail.com\", role = c(\"aut\", \"cre\", \"cph\"),\n comment = c(ORCID = \"0000-0003-0862-2018\")),\n person(\"Mark\", \"Baillie\", , \"bailliem@gmail.com\", role = \"aut\"),\n person(\"Charlotta\", \"Fruechtenicht\", , \"charlotta.fruechtenicht@roche.com\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-6689-6423\")),\n person(\"Steven\", \"Haesendonckx\", , \"shaesen2@its.jnj.com\", role = \"aut\",\n comment = c(ORCID = \"0000-0001-8222-3686\")),\n person(\"Tim\", \"Treis\", , \"tim.treis@outlook.de\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-9686-4799\"))\n )",
+ "Description": "Ease the creation of time-to-event (i.e. survival) endpoint\n figures. The modular functions create figures ready for publication.\n Each of the functions that add to or modify the figure are written as\n proper 'ggplot2' geoms or stat methods, allowing the functions from\n this package to be combined with any function or customization from\n 'ggplot2' and other 'ggplot2' extension packages.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://github.com/pharmaverse/ggsurvfit,\nhttps://www.danieldsjoberg.com/ggsurvfit/",
+ "BugReports": "https://github.com/pharmaverse/ggsurvfit/issues",
+ "Depends": "R (>= 3.5)",
+ "Imports": "broom (>= 1.0.0), cli (>= 3.0.0), dplyr (>= 1.0.3), ggplot2\n(>= 3.5.0), glue (>= 1.6.0), gtable, patchwork (>= 1.1.0),\nrlang (>= 1.0.0), survival (>= 3.6-4), tidyr (>= 1.0.0)",
+ "Suggests": "covr, knitr, rmarkdown, scales (>= 1.1.0), spelling, testthat\n(>= 3.2.0), tidycmprsk (>= 1.0.0), vdiffr (>= 1.0.0), withr",
+ "VignetteBuilder": "knitr",
+ "Config/Needs/website": "cowplot, ggeasy, gghighlight",
+ "Config/testthat/edition": "3",
+ "Encoding": "UTF-8",
+ "Language": "en-US",
+ "LazyData": "true",
+ "RoxygenNote": "7.3.1",
+ "NeedsCompilation": "no",
+ "Packaged": "2024-05-08 20:28:46 UTC; sjobergd",
+ "Author": "Daniel D. Sjoberg [aut, cre, cph]\n (),\n Mark Baillie [aut],\n Charlotta Fruechtenicht [aut] (),\n Steven Haesendonckx [aut] (),\n Tim Treis [aut] ()",
+ "Maintainer": "Daniel D. Sjoberg ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-05-08 20:50:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:33:36 UTC; unix",
+ "RemotePkgRef": "ggsurvfit@1.1.0",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"81fdb0b44e30bb450bb7c28c4dc92184\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "ggsurvfit",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.1.0"
+ }
+ },
+ "glue": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "glue",
+ "Title": "Interpreted String Literals",
+ "Version": "1.8.0",
+ "Authors@R": "c(\n person(\"Jim\", \"Hester\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-2739-7082\")),\n person(\"Jennifer\", \"Bryan\", , \"jenny@posit.co\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0002-6983-2759\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "An implementation of interpreted string literals, inspired by\n Python's Literal String Interpolation\n and Docstrings\n and Julia's Triple-Quoted\n String Literals\n .",
+ "License": "MIT + file LICENSE",
+ "URL": "https://glue.tidyverse.org/, https://github.com/tidyverse/glue",
+ "BugReports": "https://github.com/tidyverse/glue/issues",
+ "Depends": "R (>= 3.6)",
+ "Imports": "methods",
+ "Suggests": "crayon, DBI (>= 1.2.0), dplyr, knitr, magrittr, rlang,\nrmarkdown, RSQLite, testthat (>= 3.2.0), vctrs (>= 0.3.0),\nwaldo (>= 0.5.3), withr",
+ "VignetteBuilder": "knitr",
+ "ByteCompile": "true",
+ "Config/Needs/website": "bench, forcats, ggbeeswarm, ggplot2, R.utils,\nrprintf, tidyr, tidyverse/tidytemplate",
+ "Config/testthat/edition": "3",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.3.2",
+ "NeedsCompilation": "yes",
+ "Packaged": "2024-09-27 16:00:45 UTC; jenny",
+ "Author": "Jim Hester [aut] (),\n Jennifer Bryan [aut, cre] (),\n Posit Software, PBC [cph, fnd]",
+ "Maintainer": "Jennifer Bryan ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-09-30 22:30:01 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:21:09 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "glue",
+ "RemoteRef": "glue",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.8.0"
+ }
+ },
+ "golem": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "golem",
+ "Title": "A Framework for Robust Shiny Applications",
+ "Version": "0.5.1",
+ "Authors@R": "c(\n person(\"Colin\", \"Fay\", , \"contact@colinfay.me\", role = c(\"cre\", \"aut\"),\n comment = c(ORCID = \"0000-0001-7343-1846\")),\n person(\"Vincent\", \"Guyader\", , \"vincent@thinkr.fr\", role = \"aut\",\n comment = c(ORCID = \"0000-0003-0671-9270\", \"previous maintainer\")),\n person(\"Sébastien\", \"Rochette\", , \"sebastien@thinkr.fr\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-1565-9313\")),\n person(\"Cervan\", \"Girard\", , \"cervan@thinkr.fr\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-4816-4624\")),\n person(\"Novica\", \"Nakov\", , \"nnovica@gmail.com\", role = \"ctb\"),\n person(\"David\", \"Granjon\", , \"dgranjon@ymail.com\", role = \"ctb\"),\n person(\"Arthur\", \"Bréant\", , \"arthur@thinkr.fr\", role = \"ctb\"),\n person(\"Antoine\", \"Languillaume\", , \"antoine@thinkr.fr\", role = \"ctb\"),\n person(\"Ilya\", \"Zarubin\", , \"zarubin@wiso.uni-koeln.de\", role = \"ctb\"),\n person(\"ThinkR\", role = \"cph\")\n )",
+ "Description": "An opinionated framework for building a production-ready\n 'Shiny' application. This package contains a series of tools for\n building a robust 'Shiny' application from start to finish.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://thinkr-open.github.io/golem/,\nhttps://github.com/ThinkR-open/golem",
+ "BugReports": "https://github.com/ThinkR-open/golem/issues",
+ "Depends": "R (>= 3.5.0)",
+ "Imports": "attempt (>= 0.3.0), config, here, htmltools, rlang (>= 1.0.0),\nshiny (>= 1.5.0), utils, yaml",
+ "Suggests": "attachment (>= 0.3.2), callr, cli (>= 2.0.0), covr, crayon,\ndesc, devtools, dockerfiler (>= 0.2.0), fs, httpuv, knitr,\nmockery, pkgbuild, pkgdown, pkgload (>= 1.3.0), processx,\npurrr, rcmdcheck, remotes, renv, rmarkdown, roxygen2,\nrsconnect, rstudioapi, sass, spelling, stringr, testthat (>=\n3.0.0), tools, usethis (>= 1.6.0), withr",
+ "VignetteBuilder": "knitr",
+ "Config/testthat/edition": "3",
+ "Config/testthat/parallel": "true",
+ "Encoding": "UTF-8",
+ "Language": "en-US",
+ "RoxygenNote": "7.3.2",
+ "NeedsCompilation": "no",
+ "Packaged": "2024-08-27 10:11:51 UTC; colinfay",
+ "Author": "Colin Fay [cre, aut] (),\n Vincent Guyader [aut] (,\n previous maintainer),\n Sébastien Rochette [aut] (),\n Cervan Girard [aut] (),\n Novica Nakov [ctb],\n David Granjon [ctb],\n Arthur Bréant [ctb],\n Antoine Languillaume [ctb],\n Ilya Zarubin [ctb],\n ThinkR [cph]",
+ "Maintainer": "Colin Fay ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-08-27 10:50:32 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:30:26 UTC; unix",
+ "RemotePkgRef": "golem@0.5.1",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"878d131eb815977cae577ea3f99a7256\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "golem",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.5.1"
+ }
+ },
+ "gt": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Type": "Package",
+ "Package": "gt",
+ "Title": "Easily Create Presentation-Ready Display Tables",
+ "Version": "1.0.0",
+ "Authors@R": "c(\n person(\"Richard\", \"Iannone\", , \"rich@posit.co\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0003-3925-190X\")),\n person(\"Joe\", \"Cheng\", , \"joe@posit.co\", role = \"aut\"),\n person(\"Barret\", \"Schloerke\", , \"barret@posit.co\", role = \"aut\",\n comment = c(ORCID = \"0000-0001-9986-114X\")),\n person(\"Ellis\", \"Hughes\", , \"ellis.h.hughes@gsk.com\", role = \"aut\",\n comment = c(ORCID = \"0000-0003-0637-4436\")),\n person(\"Alexandra\", \"Lauer\", , \"alexandralauer1@gmail.com\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-4191-6301\")),\n person(\"JooYoung\", \"Seo\", , \"jseo1005@illinois.edu\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-4064-6012\")),\n person(\"Ken\", \"Brevoort\", , \"ken@brevoort.com\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-4001-8358\")),\n person(\"Olivier\", \"Roy\", role = \"aut\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "Build display tables from tabular data with an easy-to-use\n set of functions. With its progressive approach, we can construct\n display tables with a cohesive set of table parts. Table values can be\n formatted using any of the included formatting functions. Footnotes\n and cell styles can be precisely added through a location targeting\n system. The way in which 'gt' handles things for you means that you\n don't often have to worry about the fine details.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://gt.rstudio.com, https://github.com/rstudio/gt",
+ "BugReports": "https://github.com/rstudio/gt/issues",
+ "Depends": "R (>= 3.6.0)",
+ "Imports": "base64enc (>= 0.1-3), bigD (>= 0.2), bitops (>= 1.0-7), cli\n(>= 3.6.3), commonmark (>= 1.9.1), dplyr (>= 1.1.4), fs (>=\n1.6.4), glue (>= 1.8.0), htmltools (>= 0.5.8.1), htmlwidgets\n(>= 1.6.4), juicyjuice (>= 0.1.0), magrittr (>= 2.0.3),\nmarkdown (>= 1.13), reactable (>= 0.4.4), rlang (>= 1.1.4),\nsass (>= 0.4.9), scales (>= 1.3.0), tidyselect (>= 1.2.1),\nvctrs, xml2 (>= 1.3.6)",
+ "Suggests": "fontawesome (>= 0.5.2), ggplot2, grid, gtable (>= 0.3.6),\nkatex (>= 1.4.1), knitr, lubridate, magick, paletteer,\nRColorBrewer, rmarkdown (>= 2.20), rsvg, rvest, shiny (>=\n1.9.1), testthat (>= 3.1.9), tidyr (>= 1.0.0), webshot2 (>=\n0.1.0), withr",
+ "Config/Needs/coverage": "officer",
+ "Config/Needs/website": "quarto",
+ "ByteCompile": "true",
+ "Config/testthat/edition": "3",
+ "Config/testthat/parallel": "true",
+ "Encoding": "UTF-8",
+ "LazyData": "true",
+ "RoxygenNote": "7.3.2",
+ "NeedsCompilation": "no",
+ "Packaged": "2025-04-04 17:08:33 UTC; riannone",
+ "Author": "Richard Iannone [aut, cre] (),\n Joe Cheng [aut],\n Barret Schloerke [aut] (),\n Ellis Hughes [aut] (),\n Alexandra Lauer [aut] (),\n JooYoung Seo [aut] (),\n Ken Brevoort [aut] (),\n Olivier Roy [aut],\n Posit Software, PBC [cph, fnd]",
+ "Maintainer": "Richard Iannone ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-04-05 15:00:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:30:07 UTC; unix",
+ "RemotePkgRef": "gt@1.0.0",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"e78a22bfa35cfb6136e4e8aa8673ef8b\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "gt",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.0.0"
+ }
+ },
+ "gtable": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "gtable",
+ "Title": "Arrange 'Grobs' in Tables",
+ "Version": "0.3.6",
+ "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\"),\n person(\"Thomas Lin\", \"Pedersen\", , \"thomas.pedersen@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "Tools to make it easier to work with \"tables\" of 'grobs'. The\n 'gtable' package defines a 'gtable' grob class that specifies a grid\n along with a list of grobs and their placement in the grid. Further\n the package makes it easy to manipulate and combine 'gtable' objects\n so that complex compositions can be built up sequentially.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://gtable.r-lib.org, https://github.com/r-lib/gtable",
+ "BugReports": "https://github.com/r-lib/gtable/issues",
+ "Depends": "R (>= 4.0)",
+ "Imports": "cli, glue, grid, lifecycle, rlang (>= 1.1.0), stats",
+ "Suggests": "covr, ggplot2, knitr, profvis, rmarkdown, testthat (>= 3.0.0)",
+ "VignetteBuilder": "knitr",
+ "Config/Needs/website": "tidyverse/tidytemplate",
+ "Config/testthat/edition": "3",
+ "Config/usethis/last-upkeep": "2024-10-25",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.3.2",
+ "NeedsCompilation": "no",
+ "Packaged": "2024-10-25 12:42:05 UTC; thomas",
+ "Author": "Hadley Wickham [aut],\n Thomas Lin Pedersen [aut, cre],\n Posit Software, PBC [cph, fnd]",
+ "Maintainer": "Thomas Lin Pedersen ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-10-25 13:20:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:24:18 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "gtable",
+ "RemoteRef": "gtable",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.3.6"
+ }
+ },
+ "gtsummary": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "gtsummary",
+ "Title": "Presentation-Ready Data Summary and Analytic Result Tables",
+ "Version": "2.4.0",
+ "Authors@R": "c(\n person(\"Daniel D.\", \"Sjoberg\", , \"danield.sjoberg@gmail.com\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0003-0862-2018\")),\n person(\"Joseph\", \"Larmarange\", role = \"aut\",\n comment = c(ORCID = \"0000-0001-7097-700X\")),\n person(\"Michael\", \"Curry\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-0261-4044\")),\n person(\"Emily\", \"de la Rua\", , role = \"aut\",\n comment = c(ORCID = \"0009-0000-8738-5561\")),\n person(\"Jessica\", \"Lavery\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-2746-5647\")),\n person(\"Karissa\", \"Whiting\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-4683-1868\")),\n person(\"Emily C.\", \"Zabor\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-1402-4498\")),\n person(\"Xing\", \"Bai\", role = \"ctb\"),\n person(\"Malcolm\", \"Barrett\", role = \"ctb\",\n comment = c(ORCID = \"0000-0003-0299-5825\")),\n person(\"Esther\", \"Drill\", role = \"ctb\",\n comment = c(ORCID = \"0000-0002-3315-4538\")),\n person(\"Jessica\", \"Flynn\", role = \"ctb\",\n comment = c(ORCID = \"0000-0001-8310-6684\")),\n person(\"Margie\", \"Hannum\", role = \"ctb\",\n comment = c(ORCID = \"0000-0002-2953-0449\")),\n person(\"Stephanie\", \"Lobaugh\", role = \"ctb\"),\n person(\"Shannon\", \"Pileggi\", role = \"ctb\",\n comment = c(ORCID = \"0000-0002-7732-4164\")),\n person(\"Amy\", \"Tin\", role = \"ctb\",\n comment = c(ORCID = \"0000-0002-8005-0694\")),\n person(\"Gustavo\", \"Zapata Wainberg\", role = \"ctb\",\n comment = c(ORCID = \"0000-0002-2524-3637\"))\n )",
+ "Description": "Creates presentation-ready tables summarizing data sets,\n regression models, and more. The code to create the tables is concise\n and highly customizable. Data frames can be summarized with any\n function, e.g. mean(), median(), even user-written functions.\n Regression models are summarized and include the reference rows for\n categorical variables. Common regression models, such as logistic\n regression and Cox proportional hazards regression, are automatically\n identified and the tables are pre-filled with appropriate column\n headers.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://github.com/ddsjoberg/gtsummary,\nhttps://www.danieldsjoberg.com/gtsummary/",
+ "BugReports": "https://github.com/ddsjoberg/gtsummary/issues",
+ "Depends": "R (>= 4.2)",
+ "Imports": "cards (>= 0.7.0), cardx (>= 0.3.0), cli (>= 3.6.3), dplyr (>=\n1.1.3), glue (>= 1.8.0), gt (>= 0.11.1), lifecycle (>= 1.0.3),\nrlang (>= 1.1.1), tidyr (>= 1.3.0), vctrs (>= 0.6.4)",
+ "Suggests": "aod (>= 1.3.3), broom (>= 1.0.5), broom.helpers (>= 1.20.0),\nbroom.mixed (>= 0.2.9), car (>= 3.0-11), cmprsk, effectsize (>=\n0.6.0), emmeans (>= 1.7.3), flextable (>= 0.8.1), geepack (>=\n1.3.10), ggstats (>= 0.2.1), huxtable (>= 5.4.0), insight (>=\n0.15.0), kableExtra (>= 1.3.4), knitr (>= 1.37), lme4 (>=\n1.1-31), mice (>= 3.10.0), nnet, officer, openxlsx, parameters\n(>= 0.20.2), parsnip (>= 0.1.7), rmarkdown, smd (>= 0.6.6),\nspelling, survey (>= 4.2), survival (>= 3.6-4), testthat (>=\n3.2.0), withr (>= 2.5.0), workflows (>= 0.2.4)",
+ "VignetteBuilder": "knitr",
+ "Config/Needs/check": "hms",
+ "Config/Needs/website": "forcats, sandwich, scales",
+ "Config/testthat/edition": "3",
+ "Config/testthat/parallel": "true",
+ "Encoding": "UTF-8",
+ "Language": "en-US",
+ "LazyData": "true",
+ "RoxygenNote": "7.3.2",
+ "NeedsCompilation": "no",
+ "Packaged": "2025-08-28 03:45:15 UTC; sjobergd",
+ "Author": "Daniel D. Sjoberg [aut, cre] (ORCID:\n ),\n Joseph Larmarange [aut] (ORCID:\n ),\n Michael Curry [aut] (ORCID: ),\n Emily de la Rua [aut] (ORCID: ),\n Jessica Lavery [aut] (ORCID: ),\n Karissa Whiting [aut] (ORCID: ),\n Emily C. Zabor [aut] (ORCID: ),\n Xing Bai [ctb],\n Malcolm Barrett [ctb] (ORCID: ),\n Esther Drill [ctb] (ORCID: ),\n Jessica Flynn [ctb] (ORCID: ),\n Margie Hannum [ctb] (ORCID: ),\n Stephanie Lobaugh [ctb],\n Shannon Pileggi [ctb] (ORCID: ),\n Amy Tin [ctb] (ORCID: ),\n Gustavo Zapata Wainberg [ctb] (ORCID:\n )",
+ "Maintainer": "Daniel D. Sjoberg ",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-08-28 04:50:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:30:50 UTC; unix",
+ "RemotePkgRef": "gtsummary@2.4.0",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"834efad3e524de88c13ce8da569dcf88\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "gtsummary",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "2.4.0"
+ }
+ },
+ "haven": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "haven",
+ "Title": "Import and Export 'SPSS', 'Stata' and 'SAS' Files",
+ "Version": "2.5.4",
+ "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Evan\", \"Miller\", role = c(\"aut\", \"cph\"),\n comment = \"Author of included ReadStat code\"),\n person(\"Danny\", \"Smith\", role = \"aut\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "Import foreign statistical formats into R via the embedded\n 'ReadStat' C library, .",
+ "License": "MIT + file LICENSE",
+ "URL": "https://haven.tidyverse.org, https://github.com/tidyverse/haven,\nhttps://github.com/WizardMac/ReadStat",
+ "BugReports": "https://github.com/tidyverse/haven/issues",
+ "Depends": "R (>= 3.6)",
+ "Imports": "cli (>= 3.0.0), forcats (>= 0.2.0), hms, lifecycle, methods,\nreadr (>= 0.1.0), rlang (>= 0.4.0), tibble, tidyselect, vctrs\n(>= 0.3.0)",
+ "Suggests": "covr, crayon, fs, knitr, pillar (>= 1.4.0), rmarkdown,\ntestthat (>= 3.0.0), utf8",
+ "LinkingTo": "cpp11",
+ "VignetteBuilder": "knitr",
+ "Config/Needs/website": "tidyverse/tidytemplate",
+ "Config/testthat/edition": "3",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.2.3",
+ "SystemRequirements": "GNU make, zlib: zlib1g-dev (deb), zlib-devel (rpm)",
+ "NeedsCompilation": "yes",
+ "Packaged": "2023-11-30 13:28:43 UTC; hadleywickham",
+ "Author": "Hadley Wickham [aut, cre],\n Evan Miller [aut, cph] (Author of included ReadStat code),\n Danny Smith [aut],\n Posit Software, PBC [cph, fnd]",
+ "Maintainer": "Hadley Wickham ",
+ "Repository": "RSPM",
+ "Date/Publication": "2023-11-30 15:10:02 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:31:31 UTC; unix",
+ "RemotePkgRef": "haven@2.5.4",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"e1250190cc678d7aeab0a48e28a94bf6\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "haven",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "2.5.4"
+ }
+ },
+ "here": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "here",
+ "Title": "A Simpler Way to Find Your Files",
+ "Version": "1.0.1",
+ "Date": "2020-12-13",
+ "Authors@R": "\n c(person(given = \"Kirill\",\n family = \"M\\u00fcller\",\n role = c(\"aut\", \"cre\"),\n email = \"krlmlr+r@mailbox.org\",\n comment = c(ORCID = \"0000-0002-1416-3412\")),\n person(given = \"Jennifer\",\n family = \"Bryan\",\n role = \"ctb\",\n email = \"jenny@rstudio.com\",\n comment = c(ORCID = \"0000-0002-6983-2759\")))",
+ "Description": "Constructs paths to your project's files.\n Declare the relative path of a file within your project with 'i_am()'.\n Use the 'here()' function as a drop-in replacement for 'file.path()',\n it will always locate the files relative to your project root.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://here.r-lib.org/, https://github.com/r-lib/here",
+ "BugReports": "https://github.com/r-lib/here/issues",
+ "Imports": "rprojroot (>= 2.0.2)",
+ "Suggests": "conflicted, covr, fs, knitr, palmerpenguins, plyr, readr,\nrlang, rmarkdown, testthat, uuid, withr",
+ "VignetteBuilder": "knitr",
+ "Encoding": "UTF-8",
+ "LazyData": "true",
+ "RoxygenNote": "7.1.1.9000",
+ "Config/testthat/edition": "3",
+ "NeedsCompilation": "no",
+ "Packaged": "2020-12-13 06:59:33 UTC; kirill",
+ "Author": "Kirill Müller [aut, cre] (),\n Jennifer Bryan [ctb] ()",
+ "Maintainer": "Kirill Müller ",
+ "Repository": "RSPM",
+ "Date/Publication": "2020-12-13 07:30:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:23:01 UTC; unix",
+ "RemotePkgRef": "here@1.0.1",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"700fa7e338ccdd90a178e84686d77123\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "here",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.0.1"
+ }
+ },
+ "highr": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "highr",
+ "Type": "Package",
+ "Title": "Syntax Highlighting for R Source Code",
+ "Version": "0.11",
+ "Authors@R": "c(\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(\"Yixuan\", \"Qiu\", role = \"aut\"),\n person(\"Christopher\", \"Gandrud\", role = \"ctb\"),\n person(\"Qiang\", \"Li\", role = \"ctb\")\n )",
+ "Description": "Provides syntax highlighting for R source code. Currently it\n supports LaTeX and HTML output. Source code of other languages is supported\n via Andre Simon's highlight package ().",
+ "Depends": "R (>= 3.3.0)",
+ "Imports": "xfun (>= 0.18)",
+ "Suggests": "knitr, markdown, testit",
+ "License": "GPL",
+ "URL": "https://github.com/yihui/highr",
+ "BugReports": "https://github.com/yihui/highr/issues",
+ "VignetteBuilder": "knitr",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.3.1",
+ "NeedsCompilation": "no",
+ "Packaged": "2024-05-26 19:27:21 UTC; yihui",
+ "Author": "Yihui Xie [aut, cre] (),\n Yixuan Qiu [aut],\n Christopher Gandrud [ctb],\n Qiang Li [ctb]",
+ "Maintainer": "Yihui Xie ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-05-26 20:00:03 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:23:17 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "highr",
+ "RemoteRef": "highr",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.11"
+ }
+ },
+ "hms": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "hms",
+ "Title": "Pretty Time of Day",
+ "Date": "2023-03-21",
+ "Version": "1.1.3",
+ "Authors@R": "c(\n person(\"Kirill\", \"Müller\", role = c(\"aut\", \"cre\"), email = \"kirill@cynkra.com\", comment = c(ORCID = \"0000-0002-1416-3412\")),\n person(\"R Consortium\", role = \"fnd\"),\n person(\"RStudio\", role = \"fnd\")\n )",
+ "Description": "Implements an S3 class for storing and formatting time-of-day\n values, based on the 'difftime' class.",
+ "Imports": "lifecycle, methods, pkgconfig, rlang (>= 1.0.2), vctrs (>=\n0.3.8)",
+ "Suggests": "crayon, lubridate, pillar (>= 1.1.0), testthat (>= 3.0.0)",
+ "License": "MIT + file LICENSE",
+ "Encoding": "UTF-8",
+ "URL": "https://hms.tidyverse.org/, https://github.com/tidyverse/hms",
+ "BugReports": "https://github.com/tidyverse/hms/issues",
+ "RoxygenNote": "7.2.3",
+ "Config/testthat/edition": "3",
+ "Config/autostyle/scope": "line_breaks",
+ "Config/autostyle/strict": "false",
+ "Config/Needs/website": "tidyverse/tidytemplate",
+ "NeedsCompilation": "no",
+ "Packaged": "2023-03-21 16:52:11 UTC; kirill",
+ "Author": "Kirill Müller [aut, cre] (),\n R Consortium [fnd],\n RStudio [fnd]",
+ "Maintainer": "Kirill Müller ",
+ "Repository": "RSPM",
+ "Date/Publication": "2023-03-21 18:10:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:25:45 UTC; unix",
+ "RemotePkgRef": "hms@1.1.3",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"272c4647cfe64ed8ed5c6c3c22b6840d\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "hms",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.1.3"
+ }
+ },
+ "htmltools": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Type": "Package",
+ "Package": "htmltools",
+ "Title": "Tools for HTML",
+ "Version": "0.5.8.1",
+ "Authors@R": "c(\n person(\"Joe\", \"Cheng\", , \"joe@posit.co\", role = \"aut\"),\n person(\"Carson\", \"Sievert\", , \"carson@posit.co\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0002-4958-2844\")),\n person(\"Barret\", \"Schloerke\", , \"barret@posit.co\", role = \"aut\",\n comment = c(ORCID = \"0000-0001-9986-114X\")),\n person(\"Winston\", \"Chang\", , \"winston@posit.co\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-1576-2126\")),\n person(\"Yihui\", \"Xie\", , \"yihui@posit.co\", role = \"aut\"),\n person(\"Jeff\", \"Allen\", role = \"aut\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "Tools for HTML generation and output.",
+ "License": "GPL (>= 2)",
+ "URL": "https://github.com/rstudio/htmltools,\nhttps://rstudio.github.io/htmltools/",
+ "BugReports": "https://github.com/rstudio/htmltools/issues",
+ "Depends": "R (>= 2.14.1)",
+ "Imports": "base64enc, digest, fastmap (>= 1.1.0), grDevices, rlang (>=\n1.0.0), utils",
+ "Suggests": "Cairo, markdown, ragg, shiny, testthat, withr",
+ "Enhances": "knitr",
+ "Config/Needs/check": "knitr",
+ "Config/Needs/website": "rstudio/quillt, bench",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.3.1",
+ "Collate": "'colors.R' 'fill.R' 'html_dependency.R' 'html_escape.R'\n'html_print.R' 'htmltools-package.R' 'images.R' 'known_tags.R'\n'selector.R' 'staticimports.R' 'tag_query.R' 'utils.R' 'tags.R'\n'template.R'",
+ "NeedsCompilation": "yes",
+ "Packaged": "2024-04-02 14:26:15 UTC; cpsievert",
+ "Author": "Joe Cheng [aut],\n Carson Sievert [aut, cre] (),\n Barret Schloerke [aut] (),\n Winston Chang [aut] (),\n Yihui Xie [aut],\n Jeff Allen [aut],\n Posit Software, PBC [cph, fnd]",
+ "Maintainer": "Carson Sievert ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-04-04 05:03:00 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:23:25 UTC; unix",
+ "RemotePkgRef": "htmltools@0.5.8.1",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"b96736638725ef5d23397afb35481a88\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "htmltools",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.5.8.1"
+ }
+ },
+ "htmlwidgets": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Type": "Package",
+ "Package": "htmlwidgets",
+ "Title": "HTML Widgets for R",
+ "Version": "1.6.4",
+ "Authors@R": "c(\n person(\"Ramnath\", \"Vaidyanathan\", role = c(\"aut\", \"cph\")),\n person(\"Yihui\", \"Xie\", role = \"aut\"),\n person(\"JJ\", \"Allaire\", role = \"aut\"),\n person(\"Joe\", \"Cheng\", , \"joe@posit.co\", role = \"aut\"),\n person(\"Carson\", \"Sievert\", , \"carson@posit.co\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0002-4958-2844\")),\n person(\"Kenton\", \"Russell\", role = c(\"aut\", \"cph\")),\n person(\"Ellis\", \"Hughes\", role = \"ctb\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "A framework for creating HTML widgets that render in various\n contexts including the R console, 'R Markdown' documents, and 'Shiny'\n web applications.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://github.com/ramnathv/htmlwidgets",
+ "BugReports": "https://github.com/ramnathv/htmlwidgets/issues",
+ "Imports": "grDevices, htmltools (>= 0.5.7), jsonlite (>= 0.9.16), knitr\n(>= 1.8), rmarkdown, yaml",
+ "Suggests": "testthat",
+ "Enhances": "shiny (>= 1.1)",
+ "VignetteBuilder": "knitr",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.2.3",
+ "NeedsCompilation": "no",
+ "Packaged": "2023-12-06 00:11:16 UTC; cpsievert",
+ "Author": "Ramnath Vaidyanathan [aut, cph],\n Yihui Xie [aut],\n JJ Allaire [aut],\n Joe Cheng [aut],\n Carson Sievert [aut, cre] (),\n Kenton Russell [aut, cph],\n Ellis Hughes [ctb],\n Posit Software, PBC [cph, fnd]",
+ "Maintainer": "Carson Sievert ",
+ "Repository": "RSPM",
+ "Date/Publication": "2023-12-06 06:00:06 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:29:55 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "htmlwidgets",
+ "RemoteRef": "htmlwidgets",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.6.4"
+ }
+ },
+ "httpuv": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Type": "Package",
+ "Package": "httpuv",
+ "Title": "HTTP and WebSocket Server Library",
+ "Version": "1.6.15",
+ "Authors@R": "c(\n person(\"Joe\", \"Cheng\", , \"joe@posit.co\", role = \"aut\"),\n person(\"Winston\", \"Chang\", , \"winston@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Posit, PBC\", \"fnd\", role = \"cph\"),\n person(\"Hector\", \"Corrada Bravo\", role = \"ctb\"),\n person(\"Jeroen\", \"Ooms\", role = \"ctb\"),\n person(\"Andrzej\", \"Krzemienski\", role = \"cph\",\n comment = \"optional.hpp\"),\n person(\"libuv project contributors\", role = \"cph\",\n comment = \"libuv library, see src/libuv/AUTHORS file\"),\n person(\"Joyent, Inc. and other Node contributors\", role = \"cph\",\n comment = \"libuv library, see src/libuv/AUTHORS file; and http-parser library, see src/http-parser/AUTHORS file\"),\n person(\"Niels\", \"Provos\", role = \"cph\",\n comment = \"libuv subcomponent: tree.h\"),\n person(\"Internet Systems Consortium, Inc.\", role = \"cph\",\n comment = \"libuv subcomponent: inet_pton and inet_ntop, contained in src/libuv/src/inet.c\"),\n person(\"Alexander\", \"Chemeris\", role = \"cph\",\n comment = \"libuv subcomponent: stdint-msvc2008.h (from msinttypes)\"),\n person(\"Google, Inc.\", role = \"cph\",\n comment = \"libuv subcomponent: pthread-fixes.c\"),\n person(\"Sony Mobile Communcations AB\", role = \"cph\",\n comment = \"libuv subcomponent: pthread-fixes.c\"),\n person(\"Berkeley Software Design Inc.\", role = \"cph\",\n comment = \"libuv subcomponent: android-ifaddrs.h, android-ifaddrs.c\"),\n person(\"Kenneth\", \"MacKay\", role = \"cph\",\n comment = \"libuv subcomponent: android-ifaddrs.h, android-ifaddrs.c\"),\n person(\"Emergya (Cloud4all, FP7/2007-2013, grant agreement no 289016)\", role = \"cph\",\n comment = \"libuv subcomponent: android-ifaddrs.h, android-ifaddrs.c\"),\n person(\"Steve\", \"Reid\", role = \"aut\",\n comment = \"SHA-1 implementation\"),\n person(\"James\", \"Brown\", role = \"aut\",\n comment = \"SHA-1 implementation\"),\n person(\"Bob\", \"Trower\", role = \"aut\",\n comment = \"base64 implementation\"),\n person(\"Alexander\", \"Peslyak\", role = \"aut\",\n comment = \"MD5 implementation\"),\n person(\"Trantor Standard Systems\", role = \"cph\",\n comment = \"base64 implementation\"),\n person(\"Igor\", \"Sysoev\", role = \"cph\",\n comment = \"http-parser\")\n )",
+ "Description": "Provides low-level socket and protocol support for handling\n HTTP and WebSocket requests directly from within R. It is primarily\n intended as a building block for other packages, rather than making it\n particularly easy to create complete web applications using httpuv\n alone. httpuv is built on top of the libuv and http-parser C\n libraries, both of which were developed by Joyent, Inc. (See LICENSE\n file for libuv and http-parser license information.)",
+ "License": "GPL (>= 2) | file LICENSE",
+ "URL": "https://github.com/rstudio/httpuv",
+ "BugReports": "https://github.com/rstudio/httpuv/issues",
+ "Depends": "R (>= 2.15.1)",
+ "Imports": "later (>= 0.8.0), promises, R6, Rcpp (>= 1.0.7), utils",
+ "Suggests": "callr, curl, testthat, websocket",
+ "LinkingTo": "later, Rcpp",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.3.1",
+ "SystemRequirements": "GNU make, zlib",
+ "Collate": "'RcppExports.R' 'httpuv.R' 'random_port.R' 'server.R'\n'staticServer.R' 'static_paths.R' 'utils.R'",
+ "NeedsCompilation": "yes",
+ "Packaged": "2024-03-25 21:06:08 UTC; cpsievert",
+ "Author": "Joe Cheng [aut],\n Winston Chang [aut, cre],\n Posit, PBC fnd [cph],\n Hector Corrada Bravo [ctb],\n Jeroen Ooms [ctb],\n Andrzej Krzemienski [cph] (optional.hpp),\n libuv project contributors [cph] (libuv library, see src/libuv/AUTHORS\n file),\n Joyent, Inc. and other Node contributors [cph] (libuv library, see\n src/libuv/AUTHORS file; and http-parser library, see\n src/http-parser/AUTHORS file),\n Niels Provos [cph] (libuv subcomponent: tree.h),\n Internet Systems Consortium, Inc. [cph] (libuv subcomponent: inet_pton\n and inet_ntop, contained in src/libuv/src/inet.c),\n Alexander Chemeris [cph] (libuv subcomponent: stdint-msvc2008.h (from\n msinttypes)),\n Google, Inc. [cph] (libuv subcomponent: pthread-fixes.c),\n Sony Mobile Communcations AB [cph] (libuv subcomponent:\n pthread-fixes.c),\n Berkeley Software Design Inc. [cph] (libuv subcomponent:\n android-ifaddrs.h, android-ifaddrs.c),\n Kenneth MacKay [cph] (libuv subcomponent: android-ifaddrs.h,\n android-ifaddrs.c),\n Emergya (Cloud4all, FP7/2007-2013, grant agreement no 289016) [cph]\n (libuv subcomponent: android-ifaddrs.h, android-ifaddrs.c),\n Steve Reid [aut] (SHA-1 implementation),\n James Brown [aut] (SHA-1 implementation),\n Bob Trower [aut] (base64 implementation),\n Alexander Peslyak [aut] (MD5 implementation),\n Trantor Standard Systems [cph] (base64 implementation),\n Igor Sysoev [cph] (http-parser)",
+ "Maintainer": "Winston Chang ",
+ "Repository": "RSPM",
+ "Date/Publication": "2024-03-26 05:50:06 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:24:52 UTC; unix",
+ "RemotePkgRef": "httpuv@1.6.15",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"d4a88186c4e44970f2082745cb17ac72\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "httpuv",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.6.15"
+ }
+ },
+ "httr": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "httr",
+ "Title": "Tools for Working with URLs and HTTP",
+ "Version": "1.4.7",
+ "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Posit, PBC\", role = c(\"cph\", \"fnd\"))\n )",
+ "Description": "Useful tools for working with HTTP organised by HTTP verbs\n (GET(), POST(), etc). Configuration functions make it easy to control\n additional request components (authenticate(), add_headers() and so\n on).",
+ "License": "MIT + file LICENSE",
+ "URL": "https://httr.r-lib.org/, https://github.com/r-lib/httr",
+ "BugReports": "https://github.com/r-lib/httr/issues",
+ "Depends": "R (>= 3.5)",
+ "Imports": "curl (>= 5.0.2), jsonlite, mime, openssl (>= 0.8), R6",
+ "Suggests": "covr, httpuv, jpeg, knitr, png, readr, rmarkdown, testthat\n(>= 0.8.0), xml2",
+ "VignetteBuilder": "knitr",
+ "Config/Needs/website": "tidyverse/tidytemplate",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.2.3",
+ "NeedsCompilation": "no",
+ "Packaged": "2023-08-15 02:56:56 UTC; hadleywickham",
+ "Author": "Hadley Wickham [aut, cre],\n Posit, PBC [cph, fnd]",
+ "Maintainer": "Hadley Wickham ",
+ "Repository": "RSPM",
+ "Date/Publication": "2023-08-15 09:00:02 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:24:53 UTC; unix",
+ "RemoteType": "standard",
+ "RemotePkgRef": "httr",
+ "RemoteRef": "httr",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.4.7"
+ }
+ },
+ "insight": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Type": "Package",
+ "Package": "insight",
+ "Title": "Easy Access to Model Information for Various Model Objects",
+ "Version": "1.2.0",
+ "Authors@R": "\n c(person(given = \"Daniel\",\n family = \"Lüdecke\",\n role = c(\"aut\", \"cre\"),\n email = \"officialeasystats@gmail.com\",\n comment = c(ORCID = \"0000-0002-8895-3206\")),\n person(given = \"Dominique\",\n family = \"Makowski\",\n role = c(\"aut\", \"ctb\"),\n email = \"dom.makowski@gmail.com\",\n comment = c(ORCID = \"0000-0001-5375-9967\")),\n person(given = \"Indrajeet\",\n family = \"Patil\",\n role = c(\"aut\", \"ctb\"),\n email = \"patilindrajeet.science@gmail.com\",\n comment = c(ORCID = \"0000-0003-1995-6531\")),\n person(given = \"Philip\",\n family = \"Waggoner\",\n role = c(\"aut\", \"ctb\"),\n email = \"philip.waggoner@gmail.com\",\n comment = c(ORCID = \"0000-0002-7825-7573\")),\n person(given = \"Mattan S.\",\n family = \"Ben-Shachar\",\n role = c(\"aut\", \"ctb\"),\n email = \"matanshm@post.bgu.ac.il\",\n comment = c(ORCID = \"0000-0002-4287-4801\")),\n person(given = \"Brenton M.\",\n family = \"Wiernik\",\n role = c(\"aut\", \"ctb\"),\n email = \"brenton@wiernik.org\",\n comment = c(ORCID = \"0000-0001-9560-6336\")),\n person(given = \"Vincent\",\n family = \"Arel-Bundock\",\n email = \"vincent.arel-bundock@umontreal.ca\",\n role = c(\"aut\", \"ctb\"),\n comment = c(ORCID = \"0000-0003-2042-7063\")),\n person(given = \"Etienne\",\n family = \"Bacher\",\n email = \"etienne.bacher@protonmail.com\",\n role = c(\"aut\", \"ctb\"),\n comment = c(ORCID = \"0000-0002-9271-5075\")),\n person(given = \"Alex\",\n family = \"Hayes\",\n role = c(\"rev\"),\n email = \"alexpghayes@gmail.com\",\n comment = c(ORCID = \"0000-0002-4985-5160\")),\n person(given = \"Grant\",\n family = \"McDermott\",\n role = c(\"ctb\"),\n email = \"grantmcd@uoregon.edu\",\n comment = c(ORCID = \"0000-0001-7883-8573\")),\n person(given = \"Rémi\",\n family = \"Thériault\",\n role = \"ctb\",\n email = \"remi.theriault@mail.mcgill.ca\",\n comment = c(ORCID = \"0000-0003-4315-6788\")),\n person(given = \"Alex\",\n family = \"Reinhart\",\n role = \"ctb\",\n email = \"areinhar@stat.cmu.edu\",\n comment = c(ORCID = \"0000-0002-6658-514X\")))",
+ "Maintainer": "Daniel Lüdecke ",
+ "Description": "A tool to provide an easy, intuitive and consistent\n access to information contained in various R models, like model\n formulas, model terms, information about random effects, data that was\n used to fit the model or data from response variables. 'insight'\n mainly revolves around two types of functions: Functions that find\n (the names of) information, starting with 'find_', and functions that\n get the underlying data, starting with 'get_'. The package has a\n consistent syntax and works with many different model objects, where\n otherwise functions to access these information are missing.",
+ "License": "GPL-3",
+ "URL": "https://easystats.github.io/insight/",
+ "BugReports": "https://github.com/easystats/insight/issues",
+ "Depends": "R (>= 3.6)",
+ "Imports": "methods, stats, utils",
+ "Suggests": "AER, afex, aod, ape, BayesFactor, bayestestR, bbmle,\nbdsmatrix, betareg, bife, biglm, BH, blavaan (>= 0.5-5), blme,\nboot, brms, broom, car, carData, censReg, cgam, clubSandwich,\ncobalt, coxme, cplm, crch, curl, datawizard, effectsize,\nemmeans, epiR, estimatr, feisr, fixest (>= 0.11.2), fungible,\nfwb, gam, gamlss, gamlss.data, gamm4, gbm, gee, geepack, geoR,\nGLMMadaptive, glmmTMB (>= 1.1.10), glmtoolbox, gmnl, grDevices,\ngt, httptest2, httr2, interp, ivreg, JM, knitr, lavaan,\nlavaSearch2, lfe, lme4, lmerTest, lmtest, logistf, logitr,\nmarginaleffects (>= 0.25.0), MASS, Matrix, mclogit, mclust,\nMCMCglmm, merTools, metaBMA, metadat, metafor, metaplus, mgcv,\nmice (>= 3.17.0), mlogit, mmrm, modelbased (>= 0.9.0), multgee,\nMuMIn, nestedLogit, nlme, nnet, nonnest2, ordinal, panelr,\nparameters, parsnip, pbkrtest, performance, phylolm, plm,\npoorman, PROreg (>= 1.3.0), pscl, psych, quantreg, Rcpp,\nRcppEigen, rmarkdown, rms, robustbase, robustlmm, rpart,\nrstanarm (>= 2.21.1), rstantools (>= 2.1.0), rstudioapi,\nRWiener, sandwich, serp, speedglm, splines, statmod, survey,\nsurvival, svylme, testthat, tinytable (>= 0.8.0), TMB,\ntruncreg, tune, tweedie, VGAM, WeightIt, withr",
+ "VignetteBuilder": "knitr",
+ "Encoding": "UTF-8",
+ "Language": "en-US",
+ "RoxygenNote": "7.3.2",
+ "Config/testthat/edition": "3",
+ "Config/testthat/parallel": "true",
+ "Config/Needs/website": "easystats/easystatstemplate",
+ "Config/Needs/check": "stan-dev/cmdstanr",
+ "NeedsCompilation": "no",
+ "Packaged": "2025-04-22 12:50:25 UTC; mail",
+ "Author": "Daniel Lüdecke [aut, cre] (),\n Dominique Makowski [aut, ctb] (),\n Indrajeet Patil [aut, ctb] (),\n Philip Waggoner [aut, ctb] (),\n Mattan S. Ben-Shachar [aut, ctb]\n (),\n Brenton M. Wiernik [aut, ctb] (),\n Vincent Arel-Bundock [aut, ctb]\n (),\n Etienne Bacher [aut, ctb] (),\n Alex Hayes [rev] (),\n Grant McDermott [ctb] (),\n Rémi Thériault [ctb] (),\n Alex Reinhart [ctb] ()",
+ "Repository": "RSPM",
+ "Date/Publication": "2025-04-22 21:50:01 UTC",
+ "Built": "R 4.4.0; ; 2026-01-29 00:21:24 UTC; unix",
+ "RemotePkgRef": "insight@1.2.0",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"18261c7b8b6ff4854200cf2b973dcf90\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "insight",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "1.2.0"
+ }
+ },
+ "isoband": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "isoband",
+ "Title": "Generate Isolines and Isobands from Regularly Spaced Elevation\nGrids",
+ "Version": "0.2.7",
+ "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0003-4757-117X\")),\n person(\"Claus O.\", \"Wilke\", , \"wilke@austin.utexas.edu\", role = \"aut\",\n comment = c(\"Original author\", ORCID = \"0000-0002-7470-9261\")),\n person(\"Thomas Lin\", \"Pedersen\", , \"thomasp85@gmail.com\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-5147-4711\"))\n )",
+ "Description": "A fast C++ implementation to generate contour lines\n (isolines) and contour polygons (isobands) from regularly spaced grids\n containing elevation data.",
+ "License": "MIT + file LICENSE",
+ "URL": "https://isoband.r-lib.org",
+ "BugReports": "https://github.com/r-lib/isoband/issues",
+ "Imports": "grid, utils",
+ "Suggests": "covr, ggplot2, knitr, magick, microbenchmark, rmarkdown, sf,\ntestthat, xml2",
+ "VignetteBuilder": "knitr",
+ "Config/Needs/website": "tidyverse/tidytemplate",
+ "Config/testthat/edition": "3",
+ "Encoding": "UTF-8",
+ "RoxygenNote": "7.2.3",
+ "SystemRequirements": "C++11",
+ "NeedsCompilation": "yes",
+ "Packaged": "2022-12-19 20:10:02 UTC; hadleywickham",
+ "Author": "Hadley Wickham [aut, cre] (),\n Claus O. Wilke [aut] (Original author,\n ),\n Thomas Lin Pedersen [aut] ()",
+ "Maintainer": "Hadley Wickham ",
+ "Repository": "RSPM",
+ "Date/Publication": "2022-12-20 10:00:13 UTC",
+ "Built": "R 4.4.0; x86_64-pc-linux-gnu; 2026-01-29 00:21:21 UTC; unix",
+ "RemotePkgRef": "isoband@0.2.7",
+ "RemoteType": "standard",
+ "RemoteEtag": "\"d4491336725fd316a289bc584db363ee\"",
+ "RemotePackaged": "TRUE",
+ "RemoteRef": "isoband",
+ "RemoteRepos": "https://packagemanager.posit.co/cran/latest",
+ "RemotePkgPlatform": "source",
+ "RemoteSha": "0.2.7"
+ }
+ },
+ "jquerylib": {
+ "Source": "CRAN",
+ "Repository": "https://packagemanager.posit.co/cran/latest",
+ "description": {
+ "Package": "jquerylib",
+ "Title": "Obtain 'jQuery' as an HTML Dependency Object",
+ "Version": "0.1.4",
+ "Authors@R": "c(\n person(\"Carson\", \"Sievert\", role = c(\"aut\", \"cre\"), email = \"carson@rstudio.com\", comment = c(ORCID = \"0000-0002-4958-2844\")),\n person(\"Joe\", \"Cheng\", role = \"aut\", email = \"joe@rstudio.com\"),\n person(family = \"RStudio\", role = \"cph\"),\n person(family = \"jQuery Foundation\", role = \"cph\",\n comment = \"jQuery library and jQuery UI library\"),\n person(family = \"jQuery contributors\", role = c(\"ctb\", \"cph\"),\n comment = \"jQuery library; authors listed in inst/lib/jquery-AUTHORS.txt\")\n )",
+ "Description": "Obtain any major version of 'jQuery' () and use it in any webpage generated by 'htmltools' (e.g. 'shiny', 'htmlwidgets', and 'rmarkdown').\n Most R users don't need to use this package directly, but other R packages (e.g. 'shiny', 'rmarkdown', etc.) depend on this package to avoid bundling redundant copies of 'jQuery'.",
+ "License": "MIT + file LICENSE",
+ "Encoding": "UTF-8",
+ "Config/testthat/edition": "3",
+ "RoxygenNote": "7.0.2",
+ "Imports": "htmltools",
+ "Suggests": "testthat",
+ "NeedsCompilation": "no",
+ "Packaged": "2021-04-26 16:40:21 UTC; cpsievert",
+ "Author": "Carson Sievert [aut, cre] (),\n Joe Cheng [aut],\n RStudio [cph],\n jQuery Foundation [cph] (jQuery library and jQuery UI library),\n jQuery contributors [ctb, cph] (jQuery library; authors listed in\n inst/lib/jquery-AUTHORS.txt)",
+ "Maintainer": "Carson Sievert