Ответ 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
Предположим, что у нас есть следующий фрейм данных:
> dataset1
x
1 1
2 2
3 3
4 NA
5 5
Я хочу придумать команду R, которая вычисляет индекс строки фрейма данных с 1 столбцом, который содержит значение "NA". Более конкретно, в приведенном выше примере dataset1 такая команда будет возвращать 4 - потому что "NA" появляется в 4-й строке фрейма данных. Как я могу это сделать? благодарю вас!
Как было предложено 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
create newdataset1
, который представляет собой таблицу, сформированную после удаления строк с отсутствующими значениями столбца из dataset1
используйте -which(is.na)
newdataset1<-dataset1[-which(is.na(dataset1$x)),]
Альтернативный подход с использованием функций из экосистемы tidyverse
:
> dataset1 %>%
rowid_to_column() %>%
filter(is.na(x))
rowid x
1 4 NA