setwd("/Users/isaiahmireles/Desktop/Misconceptions")
# Midterm :
# F23
F23_M_VA <-
read.csv("F23_Midterm_Version_Set_Scores/Midterm_Version_A_scores.csv")
F23_M_VB <-
read.csv("F23_Midterm_Version_Set_Scores/Midterm_Version_B_scores.csv")
# W24
W24_M_VA <-
read.csv("W24_Midterm_Version_Set_Scores/Midterm_Version_A_scores.csv")
W24_M_VB <-
read.csv("W24_Midterm_Version_Set_Scores/Midterm_Version_B_scores.csv")
# S24
S24_M <-
read.csv("24S-STATS-10-LEC-4_Midterm/S24_Midterm_student_responses copy.csv")
# ------------------------------------------------------------------------------- #
# Final :
# F23
F23_F_VA <-
read.csv("F23_Final_Exam_Version_Set_Scores/Final_Exam_Version_A_scores.csv")
F23_F_VB <-
read.csv("F23_Final_Exam_Version_Set_Scores/Final_Exam_Version_B_scores.csv")
# W24
W24_F_VA <-
read.csv("W24_Final_Exam_Version_Set_Scores/Final_Exam_Version_A_scores.csv")
W24_F_VB <-
read.csv("W24_Final_Exam_Version_Set_Scores/Final_Exam_Version_B_scores.csv")
# S24
S24_F_VA <-
read.csv("S24_Final_Exam_Version_Set_Scores/Final_Exam_Version_A_scores.csv")
S24_F_VB <-
read.csv("S24_Final_Exam_Version_Set_Scores/Final_Exam_Version_B_scores.csv")Count how many times a user occurs multiple times
library(tidyverse)
bind_rows(
F23_M_VA |> mutate(dataset = "A"),
F23_M_VB |> mutate(dataset = "B")
) |>
group_by(First.Name, Last.Name) |>
summarise(
times = n(),
datasets = paste(unique(dataset), collapse = ", "),
.groups = "drop"
) |>
filter(times > 1)
bind_rows(
F23_M_VA |> mutate(dataset = "A"),
F23_M_VB |> mutate(dataset = "B")
) |>
group_by(First.Name, Last.Name) |>
summarise(
times = n(),
datasets = paste(unique(dataset), collapse = ", "),
.groups = "drop"
) |>
filter(times > 1) |>
count(datasets)Perhaps its only because non-graded are repeated in both?
bind_rows(
F23_M_VA |> filter(Status == "Graded") |> mutate(dataset = "A"),
F23_M_VB |> filter(Status == "Graded") |> mutate(dataset = "B")
) |>
group_by(First.Name, Last.Name) |>
summarise(
times = n(),
datasets = paste(unique(dataset), collapse = ", "),
.groups = "drop"
) |>
filter(times > 1)check_sid <- function(df) {
# Check whether SID column exists
if (is.null(df$SID)) {
return("SID column is NULL or does not exist")
}
df |>
mutate(idx = row_number()) |>
filter(
is.na(SID) |
trimws(as.character(SID)) == "" |
!grepl("^[0-9]+$", as.character(SID))
) |>
select(idx, SID)
}find_duplicates <- function(df) {
df |>
mutate(idx = row_number()) |>
group_by(SID) |> # grp by student id
filter(n() > 1) |>
ungroup() |>
pull(idx) # make vector
}bind_rows(
F23_F_VA |> filter(Status == "Graded") |> mutate(dataset = "A"),
F23_F_VB |> filter(Status == "Graded") |> mutate(dataset = "B")
) |>
group_by(First.Name, Last.Name) |>
summarise(
times = n(),
datasets = paste(unique(dataset), collapse = ", "),
.groups = "drop"
) |>
filter(times > 1)F23_F <- F23_F |>
left_join(
F23_M_dictionary |>
filter(!is.na(SID)) |>
distinct(SID, student_id),
by = "SID"
)# reconfigure questions
F23_M <- F23_M |>
rename_with(
~ paste0(
"Q",
sub("^X([0-9]+).*", "\\1", .x),
"_F23M"
),
matches("^X[0-9]+\\.\\.Question")
)F23_F <-
F23_F |>
rename_with(
~ paste0(
"Q",
sub("^X([0-9]+).*", "\\1", .x),
"_F23F"
),
matches("^X[0-9]+\\.\\.Question")
)So the final has 31Qs and Midterm has 34, so im checking what those values become :