Вы можете сделать что-то вроде этого:
sum(data$Pred == data$True, na.rm = T) / nrow(data) *100
, чтобы получить точность так, как вы ее определили.Это будет работать для целых чисел и строк.Проблема в том, что вы не можете реально сравнивать NA, поэтому, если в обоих столбцах есть NA для данной строки, и вы действительно считаете это точным прогнозом, вам нужно будет подсчитать эти экземпляры отдельно.Например, вы можете просто получить объединение индексов, где оба столбца являются NA, и добавить это к сумме:
s <- sum(data$Pred == data$True, na.rm = T)
na <- length(union(which(is.na(data$Pred)), which(is.na(data$True))))
(s + na) / nrow(data) * 100