# UCL R tutoring - Lesson 1 - Instructor answer key
# Created: 2026-10-30 | v1.0 | Base R only
# KEEP THIS FILE SEPARATE from student exercise sheet.

student_id  <- paste0("S", 1:8)
study_hours <- c(1, 2, 2, 3, 4, 4, 5, 6)
quiz_score  <- c(42, 48, 55, 62, 69, 74, 82, 90)
group       <- c("A", "B", "A", "B", "A", "B", "A", "B")
class_data <- data.frame(student_id, study_hours, quiz_score, group)

# Task 1
practice <- c(3, 6, 9, 12)
print(practice)
# Task 2
print(length(practice))                  # 4
print(mean(practice))                    # 7.5
# Task 3
print(practice[practice > 6])            # 9 12
# Task 4
print(mean(class_data$study_hours))      # 3.375
# Task 5
print(max(class_data$quiz_score))        # 90
# Task 6
plot(class_data$study_hours, class_data$quiz_score,
     xlab = "Study hours", ylab = "Quiz score",
     main = "Illustrative synthetic data", pch = 19)
# Bonus
print(mean(class_data$quiz_score[class_data$group == "A"]))  # 62

# Instructor numerical checks. These should all be TRUE.
stopifnot(nrow(class_data) == 8,
          ncol(class_data) == 4,
          length(practice) == 4,
          mean(practice) == 7.5,
          mean(class_data$quiz_score) == 65.25,
          median(class_data$quiz_score) == 65.5,
          mean(class_data$study_hours) == 3.375,
          mean(class_data$quiz_score[class_data$group == "A"]) == 62)
cat("Numeric checks passed.\n")
