[1] "Timestamp"
[2] "Email Address"
[3] "Which days of the bootcamp will you attend?"
[4] "What is your name?"
[5] "What is your department or unit?"
[6] "What is your current position?"
[7] "Any comments?"
[8] "Are you interested in registering for the 2.5 day bootcamp or the Keynote address(es)?"
[9] "Which Keynote address(es) are you interested in attending?"
[10] "presenter"
Google Forms conveniently returns the questions as variable names at the top of each column. These are handy for creating a data dictionary, but awkward for data processing. We rename these for our convenience. We also export a data dictionary.
Code
reqistrations_qs <-names(registrations)registrations_clean <- registrations |> dplyr::rename(timestamp ="Timestamp",attend_days ="Which days of the bootcamp will you attend?",name ="What is your name?",psu_email ="Email Address",dept ="What is your department or unit?",position ="What is your current position?",comments ="Any comments?",bootcamp_keynote ="Are you interested in registering for the 2.5 day bootcamp or the Keynote address(es)?",which_keynotes ="Which Keynote address(es) are you interested in attending?" )registrations_short <-c("timestamp","psu_email","attend_days","name","dept","position","bootcamp_keynote","which_keynotes","comments","presenter")registrations_pid <-c(FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE)registrations_dd <-data.frame(qs = reqistrations_qs, qs_short = registrations_short, pid = registrations_pid)registrations_dd |> knitr::kable(format ='html')readr::write_csv(registrations_dd,file =file.path(params$csv_dir, "registrations-2025-data-dict.csv"))
Table 9.1: A minimal data dictionary.
qs
qs_short
pid
Timestamp
timestamp
FALSE
Email Address
psu_email
FALSE
Which days of the bootcamp will you attend?
attend_days
FALSE
What is your name?
name
TRUE
What is your department or unit?
dept
FALSE
What is your current position?
position
FALSE
Any comments?
bootcamp_keynote
FALSE
Are you interested in registering for the 2.5 day bootcamp or the Keynote address(es)?
which_keynotes
FALSE
Which Keynote address(es) are you interested in attending?
comments
FALSE
presenter
presenter
FALSE
Last, we convert the text dates into date/time objects and created a new registered variable.
Figure 9.2: Registrations vs. attendees by day and position
Registrants by unit
Code
registrations_yes <- registrations_yes |> dplyr::mutate(dept = dplyr::recode( dept,`Department of Chemical Engineering`="Chemical Engineering",`Clinical Psychology`="Psychology",`Psychology (Cognitive)`="Psychology",`Psychology / SSRI`="Psychology",`Department of Psychology`="Psychology",`Cognitive Psychology`="Psychology",`Psych`="Psychology",`English language`="English",`english`="English",`English Language Teaching`="English",`English Department`="English",`Languages`="Global Languages & Literatures",`Languages and Literature`="Global Languages & Literatures",`Department of Foreign Languages`="Global Languages & Literatures",`Linguistics`="Applied Linguistics",`Human Development and Family Studies & Social Data Analytics`="HDFS",`Human Development and Family Studies`="HDFS",`Human Development and Family Studies (HDFS)`="HDFS",`Department of Human Development and Family Studies`="HDFS",`HDFS/DEMO`="HDFS",`RPTM`="Recreation, Park, & Tourism Management",`Sociology and Social Data Analytics`="Sociology",`Spanish Italian and portuguese`="Spanish, Italian, & Portuguese",`Spanish, Italian, and Portuguese Department`="Spanish, Italian, & Portuguese",`Spanish Italian and Portuguese`="Spanish, Italian, & Portuguese",`Nutrition`="Nutritional Sciences",`College of IST`="IST",`Statistics Department`="Statistics",`Recreation, Park and Tourism Management`="Recreation, Park, & Tourism Management",`SHS`="Student Health Svcs",`ESM`="Engineering Science & Mechanics",`Engineering Science`="Engineering Science & Mechanics",`Engineering Science and Mechanics`="Engineering Science & Mechanics",`Department of Food Science`="Food Science",`Libraries`="University Libraries",`University libraries`="University Libraries",`Astronomy and Astrophysics`="Astronomy & Astrophysics" ) ) |> dplyr::mutate(college =case_match( dept,"Statistics"~"ECoS","Biology"~"ECoS","Psychology"~"CLA","Spanish, Italian, & Portuguese"~"CLA","Research Informatics and Publishing"~"Libraries","Political Science"~"CLA","Applied Linguistics"~"CLA","Global Languages & Literatures"~"CLA","Sociology"~"CLA","English"~"CLA","C-SoDA"~"CLA","Office of Digital Pedagogies and Initiatives"~"CLA","Asian Studies"~"CLA","IST"~"IST","Chemical Engineering"~"Engineering","Material Science and Engineering"~"Engineering","Engineering Science & Mechanics"~"Engineering","Biomedical Engineering"~"Engineering","Nutritional Sciences"~"HHD","HDFS"~"HHD","Kinesiology"~"HHD","Recreation, Park, & Tourism Management"~"HHD","Bellisario College of Communication"~"Comm","Marketing"~"Smeal","Food Science"~"Ag","Neuroscience"~"Med","College of Human and Health Development"~"HHD","University Libraries"~"Libraries","ICDS"~"ICDS","EESI"~"EESI","ORP"~"OVPR","Astronomy & Astrophysics"~"ECoS" ),.default ="Unknown",.missing ="Unknown" )
Code
registrations_yes |> dplyr::filter(!is.na(dept), dept !="University of Pennsylvania") |>ggplot() +aes(x = dept, fill = college) +geom_bar() +theme(legend.position ="bottom") +theme(legend.title =element_blank()) +coord_flip()
Figure 9.3: Registrations by department and college/unit.