This error occurs if you try to convert the elements of a list to numeric without converting the list to a vector using
You can solve this error by using the
unlist() function before calling the
numeric() function, for example,
num <- as.numeric(unlist(x))
This tutorial will go through the error and how to solve it with code examples.
Consider the following example of a list containing strings.
x <- list(c("10", "38", "66", "101", "129", "185", "283", "374")) x
 "10" "38" "66" "101" "129" "185" "283" "374"
We want to convert the elements in the list to numeric. Let’s attempt to convert the elements using
x_num <- as.numeric(x)
Let’s run the code to see what happens:
Error: 'list' object cannot be coerced to type 'double'
The error occurs because we cannot use a list as an argument to the
numeric() function. We can verify the object
x is a list using the
The unlist function converts a list to a vector. The
as.numeric() function accepts vector as an argument. We can use the
unlist() function to solve this error. Let’s look at the revised code:
num <- as.numeric(unlist(x)) num
Let’s run the code to see the result:
 10 38 66 101 129 185 283 374
We can verify that
num is a vector of numeric values:
Congratulations on reading to the end of this tutorial!
For further reading on R related errors, go to the articles:
- How to Solve R Error in lm.fit: na/nan/inf
- How to Solve R Error in apply: dim(X) must have a positive length
- How to Solve R Error in eval(predvars, data, env): object not found
Go to the online courses page on R to learn more about coding in R for data science and machine learning.
Have fun and happy researching!