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_summary(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_fun, warning, error

Copy Link

Version

Install

install.packages('cards')

Monthly Downloads

32,505

Version

0.7.0

License

Apache License 2.0

Issues

Pull Requests

Stars

Forks

Maintainer

Daniel D. Sjoberg

Last Published

August 27th, 2025

Functions in cards (0.7.0)

as_card

Data Frame as ARD
ard_strata

Stratified ARD
ard_total_n

ARD Total N
ard_stack_hierarchical

Stacked Hierarchical ARD Statistics
ard_tabulate

Tabulate ARD
ard_pairwise

Pairwise ARD
ard_summary

Univariate ARD Statistics
ard_stack

Stack ARDs
as_cards_fn

As card function
ard_tabulate_value

Tabulate Value ARD
.calculate_stats_as_ard

Calculate Continuous Statistics
check_ard_structure

Check ARD Structure
default_stat_labels

Defaults for Statistical Arguments
deprecated

Deprecated functions
cards.options

Options in {cards}
as_nested_list

ARD as Nested List
bind_ard

Bind ARDs
.check_dichotomous_value

Perform Value Checks
.calculate_tabulation_statistics

Calculate Tabulation Statistics
cards-package

cards: Analysis Results Data
.detect_msgs

Detect Columns with Non-Null Contents
.create_list_for_attributes

Create List for Attributes
.check_for_missing_combos_in_denom

Check for Missing Levels in denominator
.check_no_ard_columns

Check Protected Column Names
.cli_condition_messaging

Print Condition Messages Saved in an ARD
.check_var_nms

Check Variable Names
.default_fmt_fun

Add Default Formatting Functions
.cli_groups_and_variable

Locate Condition Messages in an ARD
.check_fmt_string

Check 'xx' Format Structure
.derive_overall_labels

Derive overall labels
.fill_overall_grp_values

Fill Overall Group Variables
.is_named_list

Named List Predicate
.lst_results_as_df

Prepare Results as Data Frame
.eval_ard_calls

Evaluate the ard_*() function calls
.process_denominator

Process denominator Argument
.process_nested_list_as_df

Convert Nested Lists to Column
.one_row_ard_to_nested_list

Convert One Row to Nested List
.fill_grps_from_variables

Back Fill Group Variables
.nesting_rename_ard_columns

Rename ARD Columns
.purrr_list_flatten

A list_flatten()-like Function
maximum_variable_value

Maximum Value
.rename_last_group_as_variable

Rename Last Group to Variable
label_round

Generate Formatting Function
get_ard_statistics

ARD Statistics as List
eval_capture_conditions

Evaluate and Capture Conditions
filter_ard_hierarchical

Filter Stacked Hierarchical ARDs
mock

Mock ARDs
.table_as_df

Results from table() as Data Frame
.unique_and_sorted

ARD-flavor of unique()
.trim_ard

Trim ARD
nest_for_ard

ARD Nesting
rename_ard_columns

Rename ARD Variables
print_ard_conditions

Print ARD Condition Messages
print.card

Print
selectors

ARD Selectors
replace_null_statistic

Replace NULL Statistics with Specified Value
round5

Rounding of Numbers
process_selectors

Process tidyselectors
rename_ard_groups

Rename ARD Group Columns
reexports

Objects exported from other packages
summary_functions

Summary Functions
unlist_ard_columns

Unlist ARD Columns
update_ard

Update ARDs
shuffle_ard

Shuffle ARD
tidy_ard_order

Standard Order of ARD
tidy_as_ard

Build ARD from Tidier
sort_ard_hierarchical

Sort Stacked Hierarchical ARDs
syntax

Selecting Syntax
adam

Example ADaM Data
ard_identity

ARD Identity
ard_formals

Argument Values ARD
add_calculated_row

Add Calculated Row
ard_hierarchical

Hierarchical ARD Statistics
apply_fmt_fun

Apply Formatting Functions
ard_missing

Missing ARD Statistics
ard_attributes

ARD Attributes
alias_as_fmt_fun

Convert Alias to Function
ard_mvsummary

Multivariate ARD Summaries