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

时间:2020-05-07 20:20:22

标签: r-exams

我想使用exams2moodle()函数生成一堆包含选择题的考试。每个问题将有4个替代答案,其中只有一个TRUE答案。这很正常,但我想更改商标的默认行为。通常的行为是,如果您选择正确的答案,您将获得100%的收益;如果您选择3个不良答案之一,您将获得-33%的收益,但是我想将其更改为100%但-25%。有可能吗 谢谢

1 个答案:

答案 0 :(得分:2)

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

对于exams2moodle()(但不适用于所有其他接口),可以使用有点黑的工作方式:

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))

导致期望的行为。