Project tips + resources

Modified

March 3, 2025

The projects are very open ended. For instance, in creating a compelling visualization(s) of your data in R, there is no limit on what tools or packages you may use. You do not need to visualize all of the data at once. A single high quality visualization will receive a much higher grade than a large number of poor quality visualizations.

Finally, pay attention to details in your deliverables. Neatness, coherency, and clarity will count.

“Do I need to … to get a good grade?”

It’s an open-ended project. We award points for what you do, we never take points off for what you don’t do. There are many things that we consider difficult (combining multiple datasets, reformatting data, collecting from web pages), so if you find that any of them make sense, we will recognize that in our consideration of how ambitious you are. None of them are required.

Students often find this kind of open-ended project difficult because it requires more independence and feels more risky. We’ve built in multiple low-stakes checkpoints to help make sure we give you feedback and reduce the feeling of “flying blind”. But it’s also the most realistic and valuable experience to prepare you for what you will do after graduation, and the thing that alums most often remember years later.

Tips

  • Ask questions if any of the expectations are unclear.

  • Merge conflicts will happen, issues will arise, and that’s fine! Commit and push often, and ask questions when stuck.

  • Review the evaluation criteria for each assignment. There should not be any surprises in how you are evaluated.

  • Set aside time to work together and apart (physically).

  • Make sure each team member is contributing, both in terms of quality and quantity of contribution (we will be reviewing commits from different team members).

    All team members are expected to contribute equally to the completion of this assignment and group assessments will be given at its completion - anyone judged to not have sufficient contributed to the final product will have their grade reduced. While different teams members may have different backgrounds and abilities, it is the responsibility of every team member to understand how and why all code and approaches in the assignment works.

  • When you’re done, check your work. Review the documents on GitHub to make sure you’re happy with the final state of your work.

Installing additional packages

We have configured your repositories to install the basic set of packages we use in this class (e.g. {tidyverse}, {tidymodels}, {styler}). It is likely that you will want to use additional packages specific to your projects. To ensure reproducibility and minimize issues when collaborating with your peers, you should keep your {renv} lockfile up-to-date.

This is a relatively straightforward process:

  1. To install a new package for the project, use renv::install() or install.packages().
  2. Run renv::snapshot(type = "all"). This will update renv.lock to include all packages used in the project library.
  3. Stage, commit, and push the renv.lock file.

The next time your peers pull from GitHub, they will get the updated lockfile. They can then run renv::restore() to install any new packages that were added to the lockfile.

Formatting + communication

Suppress code and warnings

In the final deliverables, unless you have a specific rationale to include them, make sure the printing of code chunks is turned off with the option echo: false. In addition to code chunks, ensure all messages are turned off with the options warning: false and message: false. This can easily be done for all code chunks in a Quarto document by adding

execute:
  echo: false
  warning: false
  message: false

to the YAML header.

Headers

Use headers to clearly label each section. Make sure there is a space between the previous line and the header. Use appropriate header levels.

References

Include all references in a section called “References” at the end of the report. This course does not have specific requirements for formatting citations and references. Optional: Use Quarto’s citation support for generating your reference. See Citations & Footnotes on the Quarto documentation for more on that.

Appendix

If you have additional work that does not fit or does not belong in the body of the report, you may put it at the end of the document in section called “Appendix”. The items in the appendix should be properly labeled. The appendix should only be for additional material. The reader should be able to fully understand your report without viewing content in the appendix. We will not grade your appendix.

Resize and layout figures

Make sure all figures are legible in your final deliverables. The sizing and arranging plots tutorial contains several examples of how to resize and arrange figures for slide presentations and reports.

Acknowledgments