从数据集中抽取 5 个观察值,其中排名变量并不总是有 5 个观察值

Sampling 5 observation from a data-set, where the ranked variable does not always have 5 observations

我有一个银行业务单位(分支机构)和账户(帐号)的数据集。一些分支机构有 2 个帐户,而其他分支机构可以有 50 个 - 因人而异。 我需要从 每个分支中随机抽取 5 个帐户。 我尝试使用下面的代码,但出现以下错误:

错误:样本大小 5 大于抽样单位数 2。

我需要LIKE SMAPSIZE < 6,即如果每个分支只有 2 个 obs,则只带 2 个。

这是代码:

PROC SQL ;
    CREATE TABLE FINAL_RANDOM as
    SELECT  t1.mis_division_id,
            t1.mis_wing_id,
            t1.region_id,
            t1.account_branch_id,
            t1.branch_name,
            t1.acc,
            t2.Attribute,
    FROM work.ORGANIZATION_STRUC2 t1
    INNER JOIN work.UNION_ALL_RANDOM t2
    ON t1.account_id = t2.account_id
;
QUIT ;

PROC SORT DATA=work.FINAL_RANDOM ;
BY Account_Branch_Id ;
RUN ;

PROC SURVEYSELECT DATA=FINAL_RANDOM OUT=FINAL_RANDOM_1 NOPRINT
     METHOD=srs
     SAMPSIZE = 5 ;
     STRATA Account_Branch_Id ;
RUN; 

样本大小

SAMPSIZE=

指定样本大小

全选

样本量超过总数时选择所有层单位