Replace Blank by NA in R (2 Examples)
This post shows how to set blank values in a data frame to NA in the R programming language.
Table of contents:
Let’s start right away…
Creating Example Data
Consider the following example data:
data <- data.frame(x1 = c("", 5, 7, " ", 1, 1), # Create data frame x2 = c(3, 2, 1, "", 2, ""), x3 = c("", " ", letters[1:4])) data # Print data frame
Table 1 shows the structure of our exemplifying data: It consists of six lines and three variables.
Some of the data cells in our data frame are blank. This is a typical problem when importing external data files to R (e.g. CSV, TXT, or XLSX files).
So how can we replace these empty values in our data frame variables?
Example 1: Set Blank to NA in Data Frame
In Example 1, I’ll illustrate how to replace empty cells by NA (i.e. Not Available or missing values) using a logical condition based on the == operator.
Have a look at the following R code and the resulting data frame:
data_new1 <- data # Duplicate data frame data_new1[data_new1 == ""] <- NA # Replace blank by NA data_new1 # Print updated data frame
Table 2 shows the output of the previously shown R syntax: A data frame where blank values were replaced by NA.
You may already have noticed that some of the data cells still look empty. The reason for this is that some of the data cells in our input data frame are not entirely empty, but they contain only a space (i.e. ” “).
In the next example I’ll explain how to set spaces to NA as well.
Example 2: Set Blank & Space to NA in Data Frame
In this example, I’ll illustrate how to substitute blanks AND spaces with NA. For this, we can use the | operator to specify another logical condition:
data_new2 <- data # Duplicate data frame data_new2[data_new2 == "" | data_new2 == " "] <- NA # Replace blank & space by NA data_new2 # Print updated data frame
In Table 3 it is shown that we have managed to construct a data frame without blanks or spaces.
Video, Further Resources & Summary
If you need more explanations on the R programming codes of this tutorial, I recommend having a look at the following video of my YouTube channel. I illustrate the topics of this article in the video:
Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.
If you accept this notice, your choice will be saved and the page will refresh.
Furthermore, you might want to read some of the related articles of this website. You can find some articles on similar topics such as missing data, merging, and vectors below:
- Replace NA with 0 (10 Examples for Data Frame, Vector & Column)
- Merge Two Unequal Data Frames & Replace NA with 0
- Replace NA with Last Observed Value
- Replace Inf with NA in Vector & Data Frame
- The R Programming Language
In this R article you have learned how to exchange blanks by NA. Let me know in the comments below, in case you have further questions. Furthermore, don’t forget to subscribe to my email newsletter to receive regular updates on the newest articles.
Statistics Globe Newsletter