Apakah Anda ingin proporsi dalam sampel persis proporsi yang dinyatakan? atau untuk mewakili gagasan pengambilan sampel dari populasi yang sangat besar dengan proporsi tersebut (sehingga proporsi sampel akan dekat tetapi tidak tepat)?
Jika Anda menginginkan proporsi yang tepat maka Anda dapat mengikuti saran Brandon dan menggunakan sample
fungsi R untuk mengacak urutan vektor yang memiliki proporsi tepat.
Jika Anda ingin mengambil sampel dari populasi, tetapi tidak membatasi proporsi tepatnya, Anda masih dapat menggunakan sample
fungsi dalam R dengan prob
argumen seperti:
> x <- sample( LETTERS[1:4], 10000, replace=TRUE, prob=c(0.1, 0.2, 0.65, 0.05) )
> prop.table(table(x))
x
A B C D
0.0965 0.1972 0.6544 0.0519
x <- rep( c("A","B","C","D"), 10000*c(0.1,0.2,0.65,0.05) )
Anda dan Anda tidak perlu menentukan 10000 dalam panggilan untuk sampel, itu akan menjadi default (meskipun untuk kejelasan tidak ada salahnya untuk menentukannya).Saya tidak ragu ini benar-benar acak. Maksudku, sampai-sampai itu
runif()
acak :)sumber
prob
argumen untuksample()
:sample(LETTERS[1:4], 10000, replace=TRUE, prob=c(0.1, 0.2, 0.65, 0.05))
sample(,prob=)
kerjanya (setidaknya dalam bahasa Polandia disebut algoritma roulette).Jika Anda pengguna SAS, versi terbaru menyediakan kemampuan yang sama untuk menarik dari apa yang disebutnya distribusi "tabel" - yang Anda cari, sebagai bagian dari fungsi Rand (). Lihat http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a001466748.htm
sumber