15/04/2026

Comparativa de Vectores

Debemos generar un vector secuencia con un bucle for y con funciones nativas de R, para luego comparar su performance mediante system.time().

EXPERIMENTO A: Bucle ‘for’

Este método es más lento debido a la reasignación constante de memoria.

tiempo_for <- system.time({
  A <- 0  
  for (i in 1:50000) { 
    A[i] <- (i * 2) 
  }
})

# Extremos del vector A, para verificar 

head(A)
## [1]  2  4  6  8 10 12
tail(A)
## [1]  99990  99992  99994  99996  99998 100000

EXPERIMENTO B: Función ‘seq’

tiempo_seq <- system.time({
  B <- seq(from = 2, 
           to = 100000, 
           by = 2)
})

# Extremos del vector B, para verificar 

head(B)
## [1]  2  4  6  8 10 12
tail(B)
## [1]  99990  99992  99994  99996  99998 100000

Comparativa de resultados

print("Segundos Bucle FOR:")
## [1] "Segundos Bucle FOR:"
print(unname(tiempo_for["elapsed"]))
## [1] 0.017
print("Segundos Función SEQ:")
## [1] "Segundos Función SEQ:"
print(unname(tiempo_seq["elapsed"]))
## [1] 0

Conclusión:

Al comparar los métodos para generar secuencias, se evidencia que la función nativa seq es significativamente más eficiente que el bucle for. Mientras que el bucle requiere una reasignación constante de memoria que eleva el tiempo de ejecución, la vectorización de R optimiza el uso del procesador.