Möchten Sie, dass die Proportionen in der Stichprobe genau den angegebenen Proportionen entsprechen? oder um die Idee der Stichprobe aus einer sehr großen Population mit diesen Anteilen darzustellen (so dass die Stichprobenanteile nahe beieinander liegen, aber nicht genau sind)?
Wenn Sie die genauen Proportionen wünschen, können Sie Brandons Vorschlag folgen und die R- sample
Funktion verwenden, um die Reihenfolge eines Vektors mit den genauen Proportionen zufällig zu bestimmen.
Wenn Sie eine Stichprobe aus der Grundgesamtheit erstellen möchten, aber die Proportionen nicht genau einschränken möchten, können Sie die sample
Funktion in R weiterhin mit dem folgenden prob
Argument verwenden:
> 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) )
und müssen nicht 10000 im Aufruf zum Abtasten angeben. Dies wäre die Standardeinstellung (aus Gründen der Übersichtlichkeit schadet es jedoch nicht, sie anzugeben).Ich habe keinen Zweifel, dass dies wirklich zufällig ist. Ich meine, soweit das
runif()
zufällig ist :)quelle
prob
Argument zu verwenden fürsample()
:sample(LETTERS[1:4], 10000, replace=TRUE, prob=c(0.1, 0.2, 0.65, 0.05))
sample(,prob=)
funktioniert (zumindest auf Polnisch heißt es Roulette-Algorithmus).Wenn Sie ein SAS-Benutzer sind, bieten neuere Versionen eine ähnliche Möglichkeit, aus einer sogenannten "Tabellen" -Distribution zu ziehen - nach der Sie als Teil der Rand () - Funktion suchen. Siehe http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a001466748.htm
quelle