[R] Convert matrix to numeric
Sarah Goslee
sarah.goslee at gmail.com
Wed Aug 3 21:19:10 CEST 2011
Hi Jeffrey,
On Wed, Aug 3, 2011 at 3:04 PM, Jeffrey Joh <johjeffrey at hotmail.com> wrote:
>
> I have a matrix that looks like this:
>
>
> structure(c("0.0376673981759913", "0.111066500741386", "1", "1103",
> "18", "OPEN", "DEPR", "0.0404073656092023", "0.115186044704599",
> "1", "719", "18", "OPEN", "DEPR", "0.0665342096693433", "0.197570061769498",
> "1", "1103", "18", "OPEN", "DEPR", "0.119287147905722", "0.356427096010845",
> "1", "1103", "18", "OPEN", "DEPR"), .Dim = c(7L, 4L), .Dimnames = list(
> c("Sn", "SlnC", "housenum", "date", "hour", "flue", "pressurization"
> ), c("10019.BLO", "1002.BLO", "10020.BLO", "10021.BLO")))
Thank you for providing a small working example.
> How do I convert rows 1-5 to numeric? I tried mode() <- "numeric" but that doesn't change anything.
Two things are going on here. First, a matrix can only contain one kind of data.
For this example, since there are strings the whole thing has to be character.
A data frame is intended to hold different kinds of data, but each column has
to be a single type. So if you want those values to be numeric instead of
character, you'll need to transpose your matrix and convert it to a data frame.
tempdata <- structure(c("0.0376673981759913", "0.111066500741386", "1", "1103",
"18", "OPEN", "DEPR", "0.0404073656092023", "0.115186044704599",
"1", "719", "18", "OPEN", "DEPR", "0.0665342096693433", "0.197570061769498",
"1", "1103", "18", "OPEN", "DEPR", "0.119287147905722", "0.356427096010845",
"1", "1103", "18", "OPEN", "DEPR"), .Dim = c(7L, 4L), .Dimnames = list(
c("Sn", "SlnC", "housenum", "date", "hour", "flue", "pressurization"
), c("10019.BLO", "1002.BLO", "10020.BLO", "10021.BLO")))
tempdata <- data.frame(t(tempdata), stringsAsFactors=FALSE)
Once you have the right kind of object, you can convert the five columns
of interest to numeric. This needs to be done a column at a time, I think:
tempdata[, 1:5] <- apply(tempdata[,1:5], 2, as.numeric)
Sarah
--
Sarah Goslee
http://www.functionaldiversity.org
More information about the R-help
mailing list