ComenzarEmpieza gratis

Tiempos: hacer crecer un vector

Hacer crecer un vector es uno de los pecados capitales en R; debes evitarlo siempre.

La función growing() definida abajo genera n números aleatorios normales estándar, ¡pero aumenta el tamaño del vector cada vez que se añade un elemento!

Nota: Los números normales estándar se extraen de una distribución normal con media 0 y desviación estándar 1.

n <- 30000
# Código lento
growing <- function(n) {
    x <- NULL
    for(i in 1:n)
        x <- c(x, rnorm(1))
    x
}

Este ejercicio forma parte del curso

Escribir código R eficiente

Ver curso

Instrucciones del ejercicio

La función growing() ya está definida en tu espacio de trabajo.

  • Usando la función system.time(), averigua cuánto tarda en generar n = 30000 números aleatorios normales estándar con la función growing(). Usa el truco de <- para guardar el resultado en un vector llamado res_grow.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Use <- with system.time() to store the result as res_grow
system.time(___ <- ___)
Editar y ejecutar código