This week’s data dive asks specifically about the documentation of our data set. Specifically, the data dives asks for 3 columns that are unclear before reading the documentation and then an element that is unclear even after reading the documentation.
To begin this data dive, I will load the data set and relevant libraries below.
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.2
## Warning: package 'ggplot2' was built under R version 4.3.2
## Warning: package 'tidyr' was built under R version 4.3.2
## Warning: package 'readr' was built under R version 4.3.2
## Warning: package 'purrr' was built under R version 4.3.2
## Warning: package 'dplyr' was built under R version 4.3.2
## Warning: package 'stringr' was built under R version 4.3.2
## Warning: package 'forcats' was built under R version 4.3.2
## Warning: package 'lubridate' was built under R version 4.3.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.4.4 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(purrr)
library(plotrix)
## Warning: package 'plotrix' was built under R version 4.3.2
library(readxl)
data0 <- read_excel("~/IUPUI/Research/Computational_Data/Comp_Data/F18-F23_Survey_Data_Clean.xlsx")
view(data0)
The documentation for this data is a little strange, but in general, the documentation provides the prompts for each survey item. Without reading the documentation, it is impossible to know what is meant by the column names “Comp1”, “Comp2”, “Comp3”, etc. After reading the documentation, it is clear that the column “Comp1” refers to the student answers to the first computational survey item and that the prompt is asking students to rate their agreement with the statement, “Computational, experimental, and analytical (”pencil and paper math”) methods are all necessary in the field of physics.
The documentation then provides the prompts for the other prompts as well. The second unclear column (“Comp2”) contains the responses to the prompt, “Using computational methods helps me understand physics topics. The third,”Comp3” contains responses to the prompt. “I can sometimes use computational methods to understand problems that I am unable to do analytically.”
The documentation provides the prompts for the students, but it does not provide an explanation for the specifics to the student responses. For example, there are no values above 5 for the survey items beginning with “Comp”, but there are multiple values above 5 for the survey items beginning with “Initial” and “Present.” That seems strange, and unless you know the specifics to what the students were asked to do, it is impossible to simply intuit this from the data.
This can be seen by simply comparing the averages for each survey item. It would be a little overkill to do this excercise for every survey item, so I will simply compare the first 3 of each survey item group (i.e, “comp”, “initial”, “present”).
data1 <-
data0 |>
group_by(Overall_Level) |>
summarise(avg_Comp1 = mean(Comp1, na.rm=TRUE),
avg_Comp2 = mean(Comp2, na.rm=TRUE),
avg_Comp3 = mean(Comp3, na.rm=TRUE),
avg_initial1 = mean(Initial1, na.rm=TRUE),
avg_initial2 = mean(Initial2, na.rm=TRUE),
avg_initial3 = mean(Initial3, na.rm=TRUE),
avg_present1 = mean(Present1, na.rm=TRUE),
avg_present2 = mean(Present2, na.rm=TRUE),
avg_present3 = mean(Present3, na.rm=TRUE),
)
view(data1)
While it is knowable what each prompt was, the survey technique is not knowable from the data or the documentation. It is not immediately clear why the average across the “present1” column would be ~7 while the averages for the “Comp” columns are all <5.
This could be made clearer in the documentation by providing a copy of the survey in its entirety. If this was done, it would be clear that the students were asked to provide responses to survey items in two different ways.
First, in the “Comp” survey prompts to provide responses on a Likert Scale (strongly disagree, disagree, neutral, agree, strongly agree), though it is also important to note that Likert scale prompts in general are not limited to just those five answers, but that these were the responses provided to the students in this survey. The Likert responses were then converted to raw numbers by assigning each response a value (strongly disagree = 1, disagree = 2, etc).
The “Initial” and “Final” prompts were then where students were asked to rate themselves on a scale of 1-10 for a variety of skills based on when they started the physics program at IUPUI (intial), and then to rate those same skills for where the students are currently in the physics program (present). These values were not converted from qualitative to quantitative data like the first set, which is an important distinction and should very much be in the documentation for the data.
The third component of the data dive requires a visualization of the unclear data to highlight what is unclear. It is somewhat challenging to build a visualization that highlights what is unclear, but a simple way to do this would be to simply add a bar chart for the survey items. While there are a number of ways to do this more efficiently, in the interest of time I will simply compare the averages for Comp1 and Present1 using two different plots which will visualize the “unexplained” difference between the two.
plot1 <-
ggplot(data1)+
geom_col(mapping = aes(x = as.character(Overall_Level), y = avg_Comp1))
plot2 <-
ggplot(data1)+
geom_col(mapping = aes(x = as.character(Overall_Level), y = avg_present1))
plot1
plot2