Изменение знаков препинания по умолчанию для вопросов в функции `excs2moodle ()` - PullRequest
2 голосов
/ 07 мая

Я хотел бы сгенерировать кучу экзаменов с учебными вопросами, используя функцию exams2moodle(). На каждый вопрос будет 4 альтернативных ответа с одним и только одним ИСТИННЫМ ответом. Это вполне нормально, но я бы хотел изменить глухое поведение меток. Обычно вы получаете 100%, если выбираете правильный ответ, и -33%, если выбираете один из трех плохих ответов, но я бы хотел изменить это значение на 100%, но на -25%. Это возможно? Спасибо

1 Ответ

2 голосов
/ 09 мая

Официально не поддерживается. Обратите внимание, что причина отрицательных точек по умолчанию, равных 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))

, что приведет к желаемому поведению.

...