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(___ <- ___)