Rad bi dodal elemente na seznam v zanki (ne vem točno koliko)
Kot je to:
l <- list();
while(...)
l <- new_element(...);
Na koncu bi bil l[1]
moj prvi element, l[2]
moj drugi element in tako naprej.
Ali veste, kako nadaljevati?
Seznama ne smete dodajati z uporabo c
znotraj zanke, saj lahko to povzroči zelo počasno kodo. Ko naredite c(l, new_element)
, se kopira celotna vsebina seznama. Namesto tega morate do elementov seznama dostopati z indeksom. Če veste, kako dolg bo vaš seznam, ga je najbolje inicializirati na to velikost z uporabo l <- vector("list", N)
. Če tega ne veš, ga lahko inicializiraš tako, da je njegova dolžina enaka nekemu velikemu številu (npr. če imaš zgornjo mejo števila iteracij), in potem po končani zanki samo izbereš elemente, ki niso NULL. Kakorkoli že, osnovna točka je, da morate imeti indeks, s katerim spremljate element seznama in ga dodajate z uporabo tega indeksa, npr.
i <- 1
while(...) {
l[[i]] <- new_element
i <- i + 1
}
Za več informacij si oglejte Patrick Burns' The R Inferno (poglavje 2).