You can use the following methods to count the number of NA values in each column of a data frame in R:

**Method 1: Count NA Values in Each Column Using Base R**

sapply(df, function(x) sum(is.na(x)))

**Method 2: Count NA Values in Each Column Using dplyr**

library(dplyr) df %>% summarise(across(everything(), ~ sum(is.na(.))))

The following examples show how to use each method with the following data frame in R:

#create data frame df <- data.frame(team=c('A', 'B', 'C', 'D', 'E'), points=c(99, 90, 86, 88, NA), assists=c(33, NA, NA, 39, 34), rebounds=c(30, 28, 24, 24, 28)) #view data frame df team points assists rebounds 1 A 99 33 30 2 B 90 NA 28 3 C 86 NA 24 4 D 88 39 24 5 E NA 34 28

**Example 1: Count NA Values in Each Column Using Base R**

The following code shows how to count the number of NA values in each column using the **sapply()** function from base R:

#count NA values in each column sapply(df, function(x) sum(is.na(x))) team points assists rebounds 0 1 2 0

From the output we can see:

- The
**team**column has 0 NA values. - The
**points**column has 1 NA value. - The
**assists**column has 2 NA values. - The
**rebounds**column has 0 NA values.

**Note**: The **sapply()** function can be used to apply a function to each column in the data frame. In this example, we apply a function that counts the total number of elements equal to NA.

**Example 2: Count NA Values in Each Column Using dplyr**

The following code shows how to count the number of NA values in each column using the **summarise()** function from the dplyr package:

#count NA values in each column sapply(df, function(x) sum(is.na(x))) team points assists rebounds 0 1 2 0

From the output we can see:

- The
**team**column has 0 NA values. - The
**points**column has 1 NA value. - The
**assists**column has 2 NA values. - The
**rebounds**column has 0 NA values.

These results match the ones from the previous example.

**Note**: The dplyr method tends to be faster than the base R method when working with extremely large data frames.

**Additional Resources**

The following tutorials explain how to perform other common tasks in R:

How to Use na.omit in R

How to Use complete.cases in R

How to Remove Empty Rows from Data Frame in R