Как суммировать и выводить баллы всех упражнений? - PullRequest
1 голос
/ 14 апреля 2020

Я знаю, что в r-exam я могу присваивать очки упражнениям, например. через expoints в метаданных упражнения. Тем не менее, я не знаю, чтобы получить сумму очков за все упражнения.

В качестве конкретного c варианта использования: рассмотрим тест, который (согласно формальным требованиям университета) должен состоять, скажем, из 90 баллов. Итак, мне нужно отследить количество баллов, которые уже включены в упражнения теста.

Я не знаю, какая переменная отслеживает этот балл (если есть).

1 Ответ

1 голос
/ 16 апреля 2020

Вы правы, эта информация не доступна напрямую, однако ее можно извлечь из метаинформации, содержащейся в выходных данных, из любого интерфейса exams2xyz(). В качестве простой иллюстрации рассмотрим:

library("exams")
set.seed(0)
exm <- exams2pdf(c("swisscapital.Rmd", "deriv.Rmd", "ttest.Rmd"),
  n = 1, points = c(1, 17, 2))

Теперь exm - это список только с n = 1 экзаменом, состоящий из трех упражнений, каждое из которых предоставляет свою метаформу (среди прочих деталей). Таким образом, вы можете извлечь очки второго упражнения в первом (и единственном) экзамене с помощью:

exm[[1]][[2]]$metainfo$points
## [1] 17

Таким образом, чтобы получить баллы за все упражнения первого экзамена:

sapply(exm[[1]], function(y) y$metainfo$points)
## exercise1 exercise2 exercise3 
##         1        17         2 

Конечно, здесь points были явно установлены в exams2pdf() и, таким образом, были известны. Но тот же подход можно использовать и в том случае, если точки задаются с помощью тега expoints в отдельных упражнениях.

...