Assignment 1 (25%)

Your task is to create an R package with one of the following objectives:

You may also have your own ideas for a package. If you would like to do something else, please discuss it with Mitch and Rob first.

Requirements

Your package should have the following features:

  1. The package should be on GitHub and have a README.md file with a brief description of the package and instructions on how to install it.
  2. Each user-facing function in the package should have a roxygen header including an example.
  3. Each user-facing function in the package should have at least one test written using testthat.
  4. The package should use Github Actions to run the tests on every commit.
  5. The package should have a pkgdown website that can be deployed locally.

For this first assignment, the package does not need to be complete. It should contain at least one user-facing function. You will have the opportunity to improve and extend the package in subsequent assignments.

Marks

  • 2 marks for the package compiling and installing without errors.
  • 3 marks for a README.md file with a brief description of the package and instructions on how to install it.
  • 5 marks for having a user-facing function with a roxygen header including an example. The function should work as expected and be coded efficiently.
  • 2 marks for appropriate use of loops.
  • 2 marks for appropriate use of control flow.
  • 2 marks for appropriate use of conditions.
  • 2 marks for appropriate use of vectors, functions, and environments.
  • 3 marks for appropriate tests using testthat.
  • 2 marks for using GitHub Actions to run a package check including tests on every commit.
  • 2 marks for generating a pkgdown website that can be deployed locally.



Due: 22 March 2024
  Submit