# How to Solve R Error: list object cannot be coerced to type double

by | Programming, R, Tips

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```
` "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)`
` "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:

`  10  38  66 101 129 185 283 374`

We can verify that `num` is a vector of numeric values:

`class(num)`
` "numeric"`

## Summary

Congratulations on reading to the end of this tutorial!

For further reading on R related errors, go to the articles:

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!