首页 > 解决方案 > 如何总结和打印所有练习的分数?

问题描述

我知道r-exam我可以为练习分配分数,例如。通过expoints练习的元数据。但是,我不知道要获得所有练习的总和。

作为一个特定的用例:考虑一个(根据正式的大学要求)必须包含(比如说)90 分的测试。所以,我需要通过测试的练习来跟踪已经包含的点数。

我不知道哪个变量跟踪这个分数(如果有的话)。

标签: r-exams

解决方案


你是对的,这个信息不是直接可用的,但是它可以从任何exams2xyz()接口的输出中包含的元信息中提取出来。作为一个简单的例子,考虑:

library("exams")
set.seed(0)
exm <- exams2pdf(c("swisscapital.Rmd", "deriv.Rmd", "ttest.Rmd"),
  n = 1, points = c(1, 17, 2))

现在exm是一个只有 n = 1 个考试的列表,由三个练习组成,每个练习都提供了它的元数据(以及其他细节)。因此,您可以通过以下方式在第一次(也是唯一一次)考试中提取第二个练习的分数:

exm[[1]][[2]]$metainfo$points
## [1] 17

因此,要从第一次考试的所有练习中获得分数:

sapply(exm[[1]], function(y) y$metainfo$points)
## exercise1 exercise2 exercise3 
##         1        17         2 

当然,在这里它points是明确设置的exams2pdf(),因此是已知的。expoints但是,如果通过单个练习中的标签设置点数,也可以使用相同的方法。


推荐阅读