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 cases(x)] #remove rows with missing values in any column of data frame df cases(df), ] #remove rows with NA in specific columns of data frame df 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
#remove NA values from vector
x 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 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 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 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 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