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

41,353

Version

0.7.1

License

Apache License 2.0

Issues

Pull Requests

Stars

Forks

Maintainer

Daniel D. Sjoberg

Last Published

December 2nd, 2025

Functions in cards (0.7.1)

ard_stack_hierarchical

Stacked Hierarchical ARD Statistics
ard_summary

Univariate ARD Statistics
ard_stack

Stack ARDs
as_cards_fn

As card function
as_card

Data Frame as ARD
ard_total_n

ARD Total N
ard_pairwise

Pairwise ARD
cards.options

Options in {cards}
default_stat_labels

Defaults for Statistical Arguments
check_ard_structure

Check ARD Structure
cards-package

cards: Analysis Results Data
deprecated

Deprecated functions
.calculate_tabulation_statistics

Calculate Tabulation Statistics
.calculate_stats_as_ard

Calculate Continuous Statistics
ard_strata

Stratified ARD
ard_tabulate_value

Tabulate Value ARD
ard_tabulate

Tabulate ARD
.default_fmt_fun

Add Default Formatting Functions
.create_list_for_attributes

Create List for Attributes
.derive_overall_labels

Derive overall labels
.lst_results_as_df

Prepare Results as Data Frame
.detect_msgs

Detect Columns with Non-Null Contents
.nesting_rename_ard_columns

Rename ARD Columns
as_nested_list

ARD as Nested List
bind_ard

Bind ARDs
.process_denominator

Process denominator Argument
.one_row_ard_to_nested_list

Convert One Row to Nested List
.cli_condition_messaging

Print Condition Messages Saved in an ARD
.check_for_missing_combos_in_denom

Check for Missing Levels in denominator
.check_no_ard_columns

Check Protected Column Names
.check_fmt_string

Check 'xx' Format Structure
.check_dichotomous_value

Perform Value Checks
maximum_variable_value

Maximum Value
.process_nested_list_as_df

Convert Nested Lists to Column
filter_ard_hierarchical

Filter Stacked Hierarchical ARDs
eval_capture_conditions

Evaluate and Capture Conditions
.is_named_list

Named List Predicate
.check_var_nms

Check Variable Names
.fill_overall_grp_values

Fill Overall Group Variables
.fill_grps_from_variables

Back Fill Group Variables
print_ard_conditions

Print ARD Condition Messages
get_ard_statistics

ARD Statistics as List
mock

Mock ARDs
reexports

Objects exported from other packages
.cli_groups_and_variable

Locate Condition Messages in an ARD
.eval_ard_calls

Evaluate the ard_*() function calls
round5

Rounding of Numbers
selectors

ARD Selectors
label_round

Generate Formatting Function
rename_ard_columns

Rename ARD Variables
rename_ard_groups

Rename ARD Group Columns
.unique_and_sorted

ARD-flavor of unique()
.trim_ard

Trim ARD
process_selectors

Process tidyselectors
tidy_ard_order

Standard Order of ARD
replace_null_statistic

Replace NULL Statistics with Specified Value
syntax

Selecting Syntax
update_ard

Update ARDs
sort_ard_hierarchical

Sort Stacked Hierarchical ARDs
.purrr_list_flatten

A list_flatten()-like Function
summary_functions

Summary Functions
.rename_last_group_as_variable

Rename Last Group to Variable
nest_for_ard

ARD Nesting
.table_as_df

Results from table() as Data Frame
print.card

Print
unlist_ard_columns

Unlist ARD Columns
tidy_as_ard

Build ARD from Tidier
ard_hierarchical

Hierarchical ARD Statistics
ard_identity

ARD Identity
ard_attributes

ARD Attributes
ard_mvsummary

Multivariate ARD Summaries
alias_as_fmt_fun

Convert Alias to Function
add_calculated_row

Add Calculated Row
apply_fmt_fun

Apply Formatting Functions
ard_missing

Missing ARD Statistics
ard_formals

Argument Values ARD
adam

Example ADaM Data