A workshop at The UNM Dept of Math & Stats on Friday 8/17/2018 10AM-5PM in SMLC 356.
This is like a “hack-a-thon”, but, instead of tackling a dataset analysis, the goal is to learn and use the skills to package R code. The first hour or so will cover the basic ideas of packaging code using modern tools such as RStudio, devtools, usethis, and git. The rest of the day is intended as a protected time where you can turn your code into a package. We’ll cover the basics of creating a package, package testing, writing vignettes, and using github (and CRAN) for version control and making your package available.
To get the most out of this workshop, bring a package idea to start on. A few ideas:
The main goal of this event is to transform existing code into R packages for your personal use and that can be made available to the statistics community. Whether you have existing code that you want to make into a package, or want to help others make and document packages, you are welcome to participate!
At the beginning of the Hack-a-Pack, please complete the following steps.
Prior to the Hack-a-Pack, participants were invited to contribute to a slide of “project pitches,” which were then presented by their proposer. Two talks by the organizers focus on stages of R package development and collaboration with git. Teams will form around projects formed from the pitches and teams will begin their work. After several hours of open hacking, each team will give a presentation of their progress to the rest of the Hack-a-Pack and will solicit input, especially regarding stumbling blocks they’d encountering. It is common for these intermediate reports to help refocus the project and help stay on track to reach a fruitful conclusion by the end of the Hack-a-Pack.
All activities are in SMLC 356.
Time | Event |
---|---|
10:00 AM | Introduction to Hack-a-Pack, schedule |
10:20 AM | Project proposals, participants, skills |
10:30 AM | R Package basics |
11:30 AM | Git and SourceTree basics |
12:00 PM | Lunch |
12:45 PM | Projects and Team organization |
1:00 PM | Open hacking |
3:00 PM | Mid-hack project updates |
3:20 PM | Open hacking |
4:45 PM | Briefings |
5:00 PM | Beers |
In order to be accepted to CRAN the package must pass R CMD check
and should also contain a vignette describing how to use the package. This is a generally good standard, regardless.
https://tinyurl.com/RHackaPack2018Pres
If you’d like to lead a project, create one slide. The slide should contain (1) a title and your name, (2) a brief description of the method your code implements, (3) the current status of your package (e.g. one long script, a set of functions, on Github, etc.), and (4) your goal for the Hack-a-Pack (e.g., create a GitHub package, get a package on CRAN, write a vignette, start a statistical software paper).
If you’d like to participate in a project, check out the list of project slides. Add your name to the notes area of the slide for the project(s) that interest you. (This is just to gauge interest — you can always switch between teams during the Hack-a-Pack and can add your name to multiple projects.) You can also list your skills on the skills slide.
If you don’t wish to lead a project but have skills that could be helpful for teams, add your name and any relevant skills to the Participants & Skills slide.
https://tinyurl.com/RHackaPack2018Notes
Add the note here, refer to this page throughout the workshop for updates.
Erik Erhardt
R package development basics.
This brief tutorial is intended to run through the initial steps to creating the package structure, writing documented functions, handling the package description and namespace, including data, writing package vignettes, and creating attractive documentation.
Adah Zhang
AdahZhang_R_Package_Collaboration_Git.pdf
Version control is a critical tool to help organize and coordinate work between multiple contributors in the development of an R package.