Learn R Programming

cards

The CDISC Analysis Results Standard aims to facilitate automation, reproducibility, reusability, and traceability of analysis results data (ARD). The {cards} package creates these CDISC Analysis Result Data Sets.

Use cases:

  1. Quality Control (QC) of existing tables and figures.

  2. Pre-calculate statistics to be summarized in tables and figures.

  3. Medical writers may easily access statistics and place in reports without copying and pasting from reports.

  4. Provides a consistent format for results and lends results to be combined across studies for re-use and re-analysis.

Installation

Install cards from CRAN with:

install.packages("cards")

You can install the development version of cards from GitHub with:

# install.packages("devtools")
devtools::install_github("insightsengineering/cards")

Extensions

The {cards} package exports three types of functions:

  1. Functions to create basic ARD objects.

  2. Utilities to create new ARD objects.

  3. Functions to work with existing ARD objects.

The {cardx} R package is an extension to {cards} that uses the utilities from {cards} and exports functions for creating additional ARD objects––including functions to summarize t-tests, Wilcoxon Rank-Sum tests, regression models, and more.

Getting Started

Review the Getting Started page for examples using ARDs to calculate statistics to later include in tables.

library(cards)

ard_continuous(ADSL, by = "ARM", variables = "AGE")
#> {cards} data frame: 24 x 10
#>    group1 group1_level variable stat_name stat_label   stat
#> 1     ARM      Placebo      AGE         N          N     86
#> 2     ARM      Placebo      AGE      mean       Mean 75.209
#> 3     ARM      Placebo      AGE        sd         SD   8.59
#> 4     ARM      Placebo      AGE    median     Median     76
#> 5     ARM      Placebo      AGE       p25         Q1     69
#> 6     ARM      Placebo      AGE       p75         Q3     82
#> 7     ARM      Placebo      AGE       min        Min     52
#> 8     ARM      Placebo      AGE       max        Max     89
#> 9     ARM    Xanomeli…      AGE         N          N     84
#> 10    ARM    Xanomeli…      AGE      mean       Mean 74.381
#> ℹ 14 more rows
#> ℹ Use `print(n = ...)` to see more rows
#> ℹ 4 more variables: context, fmt_fn, warning, error

Other Resources

Copy Link

Version

Install

install.packages('cards')

Monthly Downloads

45,836

Version

0.5.1

License

Apache License 2.0

Issues

Pull Requests

Stars

Forks

Maintainer

Daniel D. Sjoberg

Last Published

March 1st, 2025

Functions in cards (0.5.1)

as_nested_list

ARD as Nested List
as_card

Data Frame as ARD
ard_missing

Missing ARD Statistics
ard_stack

Stack ARDs
ard_pairwise

Pairwise ARD
bind_ard

Bind ARDs
.check_fmt_string

Check 'xx' Format Structure
as_cards_fn

As card function
cards.options

Options in {cards}
cards-package

cards: Analysis Results Data
.check_for_missing_combos_in_denom

Check for Missing Levels in denominator
.nesting_rename_ard_columns

Rename ARD Columns
.check_var_nms

Check Variable Names
.lst_results_as_df

Prepare Results as Data Frame
.check_no_ard_columns

Check Protected Column Names
ard_stack_hierarchical

Stacked Hierarchical ARD Statistics
ard_total_n

ARD Total N
ard_strata

Stratified ARD
.cli_condition_messaging

Print Condition Messages Saved in an ARD
.check_dichotomous_value

Perform Value Checks
.calculate_tabulation_statistics

Calculate Tabulation Statistics
check_ard_structure

Check ARD Structure
.purrr_list_flatten

A list_flatten()-like Function
.create_list_for_attributes

Create List for Attributes
.rename_last_group_as_variable

Rename Last Group to Variable
.cli_groups_and_variable

Locate Condition Messages in an ARD
.trim_ard

Trim ARD
print_ard_conditions

Print ARD Condition Messages
.unique_and_sorted

ARD-flavor of unique()
print.card

Print
label_round

Generate Formatting Function
maximum_variable_value

Maximum Value
.process_nested_list_as_df

Convert Nested Lists to Column
.process_denominator

Process denominator Argument
.default_fmt_fn

Add Default Formatting Functions
deprecated

Deprecated functions
default_stat_labels

Defaults for Statistical Arguments
.one_row_ard_to_nested_list

Convert One Row to Nested List
.shift_column_pair

Shift column pair
.table_as_df

Results from table() as Data Frame
update_ard

Update ARDs
.detect_msgs

Detect Columns with Non-Null Contents
.calculate_stats_as_ard

Calculate Continuous Statistics
round5

Rounding of Numbers
.pair_columns

Pair columns
.eval_ard_calls

Evaluate the ard_*() function calls
.fill_grps_from_variables

Back Fill Group Variables
replace_null_statistic

Replace NULL Statistics with Specified Value
mock

Mock ARDs
process_selectors

Process tidyselectors
.fill_overall_grp_values

Fill Overall Group Variables
reexports

Objects exported from other packages
nest_for_ard

ARD Nesting
summary_functions

Summary Functions
syntax

Selecting Syntax
selectors

ARD Selectors
.is_list_column_of_scalars

List Column as a Vector Predicate
.is_named_list

Named List Predicate
eval_capture_conditions

Evaluate and Capture Conditions
get_ard_statistics

ARD Statistics as List
shuffle_ard

Shuffle ARD
rename_ard_columns

Rename ARD Columns
tidy_ard_order

Standard Order of ARD
rename_ard_groups

Rename ARD Group Columns
tidy_as_ard

Build ARD from Tidier
apply_fmt_fn

Apply Formatting Functions
add_calculated_row

Add Calculated Row
ard_continuous

Continuous ARD Statistics
ard_complex

Complex ARD Summaries
ard_attributes

ARD Attributes
ard_categorical

Categorical ARD Statistics
alias_as_fmt_fn

Convert Alias to Function
ard_dichotomous

Dichotomous ARD Statistics
ard_hierarchical

Hierarchical ARD Statistics
adam

Example ADaM Data