Easy In-Class Presentation Ratings Using Google Forms, Sheets, and R

In my classes I’ll often have students give short presentations, and recently I wanted to allow my students to also rate each other. Here’s a very quick and easy way to accomplish that while also having the data analyzed to tell you who is the ‘winner’

  1. Create your rating forms in Google Forms. I made a very simple form that just asked for a couple of ratings and some feedback.
  2. Optionally have some way for students to easily get to the form – you could send it out via your LMS or create a QR code that students can scan in class (I chose the latter).
  3. In Google Forms, choose the “Responses” button and then the green Google Sheets link – this will store the responses for your form in Google Sheets.
  4. In the Google Sheets spreadsheet, go to “File” then “Publish to Web”. Choose CSV as your format, and copy the link that it gives you after you press Publish. This is what we’ll feed into R to do our analysis.
  5. Open R, create a new script, and put in these lines:

data <- read.csv("https://docs.google.com/spreadsheets/d/e/2PACsdavPPIE-qn0w1Ot5T/pub?output=csv")
names(data) <- c("Timestamp","GroupID","overall","interest","groupcomments","privatecomments")
tapply(data$overall, data$GroupID, summary)
tapply(data$interest, data$GroupID, summary)


Modify line 1 to have the CSV file link you got from Step 4, and change line 2 to be the easy-to-remember variable names for your form fields. Lines 3 & 4 simply show how to get summary data for each interest by a group identifier.

6. At this point you could just run the R script after your students enter in their ratings, and it will give you all of the information you need. However I took a little extra step: I installed the script on one of my Virtual Private Servers – it runs the script every minute and creates an HTML report that I can access from Safari on my iPad. That way I can easily see what the group scores were while in class to award the winner. This step takes a little extra time, but it will be worth it, especially if you want to share the results with your students (Or you want them to be able to see the results in near-real-time).

Easy hookup of data to analysis, with a lot of possibilities for customization!

Leave a Reply