कार्यकुशल R कोड लिखना
Colin Gillespie
Jumping Rivers & Newcastle University
लक्ष्य
rnorm(4)
-0.7247 0.2502 0.3510 0.6919
mean(c(36, 48))
42
library(microbenchmark)
n <- 1e6
x <- vector("numeric", n)
microbenchmark(
x <- rnorm(n),
{
for(i in seq_along(x))
x[i] <- rnorm(1)
},
times = 10
)
# Unit: milliseconds
# expr lq mean uq cld
# rnorm(n) 60 70 80 a
# Looping 2600 2700 2800 b
## प्रस्तुति के लिए आउटपुट छोटा किया गया
तुलना करें
x <- vector("numeric", n)
for(i in seq_along(x))
x[i] <- rnorm(1)
से
x <- rnorm(n)
x <- vector("numeric", n)
for(i in seq_along(x))
x[i] <- rnorm(1)
x <- vector("numeric", n)
rnorm() के दस लाख कॉलrnorm() का एक ही कॉलR क्लब का दूसरा नियम: जहाँ संभव हो, वेक्टराइज़्ड समाधान अपनाएँ.
कार्यकुशल R कोड लिखना