[R] as.integer question
Marc Schwartz
marc_schwartz at comcast.net
Thu Jan 17 19:00:50 CET 2008
Erin Hodgess wrote:
> Hi R People:
>
> I'm reading "Statistical Computing with R", by Maria Rizzo, and it's
> really good.
>
> Anyhow, I have a question about something in there.
>
>> u<- runif(5)
>> u
> [1] 0.1177041 0.4271790 0.4601597 0.2204846 0.4051473
>> #in the book
>> sum(as.integer(u> 0.4))
> [1] 3
>> #what I would do
>> sum(u> 0.4)
> [1] 3
>
> Is one way better than the other, please?
>
> Thanks,
> Erin
There is additional coercion overhead in the first approach, since
as.integer() is called separately:
set.seed(1)
Vec <- sample(c(TRUE, FALSE), 1000000, replace = TRUE)
> system.time(sum(Vec))
user system elapsed
0.004 0.000 0.025
> system.time(sum(as.integer(Vec)))
user system elapsed
0.013 0.019 0.050
To paraphrase a financial quote: A microsecond here, a microsecond there
and pretty soon you are talking about a serious amount of time... ;-)
HTH,
Marc Schwartz
More information about the R-help
mailing list