Вы можете использовать следующий синтаксис для возврата значений в 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