On Feb 24, 2010, at 6:10 PM, Gabor Grothendieck wrote:
On Wed, Feb 24, 2010 at 11:28 AM, Petr PIKAL
<petr.pi...@precheza.cz> wrote:
Hi
r-help-boun...@r-project.org napsal dne 24.02.2010 16:55:49:
Petr,
Removing the % signs by Ista's method works. However as I noted
earlier, I
was hoping there was a more elegant solution which deals with
percentage and
currency values without knowing about their presence beforehand.
It's a shame that something which Excel deals with trivially is
such a hack
in R. I'll try to delve deeper and write something which does this
well. But
my knowledge is limited and I will probably come back for help.
I believe that if you introduce a new class which could specify
currencies
you could write methods for handling them. But it is beyond my
knowledge
and somebody else has to answer it.
Try adapting this example of using a custom class with read.table:
https://www.stat.math.ethz.ch/pipermail/r-help/2007-April/130912.html
So this seems a bit simplistic. There is nothing in the way of
attributes to leave a trail of conversions:
> setAs("character", "num.with.commas",
+ function(from) as.numeric(gsub(",", "", from)))
> setAs("character", "euro",
+ function(from) as.numeric(gsub("€", "", from)))
> setAs("character", "num_pct",
+ function(from) as.numeric(gsub("%", "", from))/100)
> Input <- "A B C
+ 1,000 1% 3.50€
+ 2,000 2% 4.77€
+ 3,000 3% €5.68
+ "
> DF <- read.table(textConnection(Input), header = TRUE,
+ colClasses = c("num.with.commas", "num_pct", "euro"))
> str(DF)
'data.frame': 3 obs. of 3 variables:
$ A: num 1000 2000 3000
$ B: num 0.01 0.02 0.03
$ C: num 3.5 4.77 5.68
or this example of piping through tr to read.table:
http://tolstoy.newcastle.edu.au/R/e9/help/10/02/4324.html
______________________________________________
R-help@r-project.org 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.
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
______________________________________________
R-help@r-project.org 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.