Saya ingin menambahkan elemen ke daftar dalam satu lingkaran (I don't tahu persis berapa banyak)
Seperti ini:
l <- list();
while(...)
l <- new_element(...);
Pada akhirnya, l[1]
akan menjadi elemen pertama, l[2]
saya yang kedua dan seterusnya.
Apakah anda tahu bagaimana untuk melanjutkan?
Anda tidak harus menambahkan ke daftar anda menggunakan c
di dalam lingkaran, karena itu bisa berakibat sangat sangat lambat kode. Pada dasarnya ketika anda melakukan c(l, new_element)
, seluruh isi dari daftar yang disalin. Sebaliknya dari itu, anda perlu untuk mengakses elemen dari daftar indeks. Jika anda tahu berapa lama anda daftar akan menjadi, itu's terbaik untuk menginisialisasi itu untuk ukuran ini menggunakan l <- vektor("daftar", N)
. Jika anda don't anda dapat menginisialisasi itu memiliki suhu udara yang sama untuk beberapa besar jumlah (e.g jika anda memiliki batas atas pada jumlah iterasi) dan kemudian hanya memilih non-NULL-unsur setelah loop selesai. Pokoknya, titik dasar adalah bahwa anda harus memiliki indeks untuk melacak daftar elemen dan tambahkan menggunakan misalnya
i <- 1
while(...) {
l[[i]] <- new_element
i <- i + 1
}
Untuk info lebih lanjut silahkan lihat pada Patrick luka Bakar' R Inferno (Bab 2).