Как найти и посчитать пропущенные значения в r (с примерами)
Для поиска и подсчета пропущенных значений в R можно использовать следующие методы:
Способ 1: найдите местонахождение пропущенных значений
which( is.na (df$column_name))
Способ 2. Подсчитайте общее количество пропущенных значений.
sum( is.na (df$column_name))
Следующие примеры показывают, как использовать эти функции на практике.
Пример 1: Найдите и подсчитайте пропущенные значения в столбце
Предположим, у нас есть следующий кадр данных:
#create data frame
df <- data. frame (team=c('A', 'B', 'C', NA, 'E'),
points=c(99, 90, 86, 88, 95),
assists=c(NA, 28, NA, NA, 34),
rebounds=c(30, 28, 24, 24, NA))
#view data frame
df
team points assists rebounds
1 A 99 NA 30
2 B 90 28 28
3 C 86 NA 24
4 NA 88 NA 24
5 E 95 34 NA
Мы можем использовать следующий код, чтобы идентифицировать позиции, у которых есть пропущенные значения в столбце «помощь», и найти общее количество пропущенных значений в столбце «помощь»:
#identify locations of missing values in 'assists' column
which( is.na (df$assists))
[1] 1 3 4
#count total missing values in 'assists' column
sum( is.na (df$assists))
[1] 3
Из результата мы видим, что позиции 1 , 3 и 4 имеют пропущенные значения в столбце «помощи», а всего в столбце 3 пропущенных значения.
Пример 2: Подсчитайте пропущенные значения во всех столбцах
Следующий код показывает, как подсчитать общее количество пропущенных значений в каждом столбце фрейма данных:
#create data frame
df <- data. frame (team=c('A', 'B', 'C', NA, 'E'),
points=c(99, 90, 86, 88, 95),
assists=c(NA, 28, NA, NA, 34),
rebounds=c(30, 28, 24, 24, NA))
#count total missing values in each column of data frame
sapply(df, function (x) sum(is. na (x)))
team points assists rebounds
1 0 3 1
По результату мы видим:
- В столбце «команда» отсутствует 1 значение.
- Столбец «баллы» содержит 0 пропущенных значений.
- В столбце «помощь» пропущено 3 значения.
- В столбце «отскоки» пропущено 1 значение.
Пример 3. Подсчет пропущенных значений во всем фрейме данных
Следующий код показывает, как подсчитать общее количество пропущенных значений во всем фрейме данных:
#create data frame
df <- data. frame (team=c('A', 'B', 'C', NA, 'E'),
points=c(99, 90, 86, 88, 95),
assists=c(NA, 28, NA, NA, 34),
rebounds=c(30, 28, 24, 24, NA))
#count total missing values in entire data frame
sum( is.na (df))
[1] 5
Из результата мы видим, что всего во всем фрейме данных имеется 5 пропущенных значений.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции с отсутствующими значениями в R:
Как все вменить пропущенные значения в R
Как заменить NA строками в R
Как заменить NA на Zero в dplyr