Я ищу быстрый метод для подсчета недопустимых значений в строке. Вот кадр данных в качестве примера:
data <- data.frame("c1" = c(1,1,3,0,2,2,3,1,2,9),
"c2" = c(2,2,3,4,1,2,1,2,1,2),
"c3" = c(2,3,3,4,3,3,3,3,2,9),
"c4" = c(4,4,0,0,1,0,3,0,3,9),
"c5" = c(9,1,2,3,2,1,2,3,2,1))
Я хотел бы иметь дополнительный числовой столбец, который показывает мне в каждом случае, сколько значений не соответствует допустимым значениям, определенным в списке. Например, этот список может выглядеть так:
valid <- list("c1" = c(1:4,9),
"c2" = c(1:3,9),
"c3" = c(2:4,9),
"c4" = c(0:3,9),
"c5" = c(1:3,9))
Таким образом, столбец, который я ищу в этом примере, будет:
data$invalid <- c(1,1,0,2,0,0,0,0,0,0)
Я бы предпочел аккуратное решение. Я немного пробовал разные функции purrr::map, но, к сожалению, не смог найти никакого работающего решения. Заранее благодарю за любые полезные советы.