#r-exams
Вопрос:
При создании экзаменов с помощью функции exams2nops
мы случайным образом генерируем данные для каждого из созданных экзаменов (скажем, 5 различных версий). Мы хотели бы использовать одну и ту же версию каждого экзамена для создания версии решений (с использованием exams2pdf
). Можно ли создать версию решения прямо на ходу при создании экзаменов с exams2nops
помощью ? Под точно такой же версией я подразумеваю тот же порядок ответов с множественным выбором и те же неправильные значения (с использованием чудесной num_to_schoice
функции). Мы сохраняем .rds
объекты, используемые в каждом упражнении, что позволяет нам импортировать их при создании решений, однако неправильные параметры и порядок отличаются, так как они случайны. Должны ли мы также сохранить определенное начальное значение в .rds
объекте? Внутри каждого упражнения у нас есть несколько случайно сгенерированных значений.
Ответ №1:
Когда вы задаете одно и то же случайное начальное значение перед вызовом exams2pdf()
, и exams2nops()
вы должны получить одинаковые случайные версии упражнений.
Иллюстрация: n = 2
вариант exm
с 3 упражнениями.
library("exams")
exm <- c("capitals.Rmd", "deriv2.Rmd", "tstat2.Rmd")
set.seed(1)
exm1 <- exams2pdf(exm, n = 2)
set.seed(1)
exm2 <- exams2nops(exm, n = 2)
Сравните список вопросов всех трех упражнений во второй случайной версии экзаменов:
all.equal(exm1[[2]][[1]]$questionlist, exm2[[2]][[1]]$questionlist)
## [1] TRUE
all.equal(exm1[[2]][[2]]$questionlist, exm2[[2]][[2]]$questionlist)
## [1] TRUE
all.equal(exm1[[2]][[3]]$questionlist, exm2[[2]][[3]]$questionlist)
## [1] TRUE
Оба должны вызываться отдельно, хотя в настоящее время нет возможности создать оба за один раз.