Как использовать «Это не NA» в R


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

#return only values that are not NA
x <- x[ ! is. na (x)]

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

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

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

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

#return only values that are not NA
x <- x[ ! is. na (x)]

[1] 1 24 6 9

Пример 2: Возврат строк, которые не являются NA в одном столбце фрейма данных

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

#create 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 in *z* column
df <- df[ ! (is.na(df$z)), ]

#view data frame
df

 x y z
2 24 3 7
3 NA 4 5
4 6 8 15
5 NA NA 7
6 9 12 14

Пример 3. Возврат строк, которые не являются NA в нескольких столбцах

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

#create 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 in x or *y* column
df <- df[ ! (is.na(df$x)) & ! (is.na(df$y)), ]

#view data frame
df

 x y z
2 24 3 7
4 6 8 15
6 9 12 14

Пример 4. Возврат строк, которые не являются NA ни в одном столбце

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

#create 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 in any column
df <- na.omit(df)

#view data frame
df

 x y z
2 24 3 7
4 6 8 15
6 9 12 14

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

Как заменить NA строками в R
Как заменить пропущенные значения в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.