library(tidyverse)
library(here)
library(ggeasy)
library(janitor)
theme_set(theme_classic())
options(digits = 2)
Read in log data from 1A and 1B, add week and chapter as factors and bind 1A and 1B together.
log1A <- read_csv(here::here("research_conferences", "ScienceMoodleWellbeing", "clean1Alogs.csv"))
log1A <- log1A %>%
mutate(week = factor(week, levels = c("week0", "week1", "week2", "week3", "week4", "week5", "week6", "week7", "week8", "week9", "week10", "week11", "week12"))) %>%
mutate(chapter_no = factor(chapter_no,
levels = c("1_intro", "2_time", "3_study", "4_ps", "5_feedback", "6_stress", "7_health", "8_learnmore", "9_money", "10_academics")))
# PSYC1B
log1B <- read_csv(here::here("research_conferences", "ScienceMoodleWellbeing", "clean1Blogs.csv"))
log1B <- log1B %>%
mutate(week = factor(week, levels = c("week0", "week1", "week2", "week3", "week4", "week5", "week6", "week7", "week8", "week9", "week10", "week11", "week12"))) %>%
mutate(chapter_no = factor(chapter_no,
levels = c("1_intro", "2_time", "3_study", "4_ps", "5_feedback", "6_stress", "7_health", "8_learnmore", "9_money", "10_academics")))
log1A1B <- rbind(log1A, log1B)
log1A1B %>%
group_by(date, week) %>%
count() %>%
ggplot(aes(x = date, y = n, label = week)) +
geom_line() +
labs(y = "Chapter views") +
scale_y_continuous(limits = c(0,400)) +
geom_text(data = data.frame(x = as.Date("2021-06-01"),y = 350, label = "Week 1"),mapping = aes(x = x, y = y, label = label),inherit.aes = FALSE) +
geom_text(data = data.frame(x = as.Date("2021-06-13"),y = 85, label = "Week 3"), mapping = aes(x = x, y = y, label = label), inherit.aes = FALSE) +
geom_text(data = data.frame(x = as.Date("2021-07-04"),y = 75, label = "Week 6"),mapping = aes(x = x, y = y, label = label),inherit.aes = FALSE) +
geom_text(data = data.frame(x = as.Date("2021-08-08"),y = 85, label = "Week 11"),mapping = aes(x = x, y = y, label = label),inherit.aes = FALSE) +
labs(x = "Date", title = "PSYC1A & PSYC1B: total views over time", subtitle= "N=357 students (36% total enrolment)")
log1A1B %>%
count(chapter_no) %>%
ggplot(aes(x = chapter_no, y = n, fill = chapter_no)) +
geom_col() +
labs(y = "Chapter views") +
easy_remove_legend() +
scale_y_continuous(expand = c(0,0), limits = c(0,1000)) +
labs(x = "Chapter number", title = "PSYC1A & PSYC1B: total views per chapter")
students_accessed <- n_distinct(log1A1B$studentid)
total_students <- 496+487
proportion = students_accessed / total_students
Only 357 of all enrolled (N = 983) accessed the Moodle Book during the term. This represented only 0.36 of the cohort.
Total enrolments T2 2021 - PSYC1A 496 - PSYC1B 487
X1A_feedback <- read_csv(here::here("research_conferences", "ScienceMoodleWellbeing", "1A-feedback.csv")) %>%
clean_names() %>%
select(autoalerts = "have_you_received_automated_alerts_from_this_course_i_e_occasional_small_textbox_that_pops_up_when_you_enter_moodle_with_resource_suggestions", agreement = "please_rate_your_agreement_with_the_following_statements",
useful = "the_alerts_were_useful" ,
annoying = "the_alerts_were_annoying" ,
other = "any_other_feedback_comments" ) %>%
mutate(course = "PSYC1A")
X1B_feedback <- read_csv(here::here("research_conferences", "ScienceMoodleWellbeing","1B-feedback.csv")) %>%
clean_names() %>%
select(autoalerts = "have_you_received_automated_alerts_from_this_course_i_e_occasional_small_textbox_that_pops_up_when_you_enter_moodle_with_resource_suggestions", agreement = "please_rate_your_agreement_with_the_following_statements",
useful = "the_alerts_were_useful" ,
annoying = "the_alerts_were_annoying" ,
other = "any_other_feedback_comments" ) %>%
mutate(course = "PSYC1B")
psyc_feedback <- rbind(X1A_feedback, X1B_feedback)
yesno <- psyc_feedback %>%
tabyl(autoalerts) %>%
adorn_totals()
seen <- yesno$n[2]
seen_prop <- (seen/total_students)*100
Of the 118 students who responded 65 said they had seen the autoalerts. These represents 6.61 % of the enrolled cohort. Unfortunately we don’t know when during the term they completed the feedback tool, so can’t tell whether they didn’t see the alerts just because they hadn’t been scheduled yet.
Remove missing responses (go from 118 to 99 responses), filter for just those who said they had seen the alerts (N = 64).
psyc_complete <- psyc_feedback %>%
filter(autoalerts == "Yes") %>%
select(course, autoalerts, useful, annoying) %>%
na.omit()
psyc_complete$useful <- factor(psyc_complete$useful, levels = c("Strongly disagree", "Disagree", "Neither agree or disagree", "Agree", "Strongly agree"))
psyc_complete$annoying <- factor(psyc_complete$annoying, levels = c("Strongly disagree", "Disagree", "Neither agree or disagree", "Agree", "Strongly agree"))
psyc_complete %>%
ggplot(aes(x = useful, fill = useful)) +
geom_bar() +
labs(title = "Responses to feedback question N= 64", subtitle= "The autoalerts were useful") +
easy_remove_legend() +
scale_y_continuous(expand = c(0,0), limits = c(0,50))
psyc_complete %>%
ggplot(aes(x = annoying, fill = annoying)) +
geom_bar() +
labs(title = "Responses to feedback question N=64", subtitle= "The autoalerts were annoying") +
easy_remove_legend() +
scale_y_continuous(expand = c(0,0), limits = c(0,50))
TAKE HOME: in psych courses the feedback tool data suggests most students who saw the alerts found them useful and not annoying.