How to Use complete.cases in R (With Examples)


You can use the complete.cases() function in R to remove missing values in a vector, matrix, or data frame.

This function uses the following basic syntax:

#remove missing values from vector
x <- x[complete.cases(x)]

#remove rows with missing values in any column of data frame
df <- df[complete.cases(df), ]

#remove rows with NA in specific columns of data frame
df <- df[complete.cases(df[ , c('col1', 'col2', ...)]), ] 

The following examples show how to use this function in practice.

Example 1: Remove Missing Values from Vector

The following code shows how to remove all NA values from a vector:

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

#remove NA values from vector
x <- x[complete.cases(x)]

x

[1]  1 24  6  9

Example 2: Remove Rows with NA in Any Column of Data Frame

The following code shows how to remove rows with NA values in any column of a data frame :

#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 any column data frame
df <- df[complete.cases(df), ]

#view data frame 
df

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

Example 3: Remove Rows with NA in Specific Columns of Data Frame

The following code shows how to remove rows with NA values in specific columns of a data frame :

#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 y or z column
df <- df[complete.cases(df[ , c('y', 'z')]), ]

#view data frame 
df

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

Additional Resources

How to Use “Is Not NA” in R
How to Impute Missing Values in R
How to Replace NAs with Strings in R

One Reply to “How to Use complete.cases in R (With Examples)”

  1. Thanks for the upload. The code for example three worked perfectly for my data.

    I’m confused by the extra commas after the complete.case function and the one inside the function. Why are those necessary?

Leave a Reply

Your email address will not be published. Required fields are marked *