Quiero recorrer un rango de números desde 1:n
, cuando n
es la longitud del vector v
en R. Normalmente, usaría la sintaxis for (i in 1:length(v))
, pero esto falla cuando n == 0
.¿Cómo formulo un bucle for in en R donde deseo enuclear cero veces?
¿Cuál es la forma idiomática de hacer este ciclo? En el momento en que hago la followin, pero parece un poco feo:
# This is in my standard library
rng <- function(n)seq(from=1, to=n, length.out=n)
# Now when I come to the for loop:
for(i in rng(length(v))){
print(paste("I ate", i, "kg of brocolli today"))
}
Y sí, sé que es mejor vectorize, pero hay situaciones en las que la vectorización no es posible o requeriría mucho trabajo extra que es mucho más difícil leer el código.
Gracias, esto es justo lo que estaba buscando :) – fmark
Además, 'seq_len (0)' da un vector de longitud 0 (en caso de tener una variable que contiene el límite, en lugar de un vector para repetir). – cbeleites