更改 exams2moodle() 函数中问题的默认标点符号

Changing the default punctuation of the questions in `exams2moodle()` function

我想使用 exams2moodle() 函数生成一堆带有选择题的考试。每个问题将有 4 个备选答案,其中只有一个正确答案。这很正常,但我想更改标记的默认行为。通常的行为是,如果你 select 正确答案,你得到 100%,如果你 select 3 个错误答案之一,你得到 -33%,但我想将其更改为 100%,但 -25 %。这可能吗? 谢谢

这不受官方支持。请注意,默认负分值为 1/#false 的原因是随机猜测的期望值为 0。您的建议仍然会有轻微的正期望值。

对于 exams2moodle()(但不适用于所有其他界面),可以使用一种有点 hacky 的解决方法:

ee <- exams_eval()
ee$pointvec <- function(correct) {
  if(is.logical(correct)) correct <- paste(as.integer(correct), collapse = "")
  c(pos = 1, neg = -1/nchar(correct))
}

这产生:

ee$pointvec("1000")
##  pos   neg 
## 1.00 -0.25 

并且在 exams2moodle() 的情况下,$pointvec 是使用的评估策略的唯一部分。因此,您可以这样做:

exams2moodle(..., schoice = list(eval = ee))

导致期望的行为。