Zamanlamalar - bir vektörü büyütmek
R'de bir vektörü büyütmek ölümcül günahlardan biridir; bundan her zaman kaçınmalısın.
Aşağıda tanımlanan growing() fonksiyonu n adet rassal standart normal sayı üretir, ancak her öğe eklendiğinde vektörün boyutunu büyütür!
Not: Standart normal sayılar, ortalaması 0 ve standart sapması 1 olan normal dağılımdan çekilen sayılardır.
n <- 30000
# Yavaş kod
growing <- function(n) {
x <- NULL
for(i in 1:n)
x <- c(x, rnorm(1))
x
}
Bu egzersiz
Verimli R Kodu Yazma
kursunun bir parçasıdırEgzersiz talimatları
growing() fonksiyonu çalışma alanında zaten tanımlı.
system.time()fonksiyonunu kullanarak,growing()fonksiyonu ilen = 30000adet rassal standart normal sayı üretmenin ne kadar sürdüğünü bul. Sonucures_growadlı bir vektörde saklamak için<-numarasını kullan.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Use <- with system.time() to store the result as res_grow
system.time(___ <- ___)