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

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.