R: подсчет НС в строке в кадре данных

У меня есть dataframe с идентификатором партии и результатами шести тестов, выполненных для каждой партии. Данные выглядят так:

batch_id  test1  test2  test3  test4  test5  test6
001       0.121     NA  0.340  0.877  0.417  0.662
002       0.229  0.108     NA  0.638     NA  0.574

(в этой области данных есть несколько сотен строк, только одна строка на batch_id)

Я ищу способ подсчета количества НС для каждого batch_id (для каждой строки). Я чувствую, что это должно быть сделано с несколькими строками кода R в лучшем случае, но у меня возникают проблемы с его кодированием. Есть идеи?

Ответы

Ответ 1

Вы можете добавить новый столбец в свой фрейм данных, содержащий количество значений NA в batch_id:

df$na_count <- apply(df, 1, function(x) sum(is.na(x)))

Ответ 2

Вы можете подсчитать NA в каждой строке с помощью этой команды:

rowSums(is.na(dat))

где dat имя вашего фрейма данных.