Skip to content

How to fix Error: ‘list’ object cannot be coerced to type ‘double’?

  • by
  • 2 min read

There are hundreds of different programming languages to choose from in 2022 that developers can experiment with depending on the kind of program or application they’re developing. R is a language often used for statistical computing and graphics thanks to its wonderful data-handling attributes.

In this article, we’re talking about the “Error: ‘list’ object cannot be coerced to type ‘double'” issue in R, its causes and what you can do to fix the problem.

Also read: How to fix HTTP error 500.30 – asp.net core app failed to start?


What causes this issue?

The error stems from a logical flaw in your script that requires numerical strings to be treated as numbers. While the R compiler is expecting a numeric value, what it gets instead is a numeric string, which in turn triggers the error. 


How to fix this issue?

Fixing the issue is as simple as converting your string or non-numeric input into a numeric one. There are multiple ways of doing this, but one of the most common and simple methods is as follows:

  • Convert list to a static object using the unlist() function.
  • Convert static object to numeric using the as.numeric() function.

The two functions, although slightly different in functionality, work together to accept a string or non-numeric input and convert it into a numeric function which can then be processed by the R compiler. 

#create list
x <- list(1:3, 4:8, 3)

#convert list to numeric
x_num <- as.numeric(unlist(x))

The resulting value after processing the list can be treated as as numeric value in R. 

Alternatively, you can also use the lapply() function in conjunction with with the as.numeric() method to get the same result, except using lapply() means you’ll be dealing with individual list elements instead of the entire list at once.

Also read: 5 Critical Tips to Help You Learn Programming Faster

Yadullah Abidi

Yadullah Abidi

Yadullah is a Computer Science graduate who writes/edits/shoots/codes all things cybersecurity, gaming, and tech hardware. When he's not, he streams himself racing virtual cars. He's been writing and reporting on tech and cybersecurity with websites like Candid.Technology and MakeUseOf since 2018. You can contact him here: yadullahabidi@pm.me.

>