BaşlayınÜcretsiz başlayın

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, kursun bir parçasıdır

Verimli R Kodu Yazma

Kursa Göz Atın

Egzersiz talimatları

growing() fonksiyonu çalışma alanında zaten tanımlı.

  • system.time() fonksiyonunu kullanarak, growing() fonksiyonu ile n = 30000 adet rassal standart normal sayı üretmenin ne kadar sürdüğünü bul. Sonucu res_grow adlı bir vektörde saklamak için <- numarasını kullan.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Use <- with system.time() to store the result as res_grow
system.time(___ <- ___)
Kodu Düzenle ve Çalıştır