Как использовать na.omit в r (с примерами)


Вы можете использовать функцию na.omit() в R, чтобы удалить все неполные случаи в векторе, матрице или фрейме данных.

Эта функция использует следующий базовый синтаксис:

 #omit NA values from vector
x <- na. omitted (x)

#omit rows with NA in any column of data frame
df <- na. omitted (df)

#omit rows with NA in specific column of data frame
df <- df[ ! (is. na (df$column)), ]

Следующие примеры показывают, как использовать эту функцию на практике.

Пример 1: исключить значения NA из вектора

Следующий код показывает, как исключить все значения NA из вектора:

 #definevector
x <- c(1, 24, NA, 6, NA, 9)

#omit NA values from vector
x <- na. omitted (x)

x

[1] 1 24 6 9
attr(,"na.action")
[1] 3 5
attr(,"class")
[1] “omitted”

В первой строке вывода отображается вектор без значений NA, а в следующих двух строках отображается дополнительная информация о расположении значений NA.

Мы можем использовать следующий код, чтобы просто вернуть вектор без значений NA:

 #definevector
x <- c(1, 24, NA, 6, NA, 9)

#omit NA values from vector
x <- as. numeric (na. omit (x))

x

[1] 1 24 6 9

Пример 2. Пропустить строки с NA в любом столбце фрейма данных.

Следующий код показывает, как опустить все строки со значениями NA в любом столбце фрейма данных:

 #define data frame
df <- data. frame (x=c(1, 24, NA, 6, NA, 9),
                 y=c(NA, 3, 4, 8, NA, 12),
                 z=c(NA, 7, 5, 15, 7, 14))

#view data frame
df

   X Y Z
1 1 NA NA
2 24 3 7
3 NA 4 5
4 6 8 15
5 NA NA 7
6 9 12 14

#omit rows with NA value in any column data frame
df <- na. omitted (df)

#view data frame 
df

   X Y Z
2 24 3 7
4 6 8 15
6 9 12 14

Пример 3. Пропустить строки с NA в определенном столбце фрейма данных.

Чтобы опустить строки со значениями NA в определенном столбце фрейма данных, на самом деле проще использовать функцию is.na() следующим образом:

 #define data frame
df <- data. frame (x=c(1, 24, NA, 6, NA, 9),
                 y=c(NA, 3, 4, 8, NA, 12),
                 z=c(NA, 7, 5, 15, 7, 14))

#view data frame
df

   X Y Z
1 1 NA NA
2 24 3 7
3 NA 4 5
4 6 8 15
5 NA NA 7
6 9 12 14

#remove rows with NA value in x column
df <- df[ ! (is. na (df$x)), ]

#view data frame 
df

   X Y Z
1 1 NA NA
2 24 3 7
4 6 8 15
6 9 12 14

Дополнительные ресурсы

Как использовать «Не NA» в R
Как использовать is.null в R
Как все вменить пропущенные значения в R
Как заменить NA строками в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *