- 随机产生50名同学的学号、数学、英语、统计学成绩,要求: 1)学号为 2)成绩服从正态分布,且数学成绩在40-100分之间,英语成绩在50-100分之间,
学习测试代码
set.seed(0)
# 生成随机学生ID
student_ids <- sprintf("G42%02d", 1:50)
# 定义一个函数,用于在指定范围内生成服从正态分布的成绩
generate_scores <- function(min, max, n) {
scores <- rnorm(n, mean=(max+min)/2, sd=(max-min)/6)
scores <- pmax(pmin(round(scores), max), min)
return(scores)
}
# 为数学、英语和统计学生成指定范围内的成绩
math_scores <- generate_scores(40, 100, 50)
english_scores <- generate_scores(50, 100, 50)
statistics_scores <- generate_scores(40, 100, 50)
# 创建数据框
df <- data.frame(StudentID=student_ids, Math=math_scores, English=english_scores, Statistics=statistics_scores)