Itu tergantung bagaimana Anda akan menjalankan kode atau jika ada kode yang agak stokastik dalam hal itu menarik angka acak secara acak. (Contohnya adalah tes permutasi dalam paket vegan kami di mana kami hanya melanjutkan melakukan permutasi hingga kami telah mengumpulkan cukup data untuk mengetahui apakah hasilnya berbeda dari kesalahan Tipe I yang dinyatakan dengan memperhitungkan tingkat kesalahan Tipe II.) Meskipun demikian seharusnya tidak mempengaruhi hasil imbang ...
Jika skrip akhir hanya akan dijalankan sebagai pekerjaan batch atau secara keseluruhan dan tidak ada undian stokastik dari generator angka pseudo-acak maka aman untuk mengatur seed di bagian atas script dan menjalankannya secara keseluruhan .
Jika Anda ingin melangkah melalui kode, mungkin menjalankan kembali blok maka Anda perlu set.seed()
panggilan sebelum setiap panggilan fungsi yang akan menarik dari generator nomor pseudo-acak.
Untuk makalah ilmiah saya, saya secara rutin menjadi sangat defensif dan mengatur benih sebelum setiap potongan kode; ini memungkinkan pembaruan skrip di kemudian hari yang mungkin perlu dimasukkan ke dalam skrip yang ada kapan saja - katakan untuk menanggapi komentar pengulas atau rekan penulis.
Hasil Anda diharapkan tidak akan bergantung pada seperangkat nilai pseduo-acak tertentu, sehingga masalah ini dapat mereproduksi nilai persis yang dinyatakan dalam laporan atau makalah. Meskipun Anda mungkin sangat defensif dan mengatur seed pada setiap potongan kode, Anda mungkin masih perlu membuat ulang instalasi yang tepat --- versi R dan versi paket sehingga merekam detail-detail itu sangat penting. Agar lebih aman, Anda harus menyimpan versi R dan paket sebelumnya untuk proyek / makalah tertentu. Memang, banyak orang melakukan ini.
R
pekerjaan, keadaan ini dapat ditemukan di.Random.seed
. Kekhawatiran terbesar sayaR
adalah bahwa beberapa rutinitas mungkin mengelak dari ini - dan mungkin bisa diabaikanset.seed
sama sekali dalam beberapa kasus.