Debemos generar un vector secuencia con un bucle for y con funciones nativas de R, para luego comparar su performance mediante system.time().
15/04/2026
Debemos generar un vector secuencia con un bucle for y con funciones nativas de R, para luego comparar su performance mediante system.time().
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
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
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
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.