[R] Converting characters to numbers in data frames

From: Anon. <bob.ohara_at_helsinki.fi>
Date: Thu 25 Aug 2005 - 21:45:46 EST

I'm sure I'm missing something obvious here, but I can't find the solution (including in the FAQ etc.).

I have a vector of names of variables like this: NRes.x.y. where x and y are numbers. I want to extract these numbers as numbers to use elsewhere. I can extract the numbers as a list of characters using strsplit(), and convert that to a data frame, e.g.:

NAMES=c("NRes.1.2.", "NRes.1.3.", "NRes.1.4.", "NRes.1.5.", "NRes.1.6.") NUMBERS=strsplit(gsub("NRes.","", NAMES, perl =T), '.', fixed = TRUE) NUMBERS.df=t(data.frame(NUMBERS))

But I now want to convert the characters to be numeric. Using as.numeric(NUMBERS.df) converts them, but to a vector. How can I convert and keep as a data frame? I could use this:

matrix(as.numeric(NUMBERS.df), ncol=dim(NUMBERS.df)[2])

but I seem to be jumping through far too many hoops: there must be an easier way. An suggestions?


Bob O'Hara
Department of Mathematics and Statistics
P.O. Box 68 (Gustaf Hällströmin katu 2b)
FIN-00014 University of Helsinki

Telephone: +358-9-191 51479
Mobile: +358 50 599 0540
Fax:  +358-9-191 51400
WWW:  http://www.RNI.Helsinki.FI/~boh/
Journal of Negative Results - EEB: www.jnr-eeb.org

R-help@stat.math.ethz.ch mailing list
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Received on Thu Aug 25 21:51:21 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:39:56 EST