是否可以为 exams2nops 考试添加四个以上的答案选项?

Is it possible to add more than four answer options to exams2nops exams?

exams2nops 考试的答案选项是否可以超过 4 个?我试图设置选项 nchoice = 6 但它没有产生任何效果。我在对应的 *.rmd 练习中有 6 个答案选项。

一个例子:

exams2nops(questions, n = 1, nsamp = 1, encoding = "UTF-8",  blank = 0,  nchoice = 6, duplex = T, reglength = 5L, points = 4, replacement = T,schoice = list(eval = ee))

和练习 *.rmd:

```{r}
df <- readRDS(file = "some.rds")

variable <- names(df[,4:7]) %>% sample(1)

measCT<- ifelse(variable==names(df)[4],"Mean",
        ifelse(variable==names(df)[5],"Mean",
           ifelse(variable==names(df)[6],"Median",
              ifelse(variable==names(df)[7],"Median",NaN))))


measuresTC <- c("Mode", "Percentile 25", "Percentile 75", "Median", "Mean", "Geometric mean")

options_answers <- paste0(c(measCT,measuresTC[!measuresTC %in% measCT]))
solutions <- c(T,F,F,F,F,F)
```


Question
========

`r paste0("Some question about the ", variable)`


```{r questionlist, echo = FALSE, results = "asis"}
exams::answerlist(unlist(options_answers), markup = "markdown")
```


Meta-information
================
exname: 1_1
extype: schoice
exsolution: `r paste(solutions, collapse = "|")`
exshuffle: 4

生成的 pdf 始终显示四个选项...

回答

目前,exams2nops()最多只支持五个选项。

进一步评论

可选地支持更多选择方案在 NOPS 练习的愿望清单上,但不太可能在不久的将来实施。 (NOPS 练习的变化需要相当多的工作,因为生成、扫描和评估都必须同步并经过全面测试等)

在您的示例中,总是恰好有四个备选方案,因为您将 exshuffle 设置为 4。因此,总是随机选择四个备选方案。如果你想要五个备选方案,你可以将它设置为exshuffle: 5。如果您指定一个大于 5 的数字,那么您会收到来自 exams2nops():

的警告

Error in exams2nops(questions) :
the following exercises have length < 2 or > 5: ...

设置 nchoice 参数没有效果,因为它不是您可以在 exams2nops() 中设置的参数,而是 make_nops_template() 的参数。当您在内部调用 exams2nops() 时,会发生以下步骤:

  1. 确定每个练习有多少个选项。
  2. 通过 make_nops_template().
  3. 使用正确数量的选项设置 LaTeX 模板
  4. 使用上一步中创建的模板调用 exams2nops(..., template = ...)