ПочатиПочніть безкоштовно

Вимірювання часу — зростання вектора

Зростання вектора — одна з «смертельних» помилок в R; цього слід завжди уникати.

Нижче визначено функцію growing(), яка генерує n випадкових стандартних нормальних чисел, але щоразу під час додавання елемента збільшує розмір вектора!

Примітка: Стандартні нормальні числа — це значення, вибрані з нормального розподілу із середнім 0 та стандартним відхиленням 1.

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

Ця вправа є частиною курсу

Ефективне програмування R

Переглянути курс

Інструкції до вправи

Функцію growing() уже визначено у вашому робочому середовищі.

  • За допомогою system.time() дізнайтеся, скільки часу потрібно, щоб згенерувати n = 30000 випадкових стандартних нормальних чисел за допомогою функції growing(). Скористайтеся прийомом із <-, щоб зберегти результат у векторі res_grow.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Use <- with system.time() to store the result as res_grow
system.time(___ <- ___)
Редагувати та запускати код