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 firstname.lastname@example.org.
R package support
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
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
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 email@example.com with the following:
- Department collaborators
- Links to website and code repository
- Short description
- data.table: Reduce programming and compute time for data manipulation operations in R (Wednesday, Jan. 26 @ 4pm). RSVP here.
- Job Wrapper Scripts: Learn to submit cluster jobs with nested parameter sweeps easily (Thursday, Jan. 27 @ 4pm). RSVP here.
- Targets: Pipeline toolkit for statistics and data science in R (Wednesday, Feb. 2 @ 4pm). RSVP here.
- Files and their Properties: Basic filesystem organization, getting file properties (ls), file permissions (chmod), file ownership (chown), copying (cp), and moving (mv) (Thursday, Feb. 3 @ 4pm). RSVP here.
- R package development 1: Learn the basics of R package development (Wednesday, Feb. 9 @ 4pm). RSVP here.
- Vim Text Editor: Learn the basics of the Vim text editor (Thursday, Feb. 10 @ 4pm). RSVP here.
- R Package Development 2: Learn the basics of R package development (Wednesday, Feb. 16 @ 4pm). RSVP here.
- Rmarkdown: Create reproducible research documents in R (Wednesday, Feb. 23 @ 4pm). RSVP here.
- 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.
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.
Time permitting, I occasionally take requests to develop Shiny applications. Please email me to discuss details.