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 ______________________________________________ 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.