2017-10-31 28 views
3

R을 사용하여 지정된 확률을 기준으로 고정 된 그룹 크기의 그룹으로 샘플을 분할하려하지만 그룹을 항상 보장하려면 셔플 샘플의 크기는 항상 동일합니다. 예를 들어, 샘플 사이즈가 100이라고 가정하자, 그룹의 개수가 4이고, 각각의 그룹에 대해, 그룹의 크기는 40, 30, 20, 10은 각각 다음과 같이 나타낸다 :지정된 그룹 크기의 셔플 샘플을 항상 확보하는 방법 R

category_split <- sample(1:4, 100, replace=T, prob=c(0.4,0.3,0.2,0.1)) 
category_split 
# [1] 1 2 3 3 1 1 3 3 2 1 1 2 1 4 2 1 3 2 1 1 1 2 3 4 1 2 2 1 2 2 1 1 1 3 3 4 3 1 2 2 2 3 1 1 3 2 3 1 1 1 4 1 4 1 
#[55] 1 2 3 4 1 1 1 1 2 1 3 2 2 3 1 3 3 2 1 4 1 2 1 2 3 2 3 3 1 2 1 2 3 1 1 1 1 1 3 2 3 1 1 1 2 3 
table(category_split) 
#category_split 
# 1 2 3 4 
#43 26 24 7 

하지만 표본 추출 과정의 확률 적 특성으로 결과는 거의 비슷하지만 규정 된 그룹 크기 (40, 30, 20, 10)와 동일한 그룹 크기를 항상 보장 할 수는 없습니다. 같은 그룹 크기의 랜덤 셔플 링 결과를 sample 함수 또는 R의 다른 함수를 사용하여 얻을 수있는 방법이 있습니까?

답변

4

첫번째 요소의 필요한 수의 벡터를 생성하고 sample

category_split = sample(rep(1:4, c(40, 30, 20, 10))) 

table(category_split) 
#category_split 
# 1 2 3 4 
#40 30 20 10