task1

set.seed(123) # Setting seed for reproducibility

library(tidyr)

Data

student_data <- data.frame( student_id = 1:50, name = paste0(“Student”, 1:50), midterm1 = sample(60:100, 50, replace = TRUE), midterm2 = sample(60:100, 50, replace = TRUE), final = sample(60:100, 50, replace = TRUE) )

Transform data to long format using pivot_longer

student_data_long <- pivot_longer(student_data, cols = starts_with(“midterm”) | final, names_to = “exam”, values_to = “score”)

Data

student_data2 <- data.frame( student_id = 1:50, name_age = c(“John_21”, “Alice_20”, “Bob_22”, “Emily_23”, “Michael_22”), exam_scores = c(“midterm1_80,midterm2_85,final_75”, “midterm1_75,midterm2_78,final_80”, “midterm1_82,midterm2_80,final_85”, “midterm1_88,midterm2_90,final_92”, “midterm1_85,midterm2_86,final_88”) )

Split variables name_age to 2 separate columns: name and age

student_data2 <- separate(student_data2, name_age, into = c(“name”, “age”), sep = “_“)

Split variables exam_scores to separate columns for each exam type

student_data2 <- separate(student_data2, exam_scores, into = c(“exam1”, “score1”, “exam2”, “score2”, “exam3”, “score3”), sep = “,|_“)

Transform student_data2 to long format

student_data2_long <- pivot_longer(student_data2, cols = starts_with(“score”), names_to = “exam”, values_to = “score”)

Data

student_data <- data.frame( student_id = 1:50, name_age = c(“John_21”, “Alice_20”, “Bob_22”, “Emily_23”, “Michael_22”), exam_scores = c(“midterm1_80,midterm2_85,final_75”, “midterm1_75,midterm2_78,final_80”, “midterm1_82,midterm2_80,final_85”, “midterm1_88,midterm2_90,final_92”, “midterm1_85,midterm2_86,final_88”) )

Split variables name_age to 2 separate columns: name and age

student_data <- separate(student_data, name_age, into = c(“name”, “age”), sep = “_“)

Split variables exam_scores to separate columns for each exam type

exam_scores_split <- separate(student_data, exam_scores, into = c(“exam1”, “score1”, “exam2”, “score2”, “exam3”, “score3”), sep = “,|_“)

Reshape data to wide format

student_data_wide <- pivot_wider(exam_scores_split, names_from = c(“exam1”, “exam2”, “exam3”), values_from = c(“score1”, “score2”, “score3”))

Data

student_data <- data.frame( student_id = 1:50, name_age = c(“John_21”, “Alice_20”, “Bob_22”, “Emily_23”, “Michael_22”), exam_scores = c(“midterm1_80,midterm2_85,final_75”, “midterm1_75,midterm2_78,final_80”, “midterm1_82,midterm2_80,final_85”, “midterm1_88,midterm2_90,final_92”, “midterm1_85,midterm2_86,final_88”) )

Merge variables name and age to one column called name_age using unite()

student_data <- separate(student_data, name_age, into = c(“name”, “age”), sep = “_“)

Merge variables name and age to one column called name_age using unite()

student_data <- unite(student_data, name_age, name, age, sep = “_“)