Подтвердить что ты не робот

Найдите индекс строк в кадре данных, которые имеют значение NA

Предположим, что у нас есть следующий фрейм данных:

>  dataset1
      x
  1   1
  2   2
  3   3
  4   NA
  5   5

Я хочу придумать команду R, которая вычисляет индекс строки фрейма данных с 1 столбцом, который содержит значение "NA". Более конкретно, в приведенном выше примере dataset1 такая команда будет возвращать 4 - потому что "NA" появляется в 4-й строке фрейма данных. Как я могу это сделать? благодарю вас!

4b9b3361

Ответ 1

Как было предложено Ben Bolker, вы можете использовать как which, так и is.na, как в:

> which(is.na(dataset1), arr.ind=TRUE)
  row col
4   4   1  # NA is in row 4 and column 1

Ответ 2

create newdataset1, который представляет собой таблицу, сформированную после удаления строк с отсутствующими значениями столбца из dataset1 используйте -which(is.na)

   newdataset1<-dataset1[-which(is.na(dataset1$x)),]

Ответ 3

Альтернативный подход с использованием функций из экосистемы tidyverse:

> dataset1 %>%
     rowid_to_column() %>%
     filter(is.na(x))
  rowid  x
1     4 NA