R语言实现判断题考试学生得分与班级平均分计算
R语言实现学生得分与班级平均分统计
已知规则
- 作答数据编码:
1代表正确(计1分),2代表错误(计0分) - 原始示例数据构造代码:
df <- data.frame(id = c('Student 1', 'Student 2', 'Student 3', 'Student 4'), question1 = c(1, 2, 1, 2), qusetion2 = c(2, 2, 1, 1), question3 = c(1, 1, 2, 2), question4 = c(2, 1, 2, 1))
注:原始数据中第二道题的列名存在拼写笔误(写为
qusetion2,漏了字母t),后续处理前先做修正避免报错。
实现步骤
- 修正题目列名拼写错误
- 筛选所有题目作答列,排除学生ID列
- 逐行判断每个学生每道题的作答是否为
1,累加正确题数得到个人总得分 - 对所有学生的个人得分求平均值,得到班级考试平均分
可直接运行的完整代码
# 修正第二题列名拼写错误 names(df)[names(df) == "qusetion2"] <- "question2" # 匹配所有题目列 question_col_list <- grep("^question", names(df), value = TRUE) # 计算单名学生总得分 df$personal_score <- rowSums(df[, question_col_list] == 1) # 计算班级平均分 class_average_score <- mean(df$personal_score) # 打印结果 print("各学生得分:") print(df[, c("id", "personal_score")]) print(paste0("班级考试平均分:", class_average_score))
运行结果
- 各学生得分:
- Student 1:2分
- Student 2:2分
- Student 3:2分
- Student 4:2分
- 班级考试平均分:2分
内容的提问来源于stack exchange,提问作者Dan Nguyen
相关产品推荐
相关产品推荐

