enroll$regular<-T
enroll$regular[enroll$Term%in%c("Summer 2020", "Summer 2021", "Summer 2023", "Summer Session I May-June 2019", 
                                "Winter Intersession 2019", "Winter Intersession 2021", "Winter Intersession 2022", "Winter Intersession 2023")]<-F

enroll2<-filter(enroll, regular)

enroll2$Term<-factor(enroll2$Term, levels=c("Fall 2018", "Spring 2019",
                                            "Fall 2019", "Spring 2020",
                                            "Fall 2020", "Spring 2021",
                                            "Fall 2021", "Spring 2022",
                                            "Fall 2022", "Spring 2023",
                                            "Fall 2023"))

Courses

Offerings

hide_legend(
  ggplotly(enroll2 %>% ggplot() +
  aes(x = Term, fill = Title) +
  geom_bar() +
  scale_fill_hue(direction = 1) +
  theme_minimal()+
  theme(axis.text.x = element_text(angle=45))
)
)

Enrollment

hide_legend(
  ggplotly(enroll2 %>% ggplot() +
  aes(x = Term, y=Enrollment, fill = Title) +
  geom_bar(stat="identity") +
  scale_fill_hue(direction = 1) +
  theme_minimal()+
  theme(axis.text.x = element_text(angle=45)))
)

Enrollment / Maximum Enrollment

hide_legend(
  ggplotly(enroll2 %>% filter(Term%in%c("Fall 2018", "Spring 2019", "Fall 2019", "Spring 2020")) %>% 
           ggplot() +
  aes(x = Term, y=Enrollment/`Maximum Enrollment`, fill = Title) +
  geom_bar(stat="identity", position="dodge") +
  scale_fill_hue(direction = 1) +
  theme_minimal()+
  theme(axis.text.x = element_text(angle=45)))
)
hide_legend(
  ggplotly(enroll2 %>% filter(Term%in%c("Fall 2020", "Spring 2021", "Fall 2021", "Spring 2022")) %>% 
           ggplot() +
  aes(x = Term, y=Enrollment/`Maximum Enrollment`, fill = Title) +
  geom_bar(stat="identity", position="dodge") +
  scale_fill_hue(direction = 1) +
  theme_minimal()+
  theme(axis.text.x = element_text(angle=45)))
)
hide_legend(
  ggplotly(enroll2 %>% filter(Term%in%c("Fall 2022", "Spring 2023", "Fall 2023")) %>% 
           ggplot() +
  aes(x = Term, y=Enrollment/`Maximum Enrollment`, fill = Title) +
  geom_bar(stat="identity", position="dodge") +
  scale_fill_hue(direction = 1) +
  theme_minimal()+
  theme(axis.text.x = element_text(angle=45)))
)

Instructors

Offerings

hide_legend(
  ggplotly(enroll2 %>% ggplot() +
  aes(x = Term, fill = Instructor) +
  geom_bar() +
  scale_fill_hue(direction = 1) +
  theme_minimal()+
  theme(axis.text.x = element_text(angle=45))
)
)

Enrollment

hide_legend(
  ggplotly(enroll2 %>% ggplot() +
  aes(x = Term, y=Enrollment, fill = Instructor, size=Title) +
  geom_bar(stat="identity") +
  scale_fill_hue(direction = 1) +
  theme_minimal()+
  theme(axis.text.x = element_text(angle=45)))
)
## Warning: Using size for a discrete variable is not advised.

Enrollment / Maximum Enrollment

hide_legend(
  ggplotly(enroll2 %>% 
             filter(Term%in%c("Fall 2018", "Spring 2019", "Fall 2019", "Spring 2020")) %>% 
             group_by(Instructor, Term) %>% 
             summarise(Enrollment = sum(Enrollment), `Maximum Enrollment`=sum(`Maximum Enrollment`)) %>%
           ggplot() +
  aes(x = Term, y=Enrollment/`Maximum Enrollment`, fill = Instructor) +
  geom_bar(stat="identity", position="dodge") +
  scale_fill_hue(direction = 1) +
  theme_minimal()+
  theme(axis.text.x = element_text(angle=45)))
)
## `summarise()` has grouped output by 'Instructor'. You can override using the
## `.groups` argument.
hide_legend(
  ggplotly(enroll2 %>% filter(Term%in%c("Fall 2020", "Spring 2021", "Fall 2021", "Spring 2022")) %>% 
             group_by(Instructor, Term) %>% 
             summarise(Enrollment = sum(Enrollment), `Maximum Enrollment`=sum(`Maximum Enrollment`)) %>%
           ggplot() +
  aes(x = Term, y=Enrollment/`Maximum Enrollment`, fill = Instructor) +
  geom_bar(stat="identity", position="dodge") +
  scale_fill_hue(direction = 1) +
  theme_minimal()+
  theme(axis.text.x = element_text(angle=45)))
)
## `summarise()` has grouped output by 'Instructor'. You can override using the
## `.groups` argument.
hide_legend(
  ggplotly(enroll2 %>% filter(Term%in%c("Fall 2022", "Spring 2023", "Fall 2023")) %>% 
             group_by(Instructor, Term) %>% 
             summarise(Enrollment = sum(Enrollment), `Maximum Enrollment`=sum(`Maximum Enrollment`)) %>%
           ggplot() +
  aes(x = Term, y=Enrollment/`Maximum Enrollment`, fill = Instructor) +
  geom_bar(stat="identity", position="dodge") +
  scale_fill_hue(direction = 1) +
  theme_minimal()+
  theme(axis.text.x = element_text(angle=45)))
)
## `summarise()` has grouped output by 'Instructor'. You can override using the
## `.groups` argument.

Course Sunsetting?

enroll2$semester_num<-0
enroll2$semester_num[enroll2$Term=="Fall 2018"]<-1
enroll2$semester_num[enroll2$Term=="Spring 2019"]<-2
enroll2$semester_num[enroll2$Term=="Fall 2019"]<-3
enroll2$semester_num[enroll2$Term=="Spring 2020"]<-4
enroll2$semester_num[enroll2$Term=="Fall 2020"]<-5
enroll2$semester_num[enroll2$Term=="Spring 2021"]<-6
enroll2$semester_num[enroll2$Term=="Fall 2021"]<-7
enroll2$semester_num[enroll2$Term=="Spring 2022"]<-8
enroll2$semester_num[enroll2$Term=="Fall 2022"]<-9
enroll2$semester_num[enroll2$Term=="Spring 2023"]<-10
enroll2$semester_num[enroll2$Term=="Fall 2023"]<-11

enroll2$semesters_since<-11-enroll2$semester_num
hide_legend(
  ggplotly(enroll2 %>%
             group_by(Title) %>% 
             slice_min(semesters_since, n=1) %>%
           ggplot() +
  aes(x = semesters_since, fill = Title) +
  geom_bar(stat="count") +
  scale_fill_hue(direction = 1) +
  theme_minimal()+
  theme(axis.text.x = element_text(angle=45)))
)

Fulltime vs. Parttime