[R] Converting a character vector to numeric

David Winsemius dwinsemius at comcast.net
Sat Mar 23 23:40:12 CET 2013


On Mar 23, 2013, at 12:51 PM, Christofer Bogaso wrote:

> Hello again,
> 
> Let say I have following vector:
> 
> Vec <- c("0.0365780769", "(1.09738648244378)", "(0.812507787221523)",
> "0.5778069963", "(0.452456601362355)", "-1.8900812605", "-1.8716093762",
> "0.0055217041", "-0.4769192333", "-2.4133018880")

If this is to be done at the stage of data-inpuyt then definition of an appropriate as.method and reference to that method in colClasses would be the way to go. There are several worked examples in the archives.

 setClass("Accounting")
 setAs("character", "Accounting",
     function(from) as.numeric( gsub("[$(),]", "", from))
       )
 contribs <- read.table(text=Vec, colClasses=c(CTRIB_AMT="Accounting"))
 contribs
             V1
1   0.036578077
2   1.097386482
3   0.812507787
4   0.577806996
5   0.452456601
6  -1.890081260
7  -1.871609376
8   0.005521704
9  -0.476919233
10 -2.413301888


-- 
David Winsemius
Alameda, CA, USA



More information about the R-help mailing list