Site icon R-bloggers

NAs introduced by coercion

[This article was first published on Data Analysis in R » Quick Guide for Statistics & R » finnstats, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

The post NAs introduced by coercion appeared first on finnstats.

If you want to read the original article, click here NAs introduced by coercion.

Are you looking for the latest Data Science Job vacancies then click here finnstats.

The post NAs introduced by coercion appeared first on finnstats.

In the R programming language, this article discusses how to troubleshoot the warning message “NAs introduced by coercion.”

Now we can create an example data.

Subscribe to our newsletter!

Random forest machine learning Introduction » finnstats

vectr <- c("14", "53", "1,200", "100", "800", "3,140") 
vectr
[1] "14"    "53"    "1,200" "100"   "800"   "3,140"

Take a look at the RStudio console output from before. Our example data is a vector of character strings with six vector elements, as shown.

Decision tree regression and Classification » finnstats

Example: Make a copy of the Warning Message: NAs introduced by coercion

In this example, I’ll show how to use as. numeric function in R to mimic the warning notice “NAs introduced via coercion.” Let’s put the as. numeric function to the test with our example vector:

as.numeric(vectr)
[1]  14  53  NA 100 800  NA
Warning message:
NAs introduced by coercion

As you can see, the message “NAs introduced by coercion” is displayed, and certain output values are NA (i.e. missing data or not available data).

Linear Discriminant Analysis: A step by step Guide » finnstats

This is because some of the character strings aren’t properly structured integers and so can’t be translated to the numeric class.

The following example demonstrates how to address this problem using R.

Approach 2: Using the gsub() function, modify data to avoid receiving a warning message.

We’ll show you how to deal with the as.numeric() warning notice “NAs introduced by coercion” in approach 2.

As previously stated, some of our input values are improperly formatted due to the presence of commas (i.e.,) between the numbers.

Using the gsub function, we can remove these commas.

new <- gsub(",", "", vectr)  
new
[1] "14"   "53"   "1200" "100"  "800"  "3140"

Take a look at the previous RStudio console output. It demonstrates that our revised vector is now devoid of commas.

Let’s use the as numeric function once more.

SQL for Data Science Beginners Guide » finnstats

as.numeric(new)                                  
[1]   14   53 1200  100  800 3140

As you can see, we did not only avoid the warning message, we also created an output vector without any NA values.

Approach 2: Using the suppressWarnings() function to disable a warning message

You may not always wish to convert non-number values to numbers. In this scenario, just wrap the suppress warnings function around the as. numeric function to disregard the warning message “NAs introduced by coercion”.

Naive Approach Forecasting Example » finnstats

suppressWarnings(as.numeric(vectr))                    
[1]  14  53  NA 100 800  NA

The output is identical to Example 1, but without the warning notice being printed to the RStudio terminal.

If you know of any other method to handle the same, please comment below.

To read more visit NAs introduced by coercion.

If you are interested to learn more about data science, you can find more articles here finnstats.

The post NAs introduced by coercion appeared first on finnstats.

To leave a comment for the author, please follow the link and comment on their blog: Data Analysis in R » Quick Guide for Statistics & R » finnstats.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.