From a08dcac7995827f6109ced9da7430cb8a034550b Mon Sep 17 00:00:00 2001 From: dcr-eyethink <151747088+dcr-eyethink@users.noreply.github.com> Date: Wed, 24 Apr 2024 19:10:39 +0100 Subject: [PATCH] plotly working --- analysis.Rmd | 34 +++++++++------ analysis/r theme-year.pdf | Bin 22009 -> 21920 bytes analysis/r ucl_all-year.pdf | Bin 6077 -> 6077 bytes analysis/rzall theme-year.pdf | Bin 7197 -> 7197 bytes docs/index.html | 77 +++++++++++++++++++++++----------- qkey3.csv | 8 ++-- 6 files changed, 78 insertions(+), 41 deletions(-) diff --git a/analysis.Rmd b/analysis.Rmd index ca3b5b6..b559f65 100644 --- a/analysis.Rmd +++ b/analysis.Rmd @@ -10,6 +10,8 @@ output: html_document This is a notebook to analyse NNS data from 2014-2023, based on data from NSS wesbite. +# Preprocessing + If you don't have eyethinkdata tools, install from github ```{r, eval=FALSE} @@ -20,6 +22,7 @@ Load in the package and the raw data. Note that this has been filtered to just p ```{r} library(eyethinkdata) +library(plotly) full_data <- fread("NSS_2014-23.csv") qkey <- data.table(read.csv("qkey3.csv")) ``` @@ -63,20 +66,25 @@ ggplot(d,aes(x=r,colour=year,group=year))+geom_density() So it broadly looks as though agreement in these statement overall peaks around the positive, "agree" response, but that over the years, responses have been slipping down for everyone. -Now let's plot UCL's last 10 years for each theme There are vertical gray bars here to denote when questionnaire changed, making comparisons difficult. I am going to exclude the themes for mental_health, personal, overall satisfaction and freedom as they only have single question each that were only asked in a handful of years. +# UCL results across the years + +Now let's plot UCL's last 10 years for each theme There are vertical gray bars here to denote when questionnaire changed, making comparisons difficult. I am going to exclude the themes for mental_health, personal, overall satisfaction and freedom as they only have single question each that were only asked in a handful of years. This is an interactive plot, so you can hover over the dots to see the questions, or zoom into regions ```{r} d[,tm:=ifelse(theme %in% c("mental_health", "personal", "freedom","overall"),FALSE,TRUE)] -# this is a plot element with the new questionnaires marked. We can reuse it -yp <- geom_vline(data=data.table(year=c(2016.5,2022.5)),alpha=0.1,linewidth=3,aes(xintercept=year)) -pirateye(d[Institution=="University College London" & tm],x_condition = "year", - colour_condition = "theme",line = T,dv="r",violin = F,error_bars = F)+yp - - +yp <- geom_vline(data=data.table(year=c(2016.5,2022.5)),alpha=0.1,size=3,aes(xintercept=year)) +p <- ggplot(d[Institution=="University College London" & tm],aes(x=year,y=r,colour=theme,text=paste(theme,q)))+yp+ + geom_line(data=d[Institution=="University College London" & tm,.(r=mean(r)),by=.(year,theme)], + aes(x=year,colour=theme,y=r),inherit.aes = F,size=1.5,alpha=.4)+ + geom_point(position = position_jitter(width = 0.3, height = 0.1),alpha=.6,size=2)+theme_bw() +ggplotly(p,tooltip = "text") ``` + So people love our resources! The rankings seem pretty stable over time here. Rankings seem higher pre 2017 and there is a drop off in 2023, but as the grey lines show, these changes are confounded by a different set of questions (and responses). What does seem clear here is that our weak point is our assessments. These are ranked low and if anything have been getting worse. +# UCL vs all other psych depts + How do we match up with the average psych dept? Here's all rankings over the years, comparing UCL against all other psych depts. ```{r} @@ -96,13 +104,13 @@ pirateye( d[ucl & tm],x_condition = "year",colour_condition = "theme",dodgewidt So now the psychology sector average for each year is 0, shown by heavy black line. Benchmarked like this, it looks like we had a good period of growth from 2016 onwards, and in the pandemic years we were well above the mean in almost everything. But again, our assessments are ranked below the mean and perhaps trending down -Let's try an interactive plot of the same info: +Let's try an interactive plot of the same info - hoover on dots to see what individual questions are. ```{r} -library(plotly) -p <- ggplot(d[Institution=="University College London" & tm],aes(x=year,y=rzall,colour=theme))+ - geom_line(data=d[Institution=="University College London" & tm,.(rzall=mean(rzall)),by=.(year,theme)])+ geom_point() -ggplotly(p) +p <- ggplot(d[Institution=="University College London" & tm],aes(x=year,y=rzall,colour=theme,text=q))+ + yp+geom_hline(aes(yintercept=0))+ + geom_line(data=d[Institution=="University College London" & tm,.(rzall=mean(rzall)),by=.(year,theme)],aes(x=year,colour=theme,y=rzall),inherit.aes = F,size=1.5,alpha=.4)+ + geom_point(position = position_jitter(width = 0.3, height = 0.1),alpha=.6,size=2)+theme_bw() +ggplotly(p,tooltip = "text") ``` - diff --git a/analysis/r theme-year.pdf b/analysis/r theme-year.pdf index 0eda0fca646ef1deb7c0860b941fa0020af8f249..af1cc87b2057102e5088bb9357b2f1e906ce4382 100644 GIT binary patch delta 17948 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 delta 25 ccmdn1zgK^P6|04jv7y;SdvOS3V|0=@0Axr9ApigX diff --git a/analysis/rzall theme-year.pdf b/analysis/rzall theme-year.pdf index 6ae46125d23f67b2eabfc03eb5813b73a95653f7..a6c263371614a6b7c19576cf2b7566f4e66dfc1a 100644 GIT binary patch delta 25 ccmbPhG1p>(6|1FzrJ>10dvOS3WAq_u0ATkAT>t<8 delta 25 ccmbPhG1p>(6|04jv7z}ydvOS3WAq_u0ARfbSpWb4 diff --git a/docs/index.html b/docs/index.html index 606106a..6862ed7 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2269,6 +2269,8 @@

NSS results

This is a notebook to analyse NNS data from 2014-2023, based on data from NSS wesbite.

+
+

Preprocessing

If you don’t have eyethinkdata tools, install from github

devtools::install_github("dcr-eyethink/eyethinkdata")

Load in the package and the raw data. Note that this has been @@ -2277,6 +2279,18 @@

NSS results

library(eyethinkdata)
## Loading required package: ggplot2
## Loading required package: data.table
+
library(plotly)
+
## 
+## Attaching package: 'plotly'
+
## The following object is masked from 'package:ggplot2':
+## 
+##     last_plot
+
## The following object is masked from 'package:stats':
+## 
+##     filter
+
## The following object is masked from 'package:graphics':
+## 
+##     layout
full_data <- fread("NSS_2014-23.csv")
 qkey <-  data.table(read.csv("qkey3.csv"))

First we need to translate the question numbers into the items and @@ -2323,23 +2337,46 @@

NSS results

So it broadly looks as though agreement in these statement overall peaks around the positive, “agree” response, but that over the years, responses have been slipping down for everyone.

+
+
+

UCL results across the years

Now let’s plot UCL’s last 10 years for each theme There are vertical gray bars here to denote when questionnaire changed, making comparisons difficult. I am going to exclude the themes for mental_health, personal, overall satisfaction and freedom as they only have single question each -that were only asked in a handful of years.

+that were only asked in a handful of years. This is an interactive plot, +so you can hover over the dots to see the questions, or zoom into +regions

d[,tm:=ifelse(theme %in% c("mental_health", "personal", "freedom","overall"),FALSE,TRUE)]
-# this is a plot element with the new questionnaires marked. We can reuse it
-yp <-  geom_vline(data=data.table(year=c(2016.5,2022.5)),alpha=0.1,linewidth=3,aes(xintercept=year))
-pirateye(d[Institution=="University College London" & tm],x_condition = "year",
-         colour_condition = "theme",line = T,dv="r",violin = F,error_bars = F)+yp
-

+yp <- geom_vline(data=data.table(year=c(2016.5,2022.5)),alpha=0.1,size=3,aes(xintercept=year)) +
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
+## ℹ Please use `linewidth` instead.
+## This warning is displayed once every 8 hours.
+## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
+## generated.
+
p <- ggplot(d[Institution=="University College London" & tm],aes(x=year,y=r,colour=theme,text=paste(theme,q)))+yp+
+  geom_line(data=d[Institution=="University College London" & tm,.(r=mean(r)),by=.(year,theme)],
+            aes(x=year,colour=theme,y=r),inherit.aes = F,size=1.5,alpha=.4)+
+  geom_point(position = position_jitter(width = 0.3, height = 0.1),alpha=.6,size=2)+theme_bw()
+ggplotly(p,tooltip = "text")
+
## Warning: `gather_()` was deprecated in tidyr 1.2.0.
+## ℹ Please use `gather()` instead.
+## ℹ The deprecated feature was likely used in the plotly package.
+##   Please report the issue at <https://github.com/plotly/plotly.R/issues>.
+## This warning is displayed once every 8 hours.
+## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
+## generated.
+
+

So people love our resources! The rankings seem pretty stable over time here. Rankings seem higher pre 2017 and there is a drop off in 2023, but as the grey lines show, these changes are confounded by a different set of questions (and responses). What does seem clear here is that our weak point is our assessments. These are ranked low and if anything have been getting worse.

+
+
+

UCL vs all other psych depts

How do we match up with the average psych dept? Here’s all rankings over the years, comparing UCL against all other psych depts.

d[,ucl:=ifelse(Institution=="University College London",TRUE,FALSE)]
@@ -2363,24 +2400,16 @@ 

NSS results

period of growth from 2016 onwards, and in the pandemic years we were well above the mean in almost everything. But again, our assessments are ranked below the mean and perhaps trending down

-

Let’s try an interactive plot of the same info:

-
library(plotly)
-
## 
-## Attaching package: 'plotly'
-
## The following object is masked from 'package:ggplot2':
-## 
-##     last_plot
-
## The following object is masked from 'package:stats':
-## 
-##     filter
-
## The following object is masked from 'package:graphics':
-## 
-##     layout
-
p <- ggplot(d[Institution=="University College London" & tm],aes(x=year,y=rzall,colour=theme))+ 
-  geom_line(data=d[Institution=="University College London" & tm,.(rzall=mean(rzall)),by=.(year,theme)])+ geom_point()
-ggplotly(p)
-
- +

Let’s try an interactive plot of the same info - hoover on dots to +see what individual questions are.

+
p <- ggplot(d[Institution=="University College London" & tm],aes(x=year,y=rzall,colour=theme,text=q))+
+  yp+geom_hline(aes(yintercept=0))+
+  geom_line(data=d[Institution=="University College London" & tm,.(rzall=mean(rzall)),by=.(year,theme)],aes(x=year,colour=theme,y=rzall),inherit.aes = F,size=1.5,alpha=.4)+
+  geom_point(position = position_jitter(width = 0.3, height = 0.1),alpha=.6,size=2)+theme_bw()
+ggplotly(p,tooltip = "text")
+
+ +
diff --git a/qkey3.csv b/qkey3.csv index 9127e90..3a8e349 100644 --- a/qkey3.csv +++ b/qkey3.csv @@ -21,8 +21,8 @@ Q19,The course has helped me present myself with confidence.,personal,confidence Q20,My communication skills have improved.,personal,commskill,"I have been able to access course-specific resources (e.g. equipment, facilities, software, collections) when I needed to",resource,access,"How well have the library resources (e.g., books, online services and learning spaces) supported your learning?",resource,library Q21,"As a result of the course, I feel confident in tackling unfamiliar problems.",personal,problemsolve,I feel part of a community of staff and students,community,staffstudent,"How easy is it to access subject specific resources (e.g., equipment, facilities, software) when you need them?",resource,access Q22,"Overall, I am satisfied with the quality of the course.",overall,satisfied,I have had the right opportunities to work with other students as part of my course,community,studentwork,To what extent do you get the right opportunities to give feedback on your course?,voice,opportunity -Q23,,,,I have had the right opportunities to provide feedback on my course,voice,opportunity,To what extent are students' opinions about the course valued by staff?,voice,valued -Q24,I am satisfied with the Students' Union (Association or Guild) at my institution.,union,rep,Staff value students views and opinions about the course,voice,valued,How clear is it that students' feedback on the course is acted on?,voice,acted_upon -Q25,,,,It is clear how students feedback on the course has been acted on,voice,acted_upon,How well does the students' union (association or guild) represent students' academic interests?,union,rep -Q26,,,,The students union (association or guild) effectively represents students academic interests,union,rep,How well communicated was information about your university/college's mental wellbeing support services?,mental_health,comms +Q23,,,,I have had the right opportunities to provide feedback on my course,voice,opportunity,To what extent are students opinions about the course valued by staff?,voice,valued +Q24,I am satisfied with the Students Union (Association or Guild) at my institution.,union,rep,Staff value students views and opinions about the course,voice,valued,How clear is it that students feedback on the course is acted on?,voice,acted_upon +Q25,,,,It is clear how students feedback on the course has been acted on,voice,acted_upon,How well does the students union (association or guild) represent students academic interests?,union,rep +Q26,,,,The students union (association or guild) effectively represents students academic interests,union,rep,How well communicated was information about your university/colleges mental wellbeing support services?,mental_health,comms Q27,,,,"Overall, I am satisfied with the quality of the course",overall,satisfied,"During your studies, how free did you feel to express your ideas, opinions, and beliefs?",freedom,expression \ No newline at end of file