NAs introduced by coercion
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.
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.