*This error occurs if you try to convert the elements of a list to numeric without converting the list to a vector using unlist().*

*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.*

## Example

Consider the following example of a list containing strings.

x <- list(c("10", "38", "66", "101", "129", "185", "283", "374")) x

[1] "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 `as.numeric()`

.

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 `class()`

function:

class(x)

[1] "list"

### Solution

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:

[1] 10 38 66 101 129 185 283 374

We can verify that `num`

is a vector of numeric values:

class(num)

[1] "numeric"

## Summary

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!