Load Libraries

library(ggplot2)
library(tidyr)
library(dplyr)

Load Data

df <- read.csv(file="new_data/export.csv", header=T)

# Convert 'term' to a factor to ensure correct ordering
df <- df %>%
  mutate(term = factor(term, levels = c("f18pr",
                                        "f18po",
                                        "w19pr",
                                        "w19po",
                                        "s19pr",
                                        "s19po",
                                        "f19pr",
                                        "f19po",
                                        "w20pr",
                                        "w20po",
                                        "s20pr",
                                        "s20po",
                                        "f20pr",
                                        "f20po",
                                        "w21pr",
                                        "w21po",
                                        "s21pr",
                                        "s21po",
                                        "f21pr",
                                        "f21po")))

# Reshape the data to long format
df_long <- df %>%
  pivot_longer(cols = c(id, rec,pc,vpc,int,app,conn), names_to = "vars", values_to = "value")

library(forcats)
df_long$vars <- fct_recode(df_long$vars,
                            "Applications" = "app",
                            "Connections" = "conn",
                            "Overall ID" = "id",
                            "Interest" = "int",
                            "PC" = "pc",
                            "Recognition" = "rec",
                            "Verbal PC" = "vpc")

df_long$altid <- as.factor(df_long$altid)

Plots

# Create a plot for each altid
n <- 1
for (id in 1:93) {
  tempdf <- subset(df_long, altid == unique(df_long$altid)[n])
  
  print(paste("Changes in Scores Over Time Alt ID:", unique(df_long$altid)[n]))
  
  plot <- ggplot(tempdf, aes(x = interaction(term, BIOL_Crse), y = value, group = vars, color = vars, linetype = factor(vars))) +
    geom_line(size = 1) +
    labs(title = paste("Changes in Scores Over Time (Alt ID:", unique(df_long$altid)[n], ")"),
         x = "Term & BIOL_Crse",
         y = "Score",
         color = "Variables",
         linetype = "Variables") +
    ylim(1, 5) +
    theme_minimal() +
    theme(axis.text.x = element_text(angle = 45, hjust = 1),
          plot.margin = margin(0, 0, 3, 0, "cm"))
  
  print(plot)
  n <- n + 1
}
## [1] "Changes in Scores Over Time Alt ID: 12"

## [1] "Changes in Scores Over Time Alt ID: 36"

## [1] "Changes in Scores Over Time Alt ID: 50"

## [1] "Changes in Scores Over Time Alt ID: 51"

## [1] "Changes in Scores Over Time Alt ID: 53"

## [1] "Changes in Scores Over Time Alt ID: 67"

## [1] "Changes in Scores Over Time Alt ID: 75"

## [1] "Changes in Scores Over Time Alt ID: 77"

## [1] "Changes in Scores Over Time Alt ID: 89"

## [1] "Changes in Scores Over Time Alt ID: 126"

## [1] "Changes in Scores Over Time Alt ID: 234"

## [1] "Changes in Scores Over Time Alt ID: 236"

## [1] "Changes in Scores Over Time Alt ID: 248"

## [1] "Changes in Scores Over Time Alt ID: 263"

## [1] "Changes in Scores Over Time Alt ID: 277"

## [1] "Changes in Scores Over Time Alt ID: 284"

## [1] "Changes in Scores Over Time Alt ID: 295"

## [1] "Changes in Scores Over Time Alt ID: 297"

## [1] "Changes in Scores Over Time Alt ID: 307"

## [1] "Changes in Scores Over Time Alt ID: 309"

## [1] "Changes in Scores Over Time Alt ID: 310"

## [1] "Changes in Scores Over Time Alt ID: 320"

## [1] "Changes in Scores Over Time Alt ID: 342"

## [1] "Changes in Scores Over Time Alt ID: 345"

## [1] "Changes in Scores Over Time Alt ID: 359"

## [1] "Changes in Scores Over Time Alt ID: 380"

## [1] "Changes in Scores Over Time Alt ID: 383"

## [1] "Changes in Scores Over Time Alt ID: 392"

## [1] "Changes in Scores Over Time Alt ID: 398"

## [1] "Changes in Scores Over Time Alt ID: 404"

## [1] "Changes in Scores Over Time Alt ID: 421"

## [1] "Changes in Scores Over Time Alt ID: 425"

## [1] "Changes in Scores Over Time Alt ID: 450"

## [1] "Changes in Scores Over Time Alt ID: 479"

## [1] "Changes in Scores Over Time Alt ID: 492"

## [1] "Changes in Scores Over Time Alt ID: 566"

## [1] "Changes in Scores Over Time Alt ID: 576"

## [1] "Changes in Scores Over Time Alt ID: 581"

## [1] "Changes in Scores Over Time Alt ID: 596"

## [1] "Changes in Scores Over Time Alt ID: 597"

## [1] "Changes in Scores Over Time Alt ID: 605"

## [1] "Changes in Scores Over Time Alt ID: 613"

## [1] "Changes in Scores Over Time Alt ID: 622"

## [1] "Changes in Scores Over Time Alt ID: 641"

## [1] "Changes in Scores Over Time Alt ID: 662"

## [1] "Changes in Scores Over Time Alt ID: 675"

## [1] "Changes in Scores Over Time Alt ID: 685"

## [1] "Changes in Scores Over Time Alt ID: 688"

## [1] "Changes in Scores Over Time Alt ID: 691"

## [1] "Changes in Scores Over Time Alt ID: 697"

## [1] "Changes in Scores Over Time Alt ID: 714"

## [1] "Changes in Scores Over Time Alt ID: 732"

## [1] "Changes in Scores Over Time Alt ID: 755"

## [1] "Changes in Scores Over Time Alt ID: 785"

## [1] "Changes in Scores Over Time Alt ID: 796"

## [1] "Changes in Scores Over Time Alt ID: 808"

## [1] "Changes in Scores Over Time Alt ID: 833"

## [1] "Changes in Scores Over Time Alt ID: 844"

## [1] "Changes in Scores Over Time Alt ID: 865"

## [1] "Changes in Scores Over Time Alt ID: 866"

## [1] "Changes in Scores Over Time Alt ID: 869"

## [1] "Changes in Scores Over Time Alt ID: 872"

## [1] "Changes in Scores Over Time Alt ID: 887"

## [1] "Changes in Scores Over Time Alt ID: 920"

## [1] "Changes in Scores Over Time Alt ID: 926"

## [1] "Changes in Scores Over Time Alt ID: 929"

## [1] "Changes in Scores Over Time Alt ID: 932"

## [1] "Changes in Scores Over Time Alt ID: 934"

## [1] "Changes in Scores Over Time Alt ID: 935"

## [1] "Changes in Scores Over Time Alt ID: 941"

## [1] "Changes in Scores Over Time Alt ID: 947"

## [1] "Changes in Scores Over Time Alt ID: 959"

## [1] "Changes in Scores Over Time Alt ID: 982"

## [1] "Changes in Scores Over Time Alt ID: 1001"

## [1] "Changes in Scores Over Time Alt ID: 1010"

## [1] "Changes in Scores Over Time Alt ID: 1021"

## [1] "Changes in Scores Over Time Alt ID: 1025"

## [1] "Changes in Scores Over Time Alt ID: 1026"

## [1] "Changes in Scores Over Time Alt ID: 1037"

## [1] "Changes in Scores Over Time Alt ID: 1040"

## [1] "Changes in Scores Over Time Alt ID: 1051"

## [1] "Changes in Scores Over Time Alt ID: 1063"

## [1] "Changes in Scores Over Time Alt ID: 1101"

## [1] "Changes in Scores Over Time Alt ID: 1126"

## [1] "Changes in Scores Over Time Alt ID: 1143"

## [1] "Changes in Scores Over Time Alt ID: 1170"

## [1] "Changes in Scores Over Time Alt ID: 1183"

## [1] "Changes in Scores Over Time Alt ID: 1187"

## [1] "Changes in Scores Over Time Alt ID: 1265"

## [1] "Changes in Scores Over Time Alt ID: 1271"

## [1] "Changes in Scores Over Time Alt ID: 1280"

## [1] "Changes in Scores Over Time Alt ID: 1284"

## [1] "Changes in Scores Over Time Alt ID: 1310"