Open In App

How to Use “Is Not NA” in R?

In this article, we will discuss how to use Is Not NA in R Programming Language.

NA is a value that is not a number. The is.na() method is used to check whether the given value is NA or not, we have to use the function for this. Inorder to use is NOT  NA, then we have to add the “!” operator to the is.na() function



Syntax:

!is.na(data)

where, data can be a vector/list, etc



Is Not NA in Vector

Here we can use this filter to get the values excluding NA values.

Syntax:

vector[!is.na(vector)]

where, vector is the input vector

Example:




# create a vector
vector1 = c(1, 2, 3, NA, 34, 56, 78, NA, NA, 34, NA)
  
# display vector
print(vector1)
  
# remove NA values using Not NA function
print(vector1[!is.na(vector1)])

Output:

[1]  1  2  3 NA 34 56 78 NA NA 34 NA
[1]  1  2  3 34 56 78 34

Is Not NA in dataframe in a single column

If we want to exclude NA values in dataframe columns, then we can use the dataframe similarly to the vector.

Syntax:

dataframe[!(is.na(dataframe$column_name)), ]

where




# create a dataframe
data = data.frame(marks1=c(NA, 34, 56, 78), 
                  marks2=c(45, 67, NA, NA))
  
# display
print(data)
  
# remove NA values using Not NA 
# function in marks1 column
print(data[!(is.na(data$marks1)), ])
  
# remove NA values using Not NA 
# function in marks2 column
print(data[!(is.na(data$marks2)), ])

Output:

Is Not NA in dataframe in multiple columns

Here we can filter in multiple columns using & operator.

dataframe[!(is.na(dataframe$column1)) & !(is.na(dataframe$column2)),]

Example:




# create a dataframe
data = data.frame(marks1=c(NA, 34, 56, 78), 
                  marks2=c(45, 67, NA, NA))
  
# display
print(data)
  
# remove NA values using Not NA function
# in marks1 and marks2 column
print(data[!(is.na(data$marks1)) & !(is.na(data$marks2)), ])

Output:

Remove all NA

Here we are going to remove NA’s in the entire dataframe by using na.omit() function

Syntax:

na.omit(dataframe)

Example:




# create a dataframe
data = data.frame(marks1=c(NA, 34, 56, 78),
                  marks2=c(45, 67, NA, NA))
  
# display
print(data)
  
# remove NA values using Not NA 
# function in entire dataframe
print(na.omit(data))

Output:


Article Tags :