Предположим, M
, что воспроизводимо показано в примечании в конце, а также у нас есть список correct
, чей i-й компонент является вектором значений тех ответов на i-й вопрос, которые являются правильными. Если существует несколько правильных ответов, то i-й компонент correct
является вектором их. Тогда мы можем использовать следующие значения mapply
Recode <- function(m, cor) m %in% cor
replace(M, -1, + mapply(Recode, M[-1], correct))
:
ID M1 M2
1 1 1 1
2 2 1 1
3 3 0 0
Пакеты не используются.
Примечание
Входы вВоспроизводимая форма:
Lines <-
"ID M1 M2
1 4,7 5,6
2 4,7 6,5
3 5,4 4,6"
M <- read.table(text = Lines, header = TRUE, as.is = TRUE)
# correct[[i]] is a character vector of the correct answers for question i
correct <- list("4,7", c("5,6", "6,5"))