[R] make R program faster
Christof Kluß
ckluss at email.uni-kiel.de
Thu Mar 28 12:07:17 CET 2013
Hi
there are some good tips in "The R Inferno"
http://www.burns-stat.com/documents/books/the-r-inferno/
or connect C++ to R with Rcpp
http://dirk.eddelbuettel.com/code/rcpp.html
or byte code compiler (library(compiler))
or library(data.table)
but do you have an idea to fasten standard R source code, with the
following Rprof output
self.time self.pct total.time total.pct
[<-.data.frame 1.34 29.13 1.78 38.70
[.data.frame 0.26 5.65 1.02 22.17
[[ 0.12 2.61 0.44 9.57
NextMethod 0.12 2.61 0.12 2.61
match 0.10 2.17 0.16 3.48
<Anonymous> 0.10 2.17 0.10 2.17
c 0.10 2.17 0.10 2.17
[[.data.frame 0.08 1.74 0.32 6.96
[.Date 0.06 1.30 0.10 2.17
FUN 0.06 1.30 0.10 2.17
[<- 0.04 0.87 1.82 39.57
[ 0.04 0.87 1.04 22.61
[<-.Date 0.04 0.87 0.18 3.91
vapply 0.04 0.87 0.14 3.04
%in% 0.02 0.43 0.18 3.91
+ 0.02 0.43 0.10 2.17
It comes from a simulation algorithmus that calculates day wise values
(values are depenend from the output of the day before). First I create
a data.frame with NAs. Finally each row contains the daily values.
output <- as.data.frame(matrix(nrow = 365, ncol = 50))
for (day in (1:365)) {
...
r <- list(Date=d,daylength=daylength,TempSum=tempsum, ...)
output[day,] <- r
}
Is there an better (faster) way to do such things in R?
Greetings
Christof
More information about the R-help
mailing list