Saya harap saya salah paham, tetapi gagasan yang mendasarinya tampak salah. Satu-satunya manfaat menggunakan benih tertentu adalah untuk memastikan reproduktifitas hasil yang terperinci, dalam arti bahwa orang lain yang menggunakan program dan data yang sama setidaknya yakin akan hasil yang sama (dan karenanya memiliki sarana untuk memeriksa dengan tepat apa yang Anda lakukan) . Sebaliknya jika hasilnya sangat bergantung pada benih tertentu, maka ukuran sampelnya akan terlalu kecil, atau masalahnya terlalu rapuh sehingga hasilnya tidak dapat dipercaya. Bagaimana Anda akan melaporkan hal ini? Jika Anda menyembunyikan fakta bahwa Anda harus mencari hasil yang sesuai, maka hal itu akan dianggap tidak dapat diterima. Jika Anda mempublikasikan faktanya, Anda mempublikasikan hasil yang dianggap meragukan dan tidak berguna. Saya menyarankan untuk mendiskusikan ide Anda dengan supervisor, mentor, atau kolega jika diperlukan. Jika mereka menyarankan hal ini, penjelasan mengapa menurut Anda ini adalah ide yang bagus akan diperlukan di mana pun Anda mempresentasikan hasilnya.
Secara keseluruhan, matriks Stata memiliki baris dan kolom sehingga jika diberi vektor kolom, elemen-elemennya secara umum adalah matname[
i, 1]
. Berlangganan didefinisikan dalam dokumentasi apa pun pada matriks Stata, mis. http://www.stata.com/help.cgi?matrix
Jadi lingkaran yang Anda maksudkan mungkin saja demikian
mkmat Seeds, matrix(matSeeds)
forval i = 1/`= rowsof(matSeeds)' {
...
set seed `= matSeeds[`i', 1]'
...
}
http://www.stata.com/help.cgi?macro mendokumentasikan evaluasi pada lalat (dalam hal ini) elemen skalar dan matriks.
EDIT: Sintaks yang digunakan di sini didokumentasikan di help macro
atau di http://www.stata.com/manuals14/pmacro.pdf. Berikut ini contohnya:
. mat foo = J(1, 1, 42)
. set seed `=foo[1,1]'
. display c(seed)
X51535c3ec43f462544a474abacbdd93d386b
. mat foo = J(1, 1, 666)
. set seed `=foo[1,1]'
. display c(seed)
X97b5c5aec43f462544a474abacbdd93d2d9c
Masalah mendasar di sini adalah set seed
tidak akan mengevaluasi ekspresi yang dimasukkan ke dalamnya. Ada berbagai solusi termasuk mendefinisikan makro lokal dan kemudian mengetikkan referensi makro. Cara kerja Stata adalah makro dievaluasi sebelum set
melihat argumennya. Sintaks yang ditunjukkan di sini memotong makro dengan melakukan evaluasi dengan cepat.
Kasus yang digunakan di sini adalah expansion_optr adalah tanda sama dengan =
diikuti oleh exp, yaitu ekspresi yang akan dievaluasi. Dalam hal ini, ekspresi hanyalah elemen matriks.
person
Nick Cox
schedule
16.12.2015