You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 18:45:40