Define roles

Your group will function better when everyone has a clear understanding of their roles and responsibilities.

  • No one should have a role that doesn’t involve writing R (or SQL) code. Learning how to write code is an essential part of this course, so if you aren’t doing that, you’re won’t be able to achieve the learning goals of the course.
  • Groups should be non-hierarchical. Leaders may emerge naturally and that is great, but no one in the group is the boss. Decisions should be made as a group.
  • Leaving someone out—regardless of the reasons—exemplifies poor leadership. If a group member is struggling to keep up, help them. If a group member is not carrying their weight, talk to them. Ignoring interpersonal conflicts will not make them go away. You will be better prepared for job interviews and graduate school research labs if you have experience successfully navigating challenging group projects.


  • write the code
  • editing code: Refining someone else’s code is a great way to deepen your learning. Did they use a non-tidy paradigm? Re-write it in a tidy dialect. Does their code conform to a style guide? Run styler on it. Is the logic broken up into chunks of appropriate length? Is the code succinct?
  • write the text
  • editing writing: Don’t make unsubstantiated claims. Don’t make sweeping generalizations. Don’t use flowery language. Don’t try to use big words or jargon. Limit your use of adverbs.
  • editing plots: Did you label the units? Did you format the axis labels? Is there additional context that could be put on the plot? How were the colors chosen? Is any text readable?
  • formatting R Markdown: Does the document render properly? Does it have sections? Are the citations formatted properly?
  • researching external context: Is there jargon that requires explanation? Would external images be helpful? What links are necessary?
  • debugging: If something isn’t working, can you help?
  • coordinating overall project: What is the big picture vision for what this project is about? Do the components fit together in a sensible fashion?
  • organizing issues on GitHub: What still needs to be done? Who is working on what?