Overall Progress

0 of 35 objectives completed

RStudio Setup

Learn to install R and RStudio, configure your environment, navigate the interface, and get started with GitHub Copilot for coding assistance.

Learning Objectives
  • Install R and RStudio with proper configuration
  • Set up environment configuration for working directory management
  • Navigate RStudio panes and help and understand R file types
  • Load essential packages (dplyr, haven, tibble) for clinical programming
  • Understand how to use GitHub Copilot to assist you while coding
Data Manipulation Basics

Master data manipulation using dplyr, understand tibbles and R data types, and learn how R compares to SAS DATA step logic.

Learning Objectives
  • Understand tibbles and R data types (character, numeric, logical, date)
  • Use dplyr functions: filter, select, mutate, arrange for data manipulation
  • Compare R data wrangling operations with SAS DATA step logic
  • Practice deriving clinical variables like elderly flag
  • Apply best practices for readable and efficient data transformations
Joins and Summaries

Learn to combine datasets using join operations, create grouped summaries, and generate frequency tables for clinical trial data analysis.

Learning Objectives
  • Perform join operations using left_join, inner_join, and other dplyr join functions
  • Use group_by and summarise to create summary statistics by treatment groups
  • Generate frequency tables using count and n functions
  • Practice with clinical scenarios: summarizing adverse events by elderly vs non-elderly patients
  • Handle missing data and edge cases in join operations
Date & Text Handling

Master date conversions, study day calculations, and string manipulation techniques essential for clinical programming and CDISC standards.

Learning Objectives
  • Convert dates using lubridate functions (ymd, dmy, mdy) for clinical data
  • Calculate study days (e.g., AESTDY = AESTDTC - RFSTDTC + 1)
  • Use stringr functions for text manipulation (str_detect, str_replace, str_trim)
  • Practice deriving AESTDY and cleaning adverse event
  • Handle date/time formats and missing date scenarios in clinical contexts
Functions & Macro Translation

Learn to write reusable R functions for clinical tasks, understand scope and debugging, and translate SAS macros into efficient R code.

Learning Objectives
  • Write custom R functions with proper arguments
  • Understand scope, debugging, and documentation for R functions
  • Translate simple SAS macros into equivalent R functions
  • Use purrr package for functional programming and iteration
  • Create reusable functions for common clinical programming tasks
SDTM Programming with sdtm.oak

Build CDISC-compliant SDTM domains using the sdtm.oak package, from reading study metadata and specifications to final XPT file export.

Learning Objectives
  • Read study metadata and specifications using readxl
  • Load raw clinical datasets using haven and other R packages
  • Create SDTM domains using sdtm.oak::create_domain functions
  • Apply data transformations, derivations, and post-processing steps
  • Export SDTM datasets to XPT format using haven::write_xpt
Post-Processing, QC & Reporting

Quality control procedures, report generation, and GitHub Copilot best practices for clinical programming with SAS validation integration.

Learning Objectives
  • Format date/time variables to ISO8601 standards and reorder columns per specifications
  • Implement double-programming QC by comparing R outputs against SAS results
  • Generate professional tables and reports using gt (future: SAS validation procedures)
  • Apply GitHub Copilot best practices for clinical programming workflows
  • Understand learning outcomes and plan next steps in R clinical programming journey

Quick Actions