gpt4 book ai didi

r - 计算 r 中的成绩

转载 作者:行者123 更新时间:2023-12-01 16:26:33 29 4
gpt4 key购买 nike

我正在计算一门类(class)的最终平均值。大约有 500 名学生,成绩被组织到 .csv 文件中。列标题包括:

Name, HW1, ..., HW10, Quiz1, ..., Quiz5, Exam1, Exam2, Final

每个的权重都不同,这不应该成为编程问题。然而,每个学生的最低 2 HW 和最低 Quiz 都会被删除。我如何在 r 中对此进行编程?请注意,每个学生放弃的 HW/测验可能不同(即学生 A 放弃了 HW2、HW5、测验 2,学生 B 放弃了 HW4、HW8、测验 1)。

最佳答案

这是一个更简单的解决方案。 sum_after_drop 函数采用向量 x 并删除 i 最低分数并对剩余分数求和。我们为数据集中的每一行调用此函数。 ddply 对于这项工作来说有点大材小用,但让事情变得简单。您应该能够使用 apply 来完成此操作,只不过您必须将最终结果转换为数据框。

然后可以在dd2上进行实际成绩计算。请注意,使用带有 breakscut 函数是从总分中获取字母等级的简单方法。

library(plyr)
sum_after_drop <- function(x, i){
sum(sort(x)[-(1:i)])
}

dd2 = ddply(dd, .(Name), function(d){
hw = sum_after_drop(d[,grepl("HW", nms)], 1)
qz = sum_after_drop(d[,grepl("Quiz", nms)], 1)
data.frame(hw = hw, qz = qz)
})

关于r - 计算 r 中的成绩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23530324/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com