답변:
표본의 비율이 정확히 명시된 비율이되도록 하시겠습니까? 또는 그러한 비율을 가진 매우 큰 모집단에서 샘플링하는 아이디어를 표현하기 위해 (샘플 비율은 비슷하지만 정확하지는 않습니다)?
정확한 비율을 원하면 Brandon의 제안을 따르고 R sample
함수를 사용 하여 정확한 비율을 가진 벡터의 순서를 무작위 로 지정할 수 있습니다 .
모집단에서 표본을 추출하지만 비율을 정확하게 제한하지 않으려는 경우 sample
R 의 함수를 여전히 다음 prob
과 같은 인수와 함께 사용할 수 있습니다 .
> 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
n <- 10000
blah <- character(n)
u <- runif(n)
blah[u<=0.1] <- "A"
blah[u>0.1 & u<=0.3] <- "B"
blah[u>0.3 & u<=0.95] <- "C"
blah[u>0.95] <- "D"
table(blah)
prop.table(summary(as.factor(blah)))
의심 할 여지없이 이것이 실제로 무작위입니다. 나는 runif()
임의 의 범위까지 :)
prob
인수 를 사용하는 것이 더 쉬울 것 입니다 sample()
.sample(LETTERS[1:4], 10000, replace=TRUE, prob=c(0.1, 0.2, 0.65, 0.05))
SAS 사용자 인 경우 최신 버전은 Rand () 함수의 일부로 "테이블"배포판에서 찾는 것과 비슷한 기능을 제공합니다. http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a001466748.htm을 참조 하십시오.
x <- rep( c("A","B","C","D"), 10000*c(0.1,0.2,0.65,0.05) )
샘플을 호출 할 때 10000을 지정할 필요가 없습니다. 기본값은 명확합니다.