शुरू करेंमुफ़्त में शुरू करें

Timings - एक वेक्टर को बढ़ाना

R में वेक्टर को धीरे-धीरे बढ़ाना एक बड़ी गलती मानी जाती है; इसे हमेशा टालना चाहिए.

नीचे दिया गया growing() फंक्शन n रैंडम स्टैण्डर्ड नॉर्मल नंबर जेनरेट करता है, लेकिन हर एलिमेंट जोड़ते समय वेक्टर का साइज़ बढ़ाता है!

नोट: स्टैण्डर्ड नॉर्मल नंबर वे संख्या हैं जो mean 0 और standard deviation 1 वाली normal distribution से निकाली जाती हैं.

n <- 30000
# Slow code
growing <- function(n) {
    x <- NULL
    for(i in 1:n)
        x <- c(x, rnorm(1))
    x
}

यह अभ्यास पाठ्यक्रम का हिस्सा है

कार्यकुशल R कोड लिखना

पाठ्यक्रम देखें

अभ्यास निर्देश

growing() फंक्शन पहले से ही आपके वर्कस्पेस में परिभाषित है.

  • system.time() फंक्शन का उपयोग करते हुए, यह पता लगाइए कि growing() फंक्शन का उपयोग कर n = 30000 रैंडम स्टैण्डर्ड नॉर्मल नंबर जेनरेट करने में कितना समय लगता है. परिणाम को <- ट्रिक की मदद से res_grow नामक वेक्टर में स्टोर करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Use <- with system.time() to store the result as res_grow
system.time(___ <- ___)
कोड संपादित करें और चलाएँ