R programming
The Biostatistics Department provides R programming services to all faculty and students. This page summarizes those services, but special requests not listed here are welcome. Email the Department's R programmer at mkleinsa@umich.edu.
R package support
Development
Depending on the size and scope of your project, we take already developed R code and turn it into a distributable R package. The Department's R programmer provides various package development services. Here is a loose guideline of what is needed to bridge the gap between R code and an R package:
- Send an R script with the functions to include in the package
- At least one example run of each function
- A test data set or simulation function
- I can help implement standard R functions, such as print, summary, print.summary, etc
- Depending on the size of project and available time, I occasionally write new code. The feasibility of this option is decided on a case-by-case basis.
- Document - for each function, I provide a Word template to fill in essential documentation. This includes short descriptions of the function parameters
- DOI’s are now required by CRAN, so we recommend obtaining one for the package
- Share - we ensure packages pass checks and release to CRAN/Github
Maintenance
The Department's R programmer provides various package maintenance services, including:
- Hosting on Github (and other repositories)
- Shiny app hosting on Shinyapps.io (provided by the department)
- Submission to CRAN repository (and other repositories) and maintenance
Software listings
The Department maintains a catalog of all software developed by faculty and students regardless of programming language. Currently, over 130 packages are cataloged. Navigate to the software landing page under Computing.
To add a new package to the catalog, email mkleinsa@umich.edu with the following:
- Department collaborators
- Links to website and code repository
- Short description
- Reference(s)
Learning Resources
Upcoming workshops
- Upcoming computing workshops
Recorded workshops
- Introduction to R and RStudio
- Introduction to programming in R
- Introduction to cluster computing
- Introduction to the Tidyverse
- Advanced cluster computing
- Getting Git
Resources for package development
For a textbook reference on R package development, we prefer R Packages: Organize, Test, Document, and Share Your Code by Hadley Wickham.
If you package requires highly optimized algorithms, there is a good text on Rcpp for interfacing with C++ called, Seamless R and C++ Integration with Rcpp (Use R!) 2013th Edition by Dirk Eddelbuettel.
Forum
We prefer to use StackOverflow as the preferred forum for general R questions.
Shiny app hosting
The Department has approximately 450 free hours for Shiny application hosting available to faculty and students. Shiny application hosting is a convenient way to distribute your Shiny apps to researches around the world.
Shiny development
Time permitting, I occasionally take requests to develop Shiny applications. Please email me to discuss details.