Как показать индексы НС? - PullRequest
21 голосов
/ 28 января 2011

У меня есть часть для отображения NA, но я не могу понять это.

try(na.fail(x))
> Error in na.fail.default(x) : missing values in object
# display NAs
myvector[is.na(x)]
# returns
NA NA NA NA

Единственное, что я получаю из этой длины вектора NA, который на самом деле не слишком полезен, когда NA вызваны ошибкой в ​​моем коде, которую я пытаюсь отследить. Как я могу получить индекс элемента (ов) NA?

Я тоже пробовал:

subset(x,is.na(x))

, который имеет тот же эффект.

РЕДАКТИРОВАТЬ:

y <- complete.cases(x)
x[!y]
# just returns another
NA NA NA NA

Ответы [ 3 ]

42 голосов
/ 28 января 2011

Вы хотите какую функцию:

which(is.na(arr))
3 голосов
/ 28 января 2011

is.na () вернет логический индекс той же формы , что и исходный фрейм данных.

Другими словами, любые ячейки в этом индексе m x n со значением TRUE соответствуют значениям NA в исходном кадре данных.

Вы можете использовать это, чтобы изменить NA, если хотите:

DF[is.na(DF)] = 999

Чтобы получить общее количество строк данных хотя бы с одним NA:

cc = complete.cases(DF)
num_missing = nrow(DF) - sum(ok)
0 голосов
/ 02 июня 2017

, который (набор данных $ variable == "") вернет соответствующие номера строк в определенном столбце

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...