Statistics Class Evaluation

The evals_all.csv contains variables pertaining to questions on course evaluations for a year of courses at St. Lawrence University. The rows pertain to different questions asked for different courses while the columns contain the number of students who responded to each of the 7 possible answers (Agree Strongly, Agree, Somewhat Agree, Neutral, Somewhat Disagree, Disagree, and Disagree Strongly).

For example, the 9 in Agree strongly.x indicate that 9 students responded with “Agree Strongly” to the first question in the 113-02 course in F19 (Fall of 2019).

The last few columns contain information on these same questions, but are the percent of students who respond to each question as a university average.

For example, the 40 in Agree.y indicate that 40% of all university students across all courses respond with Agree for the first question.

library(tidyverse)
library(ggthemes)
library(ggplot2)
evals_df <- read_csv("evals_all.csv", skip= 2)
evals_df

I will be analyzing in depth the question 3, “Environment Conducive to Learning”. During spring semester, Professors had to change their teaching style immediately after the pandemic started. They had to create ways in which every student would still be able to have participate in the class and get the credits they needed. By doing so, they created too many accommodations and were more lenient, perhaps allowing students to do things they would not permit in normal circumstances. I am curious to analyze this question, as I would like to see if there is a difference between the rating for this question before the pandemic and after the pandemic started, to figure out it there was the reason why students considerably rated high, as the meanscore_professor plot shows.

evals_df<- evals_df%>%
  mutate(Question_list = fct_recode(Question, `1.Valuable` = "1. Course has been a valuable educational experience",
                                    `2.Organized` = "2. Effectively Organized",
                                    `3.Conducive` = "3. Environment Conducive to Learning",
                                    `5a.Fair` = "5a. Fair Assessment of Student work",
                                    `5b.Timely` = "5b. Timely Assessment of Student Work",
                                    `5c.Constructive` = "5c. Constructive Assessment of Student Work",
                                    `6a.Recommend_in` = "6a. Recommend Instructor to another student", 
                                    `6b.Recommend_cour` = "6b. Recommend Course to another student",
                                    `6c.Effective_in` = "6c. Instructor was an effective teacher" )) %>%
  select(Question_list, everything())

evals_df <- evals_df %>% 
  separate(col= Course, into = c("Course_Number", "Section"), sep = "-")

evals_df <- evals_df %>% mutate(nstudents = `Agree strongly.x` + `Agree Somewhat.x`+ `Agree.x`+`Neutral.x` + `Disagree Strongly.x` + `Disagree.x` + `Disagree Somewhat.x`) 

## Weighted average for the professor
evals_df <- evals_df %>% mutate(meanscore_prof = 7 * `Agree strongly.x` / nstudents + 6 * `Agree.x` / nstudents +  5 * `Agree Somewhat.x` / nstudents + 4 * `Neutral.x` / nstudents + 3 * `Disagree Somewhat.x` / nstudents +  2* `Disagree.x` / nstudents + 1 * `Disagree Strongly.x`/ nstudents)
summary(evals_df)
##          Question_list     Term           Course_Number        Section         
##  1.Valuable     : 6    Length:54          Length:54          Length:54         
##  2.Organized    : 6    Class :character   Class :character   Class :character  
##  3.Conducive    : 6    Mode  :character   Mode  :character   Mode  :character  
##  5a.Fair        : 6                                                            
##  5b.Timely      : 6                                                            
##  5c.Constructive: 6                                                            
##  (Other)        :18                                                            
##    Question         Agree strongly.x    Agree.x       Agree Somewhat.x
##  Length:54          Min.   : 1.000   Min.   : 2.000   Min.   : 0.000  
##  Class :character   1st Qu.: 6.000   1st Qu.: 5.000   1st Qu.: 1.000  
##  Mode  :character   Median : 8.000   Median : 7.000   Median : 1.500  
##                     Mean   : 7.778   Mean   : 7.481   Mean   : 1.981  
##                     3rd Qu.:10.000   3rd Qu.: 9.750   3rd Qu.: 3.000  
##                     Max.   :13.000   Max.   :16.000   Max.   :10.000  
##                                                                       
##    Neutral.x     Disagree Somewhat.x   Disagree.x     Disagree Strongly.x
##  Min.   :0.000   Min.   :0.0000      Min.   :0.0000   Min.   :0.0000     
##  1st Qu.:0.000   1st Qu.:0.0000      1st Qu.:0.0000   1st Qu.:0.0000     
##  Median :1.000   Median :0.0000      Median :0.0000   Median :0.0000     
##  Mean   :1.296   Mean   :0.4074      Mean   :0.1852   Mean   :0.2222     
##  3rd Qu.:2.000   3rd Qu.:1.0000      3rd Qu.:0.0000   3rd Qu.:0.0000     
##  Max.   :7.000   Max.   :2.0000      Max.   :3.0000   Max.   :3.0000     
##                                                                          
##    Semester            Source          Agree strongly.y    Agree.y     
##  Length:54          Length:54          Min.   :30.00    Min.   :30.00  
##  Class :character   Class :character   1st Qu.:35.00    1st Qu.:33.00  
##  Mode  :character   Mode  :character   Median :39.00    Median :40.00  
##                                        Mean   :38.56    Mean   :38.33  
##                                        3rd Qu.:43.00    3rd Qu.:42.00  
##                                        Max.   :47.00    Max.   :47.00  
##                                                                        
##  Agree Somewhat.y   Neutral.y     Disagree Somewhat.y   Disagree.y
##  Min.   : 9.00    Min.   :5.000   Min.   :2           Min.   :1   
##  1st Qu.: 9.00    1st Qu.:5.000   1st Qu.:3           1st Qu.:2   
##  Median :10.00    Median :7.000   Median :3           Median :2   
##  Mean   :10.33    Mean   :6.667   Mean   :3           Mean   :2   
##  3rd Qu.:11.00    3rd Qu.:8.000   3rd Qu.:3           3rd Qu.:2   
##  Max.   :12.00    Max.   :9.000   Max.   :4           Max.   :3   
##                                                                   
##  Disagree Strongly.y   nstudents     meanscore_prof 
##  Min.   :1.000       Min.   :12.00   Min.   :4.857  
##  1st Qu.:1.000       1st Qu.:15.00   1st Qu.:5.846  
##  Median :1.000       Median :18.00   Median :6.128  
##  Mean   :1.111       Mean   :19.35   Mean   :6.036  
##  3rd Qu.:1.000       3rd Qu.:24.00   3rd Qu.:6.351  
##  Max.   :2.000       Max.   :27.00   Max.   :6.812  
## 
library(pander)
eval_own <- evals_df %>%
  filter(Question_list == "3.Conducive") %>%
  select(Term, Section, Course_Number, meanscore_prof) 

eval_own %>% pander()
Term Section Course_Number meanscore_prof
F19 02 113 6.125
F19 02 213 6.286
F19 04 113 5.808
S20 03 113 6.333
S20 07 113 6.214
S20 01 213 6.5
ggplot(data= eval_own, aes(x=Term, y= `meanscore_prof`, colour= `Course_Number`)) +
  geom_point() +
  scale_colour_brewer(palette = "Dark2") +
  theme_economist()

Data analysis

Both table one and graph provide a comparison of ratings between Fall and spring semester for the third question of the survey- “Environment Conducive to Learning”. As mentioned above, the following analysis is intended to decipher whether there is an increase in the score for question three between fall 2019 and spring 2020. By comparing both semesters, It will be possible to broadly discuss the ideas the reason for the increase or decrease of scores for this question. As both the graph and table illustrate, there is a substantial increase in the meanscore for both 113 and 213 courses. For fall semester, the means for this question were between 5.8 and 6.125. On the other hand, the means for Spring semester were between 6.2 and 6.5. In other words, question 3 scored higher in the spring semester. There are a couple of reasons I am able to deduce, by looking at this increase: it is possible that as professors provided more accommodations, flexibility in classes and lenience of professors to support students during the pandemic and encourage learning. The professors’ effort to be considerate to students and still create a way to teach effectively online may have made students more satisfied and prone to rate this question higher than they would usually rate.