Project 3 Final Deliverable
The deliverable for this project is a fully developed R package, which contains functions to automate and streamline the data collection and analysis that you did in Units 1 and 2.
Along the way you will learn how to:
- structure an R package folder
- write automated unit tests for your functions
- design code that is fast and efficient
Final Deliverable
The package you create must have the following elements.
Structure
Package installs without errors or warnings using
remotes::install_github("your-repo/your-package-name")All functions are fully documented in the
roxygen2style.All main functions have at least one associated unit test in the
testthatformat.
Function Design
Package includes underlying helper functions that support primary functions.
Functions perform efficiently on moderately large data
At least one function uses
data.table,arrow, and/or parallelization.
Content
1. Data
Rewrite your load_data function so that instead of loading the original dataset from the TidyTuesday package, it loads your full merged dataset from the inst/ folder of your package.
2. Main functions
Populate your useful functions. Your package must contain at least…
one data cleaning/wrangling function
two data summarizing functions
two plotting functions
one statistical analysis function
Note: This does not require writing brand new code! You can, and should, use your code from previous units in the body of your functions.
3. Vignette
Your package must also contain a vignette, using the file you created in Checkpoint 1. This should show one example use of each of the 7 required functions listed above.
Stat 541 requirements
Stat 541 packages must also…
contain at least one function that uses tidy eval
have at least 80% test coverage as measured by
covr
Peer Review
In Week 10 your group will give (and receive) feedback to another group on their preliminary package setup. Your goal is to test the user-friendliness of the functions and to find places where the functions break.
Submission
You are required to submit both the link to your GitHub repository for your package, which should be fully installable from the link, and a .zip folder of your package.