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:

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 roxygen2 style.

  • All main functions have at least one associated unit test in the testthat format.

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.