[R] Converting character to numeric: Error: (list) object cannot be coerced to type 'double'

Sarah Goslee sarah.goslee at gmail.com
Fri Dec 7 15:49:01 CET 2012


Hi,

You need to use as.numeric on the column, not the entire data frame.



On Fri, Dec 7, 2012 at 9:23 AM, Vikram Bahure
<economics.vikram at gmail.com> wrote:
> Dear R users,
>
> I am facing a pretty a unusual problem while converting character to
> numeric. Any input would be appreciated.
>
> Below is the code and error faced:
> ---------------------------------------
> *> str(cmie.dts)*
> *'data.frame': 4397 obs. of  1 variable:*
> * $ INE001A01036: chr  "1482181740.000000" "1482181740.000000"
> "1482181740.000000" "1482181740.000000" ...*
> *> f1 <- as.numeric(f)*
> *Error: (list) object cannot be coerced to type 'double'*

What's f? You showed us str(cmie.dts), but then tried to do something with f.

But assuming they're similar, see:

> fakedata <- data.frame(col1 = c("100.01", "20.01", "30.05"), stringsAsFactors=FALSE)
> str(fakedata)
'data.frame':    3 obs. of  1 variable:
 $ col1: chr  "100.01" "20.01" "30.05"
> as.numeric(fakedata)
Error: (list) object cannot be coerced to type 'double'
> as.numeric(fakedata$col1)
[1] 100.01  20.01  30.05



--
Sarah Goslee
http://www.functionaldiversity.org




More information about the R-help mailing list