skadauke / intro-to-r-for-clinicians-chop

CHOP R 101: Introduction to R for Clinical Data

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Slides peer review

cassws opened this issue · comments

(Cross-posted from issue originally posted in intro-to-r-for-clinicians-rmed2020 - please ignore that issue and follow along with this one!)

Hi @skadauke ! Hhere are some notes for you on the first few slideshows (and I will add the second half next):

00- Welcome

  • Slides 2-6: New instructor + TA listings
  • Slide 8: Clarify “Meeting-style” is for tech help, people can indicate they need help and Joy will arrange for that learner to have 1:1 with an available TA
  • Slide 17: Link to new CoC
  • Slide 18: New version of this Your Turn appropriate for this workshop size/format

01 - Introduction

  • Slide 22: Worth mentioning that library("tidyverse”) can be written without quotation marks as library(tidyverse) ? Up to you
  • Slide 30: Consider reversing the order of these bullet points — I think Importing, functions, packages is more logical.
  • Slide 32: Consider a link to cheat sheets and/or more explicit mention (eg titling this slide (R Studio Cheat Sheets are helpful!) and bringing up where to find them: https://rstudio.com/resources/cheatsheets/
  • Slide 36: FWIW, R Markdown now natively supports many other languages including R using knitr language engines. This engine is based on the reticulate package but it may be helpful to present this as “R Markdown supports languages beyond R” and use this for framing: https://rmarkdown.rstudio.com/lesson-5.html

02 - Visualize

  • Slide 10: Consider writing out the three upcoming steps either on this slide or on a new slide. I feel like this would work well as a “recipe” to get learners prepared for what comes next.
  • Slide 15: The script here is a little verbose — consider consolidating language. I’d also consider explaining aesthetics as rules that tell ggplot how to draw on the screen. Aesthetic are things like colors, lengths, x/y placements, etc. The common thread is that they all take data and literally express that data as something visual.
    Also for the visual you use here, consider actually plotting a few of the observations on the plot to the right as a second animation. That would make it very clear!
  • Slides 22-24: You focus on onside/outside aes(), but make sure you clearly describe the different use cases of whether you’re mapping the color from a column/varaible in your dataset (in which case it’s used inside aes() so mapping uses that variable), or whether you wish to set it manually without mapping. In other words, less focus on aes(), more on mapping or no mapping.
  • Slides 39 and 41: Watch out for overspill with the cheat sheets! Off the slide in my view.

03 - Transform

  • Before Slide 10: It might be nice to have a slide very simply showing select columns vs filter rows. This is always weirdly counter-intuitive to me - which is which! - and spelling it out clearly/visually might help.
  • Slide 17: Consider calling attention to the double equals on the slide visually (either here or on separate slide), as single vs double equals is going to come up a bunch in next few slides.
  • Slides 21-22: A little hard to compare differences in two consecutive slides. Consider a single slide with two columns (or animation/before-after style, so first slide with just the before code on left, second slide with before on left and after on right).
  • Slide 29: Bolding the functions

04 - Dashboards

  • Slides 5-6: I like this side by side a lot! For context, consider also showing a non-dashboard .Rmd and a dashboard-creating .Rmd side by side to emphasize how similar it is to what learners are already doing
  • Before slide 16: Consider specifically calling out “this is YAML at the top of an .Rmd. it’s how we add settings to a markdown file.” You may already do this verbally earlier on in this section, but just noting here it’d be helpful to call this out with flexdashboard earlier on so here we can focus on theme.
  • Bigger picture: If you expect to have any extra time in this session, it might help to showcase a few more examples of a dashboard with flexdashboard so that the concept and outcome is clear if people are still a little hazy on “what’s actually happening at this step?” Not necessary but could help make more concrete.
  • Grammar: consider titling as "dashboard" (that is, using dashboard as a verb) so that it's consistent with the previous two action verb titles (which I like!)

Thanks so much for these comments! For the ones that I didn't include, here are my thoughts for why.

00- Welcome

  • Slide 8: Clarify “Meeting-style” is for tech help, people can indicate they need help and Joy will arrange for that learner to have 1:1 with an available TA

I don't want to spend time with this as I haven't needed to go into 1:1 with a TA.

  • Slide 18: New version of this Your Turn appropriate for this workshop size/format

I think it'll be the same, just scaled down (3 rooms with 10 learners and 1 TA each).

01 - Introduction

  • Slide 22: Worth mentioning that library("tidyverse”) can be written without quotation marks as library(tidyverse) ? Up to you

I purposely leave that out because I don't want to get into the confusing topic of quotes here. Also, this isn't really something that will trip up a new user, as either way (with or without quotes) works.

  • Slide 30: Consider reversing the order of these bullet points — I think Importing, functions, packages is more logical.

I revised this, and now it builds up logically: package -> functions -> read_csv()

02 - Visualize

Also for the visual you use here, consider actually plotting a few of the observations on the plot to the right as a second animation. That would make it very clear!

That animation is there! :)

  • Slides 22-24: You focus on onside/outside aes(), but make sure you clearly describe the different use cases of whether you’re mapping the color from a column/varaible in your dataset (in which case it’s used inside aes() so mapping uses that variable), or whether you wish to set it manually without mapping. In other words, less focus on aes(), more on mapping or no mapping.

The thing is, the mapping = is optional, so you can have a "no mapping" situation where you are mapping. I think that the association of inside vs outside aes() with mapping vs setting is a solid mental model.

  • Slides 39 and 41: Watch out for overspill with the cheat sheets! Off the slide in my view.

That's on purpose! I want people to be able to see the title of the cheat sheet.

03 - Transform

  • Before Slide 10: It might be nice to have a slide very simply showing select columns vs filter rows. This is always weirdly counter-intuitive to me - which is which! - and spelling it out clearly/visually might help.

I like this suggestion and will consider it for a future version. I have heavily revised this deck so let's see how it flows.

  • Slide 17: Consider calling attention to the double equals on the slide visually (either here or on separate slide), as single vs double equals is going to come up a bunch in next few slides.

Not sure anymore which slide you're referring to :)

  • Slides 21-22: A little hard to compare differences in two consecutive slides. Consider a single slide with two columns (or animation/before-after style, so first slide with just the before code on left, second slide with before on left and after on right).

Ditto - let's revisit for next time :)

04 - Dashboards

  • Bigger picture: If you expect to have any extra time in this session, it might help to showcase a few more examples of a dashboard with flexdashboard so that the concept and outcome is clear if people are still a little hazy on “what’s actually happening at this step?” Not necessary but could help make more concrete.

Yes! Let's find a few good examples for the next iteration of the course.