Возможно ли добавить более четырех вариантов ответа к экзаменам exams2nops?

#r #r-exams

#r #r-экзамены

Вопрос:

Возможно ли иметь более 4 вариантов ответов на экзаменах exams2nops? Я попытался установить эту опцию nchoice = 6 , но это не дало никакого эффекта. У меня есть 6 вариантов ответа в соответствующем *.rmd упражнении.

Один из примеров:

 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-файл всегда представляет четыре варианта…

введите описание изображения здесь

Ответ №1:

Ответ

В настоящее время exams2nops() поддерживается только до пяти вариантов выбора.

Дальнейшие комментарии

Необязательная поддержка альтернатив с большим выбором вариантов включена в список пожеланий для упражнений NOPS, но маловероятно, что она будет реализована в ближайшем (er) будущем. (Изменения в упражнениях NOPS требуют довольно много работы, потому что генерация, сканирование и оценка должны быть синхронизированы, тщательно протестированы и т.д.)

В вашем примере всегда есть ровно четыре варианта выбора, потому что вы установили exshuffle значение 4. Таким образом, всегда случайным образом выбираются четыре альтернативы. Если вам нужно пять вариантов, вы можете установить его на exshuffle: 5 . И если вы укажете число> 5, вы получите предупреждение от exams2nops() :

Ошибка в экзаменах2nops (вопросы):
следующие упражнения имеют длину <2 или> 5: …

Установка nchoice аргумента не имеет никакого эффекта , потому что это не аргумент , который вы можете установить , exams2nops() а аргумент для make_nops_template() . При exams2nops() внутреннем вызове выполняются следующие действия:

  1. Определите, сколько вариантов выбора существует для каждого упражнения.
  2. Настройте шаблон LaTeX с правильным количеством вариантов через make_nops_template() .
  3. Вызовите exams2nops(..., template = ...) шаблон, созданный на предыдущем шаге.

Комментарии:

1. Не могли бы вы добавить реализацию этого в мой пример? Спасибо!

2. Я не уверен, что именно вы здесь имеете в виду. Вы можете установить exshuffle: 5 вместо 4 в упражнении. Затем вы получаете 5 вариантов случайного выбора.

3. Однако я изменил значение exshuffle с 4 на 5 и изменил количество решений с 6 на 5… Я получаю это сообщение: length of exsolution and questionlist does not match in '1_1'5 shuffled answers requested, only 4 available in '1_1'

4. Я не могу сказать наверняка для вашего примера, потому что он не является автономным. Но я только что заметил, что exsolution это указано неправильно, это должно быть: exsolution: 'r mchoice2string(solutions)' . Или в этом случае вы могли бы также жестко запрограммировать : exsolution: 100000 . Но после exsolution исправления настройка exshuffle: 5 должна сработать.

5. Да, я изменил решение на exsolution: 'r mchoice2string(solutions)' . У меня появляется пять вариантов… однако появляется только одно решение. Остальные — это NA s ( i.imgur.com/Ugo3q91.png ).