Hello,
This turned out to be surprisingly hard for me:
Let's say I have
mm = matrix(as.character(seq(1,30, 1)), nrow=3); mm
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] "1" "4" "7" "10" "13" "16" "19" "22" "25" "28"
[2,] "2" "5" "8" "11" "14" "17" "20" "23" "26" "29"
[3,] "3" "6" "9" "12" "15" "18" "21" "24" "27" "30"
which is a matrix of strings, I'd like to convert this to a matrix of the
corresponding numbers:
nn = matrix(seq(1,30, 1), nrow=3), nn
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 1 4 7 10 13 16 19 22 25 28
[2,] 2 5 8 11 14 17 20 23 26 29
[3,] 3 6 9 12 15 18 21 24 27 30
I can convert each dimension using sapply(mm[,1], as.numeric), but how to
convert the full matrix?!
In fact I hit this problem because I got a data.frame consisting of factors
(numerics represented as strings) when I queried a database. So if you can
advise how to convert this data.frame to a data.frame with proper numerics -
that would be even better. The problem is that my numerics are doubles and the
data.matrix function seems to cast factors to ints.
Thanks in advance,
Ivan
_________________________________________________________________
[[alternative HTML version deleted]]
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.