Combining R and SAS with tidy functional programming for clinical trial design
Abstract Number:
3460
Submission Type:
Contributed Abstract
Contributed Abstract Type:
Paper
Participants:
James Otto (1), Mary Rosenbloom (2)
Institutions:
(1) Alcon, N/A, (2) ALCON Laboratories Inc, N/A
Co-Author:
First Author:
Presenting Author:
Abstract Text:
We propose a functional programming style approach to Monte Carlo sample size determination analysis in R and SAS. Our proposed workflow centers around the development of a study-specific R package used to conduct the analysis, exporting functions for simulating data, modeling data, and summarizing results. Doing so has numerous advantages–R packages have a predictable structure, come with powerful documentation and unit testing tools, are portable, and are easy to collaborate on. In lieu of more standard functional tools such as the lapply() family or the {purrr} library we recommend the use of the exported functions with parallelizable rowwise operations on nested tibbles from the {tidyr} package, extending the notion of "tidy" data to the "tidy" organization of simulation data. We also discuss a functional style approach to modeling data in SAS via macros for designs involving the use of SAS-specific tools such as PROC MIXED, demonstrating a methodology for using SAS and R in tandem. We conclude with an example from ophthalmology, showcasing the development and use of an R package and SAS code for such an analysis at Alcon.
Keywords:
Functional Programming|Clinical Trial Design|Monte Carlo Simulation|R|SAS|
Sponsors:
Section for Statistical Programmers and Analysts
Tracks:
Best practices for programming and analysis
Can this be considered for alternate subtype?
Yes
Are you interested in volunteering to serve as a session chair?
Yes
I have read and understand that JSM participants must abide by the Participant Guidelines.
Yes
I understand that JSM participants must register and pay the appropriate registration fee by June 1, 2024. The registration fee is non-refundable.
I understand
You have unsaved changes.