База, которую вы можете запустить
sum(sapply(data, function(col) any(is.na(col)))
(которая будет работать, например, для data.frames). sapply
возвращает вектор логических значений, например, [1] True False True
для data.frame с тремя столбцами с двумя столбцами с отсутствующими значениями в нем. Логические значения преобразуются в 1, которые можно суммировать.
Если data
является матрицей, подставьте sapply
для применения и выполните
sum(apply(as.matrix(a), 2, function(col) any(is.na(col))))
РЕДАКТИРОВАТЬ Прочитав вопрос ОП еще раз, я понял, что ОП хочет столбцы, в которых столбцы содержат ВСЕ NA. Это может быть получено путем замены any
на all
, то есть
sum(sapply(data, function(col) all(is.na(col))))