set.seed(20)
library(tidyr)
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)
)
student_data <- gather(student_data, "exam", "score")
head(student_data)
## exam score
## 1 student_id 1
## 2 student_id 2
## 3 student_id 3
## 4 student_id 4
## 5 student_id 5
## 6 student_id 6
set.seed(30)
library(tidyr)
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")
)
student_data2 <- separate(student_data2, "name_age", c("name", "age"), sep="_")
student_data2 <- separate(student_data2, "exam_scores", c("midterm1", "midterm2", "final"), sep=",")
student_data2 <- separate(student_data2, midterm1, into = c("midterm1", "midterm1_score"), sep = "_")
student_data2 <- separate(student_data2, midterm2, into = c("midterm2", "midterm2_score"), sep = "_")
student_data2 <- separate(student_data2, final, into = c("final", "final_score"), sep = "_")
student_data2 <- student_data2[, !names(student_data2) %in% "midterm1"]
student_data2 <- student_data2[, !names(student_data2) %in% "midterm2"]
student_data2 <- student_data2[, !names(student_data2) %in% "final"]
student_data2 <- gather(student_data2, "exam_type", "score")
head(student_data2)
## exam_type score
## 1 student_id 1
## 2 student_id 2
## 3 student_id 3
## 4 student_id 4
## 5 student_id 5
## 6 student_id 6