Chcę pętli w zakresie numerów od , gdy n
jest długość wektora v
w R. Zazwyczaj użyłbym składni for (i in 1:length(v))
, ale to nie powiedzie się, gdy n == 0
.Jak sformułować pętlę for in w R, gdzie mogę chcieć zapętlić zero razy?
Jaki jest idiomatyczny sposób wykonywania tej pętli? W tej chwili robię followin, ale wydaje się trochę brzydki:
# 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"))
}
I tak, wiem, że lepiej vectorise, ale zdarzają się sytuacje, kiedy wektoryzacja nie jest możliwe lub wymaga tak dużo dodatkowej pracy, która znacznie trudniej jest odczytać kod.
Dziękuję, to jest właśnie to, co było po :) – fmark
Również 'seq_len (0)' daje wektor długości 0 (w przypadku gdy masz zmienna trzymająca limit, zamiast wektora do pętli). – cbeleites