The code:
a <- structure(list(`X$Days` = c("10", "38", "66", "101", "129", "185", "283",
"374")), .Names = "X$Days")
Then a is like
$`X$Days`
[1] "10" "38" "66" "101" "129" "185" "283" "374"
I would like to coerce a to an array of numeric values, but coercing functions return me
Error: (list) object cannot be coerced to type 'double'
Thanks,
If you want to convert all elements of a to a single numeric vector and length(a) is greater than 1 (OK, even if it is of length 1), you could unlist the object first and then convert.
as.numeric(unlist(a))
# [1] 10 38 66 101 129 185 283 374
Bear in mind that there aren't any quality controls here. Also, X$Days a mighty odd name.
If your list as multiple elements that need to be converted to numeric, you can achieve this with lapply(a, as.numeric).
You can also use list subsetting to select the element you want to convert. It would be useful if your list had more than 1 element.
as.numeric(a[[1]])
In this case a loop will also do the job (and is usually sufficiently fast).
a <- array(0, dim=dim(X))
for (i in 1:ncol(X)) {a[,i] <- X[,i]}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With