SAS proc Surveryselect从不同层次选择不同百分比的样本

时间:2016-02-16 20:22:20

标签: sas

我有5个不同阶层的人口,我想随机抽样  来自一个池的大小为n,其中100%来自第1层,10%来自  阶层2,20%来自阶层3等。

如何在proc surveyselect步骤中完成它?

感谢。

1 个答案:

答案 0 :(得分:0)

使用PROC SURVEYSELECT中的SAMPRATE选项。 https://support.sas.com/documentation/cdl/en/statug/63347/HTML/default/viewer.htm#statug_surveyselect_sect007.htm

  

SAMPRATE =(值)

     

率=(值)

     

指定地层采样率,其中地层采样率是从地层中选择的单位比例。您可以使用空格或逗号分隔值。 SAMPRATE =值的数量必须等于输入数据集中的层数。   按照地层在输入数据集中出现的顺序列出地层采样率值。使用SAMPRATE =(values)选项时,输入数据集必须按STRATA变量按升序排序。您不能在STRATA语句中使用DESCENDING或NOTSORTED选项。   每个层次采样率值必须是非负值。您可以将速率值指定为0到1之间的数字。或者,您可以将百分比形式的速率值指定为1到100之间的数字,PROC SURVEYSELECT将该数字转换为一定比例。该过程将值1视为100%而不是1%。   要从一个层中选择样本,地层采样率的值必须为正。如果指定层数采样率为0,则PROC SURVEYSELECT不会从层中选择样本。这具有在样本选择之前对输入数据集进行子集化的效果;您省略的层不包含在抽样框中或在样本中表示。   SAMPRATE =选项仅适用于等概率选择方法(METHOD = SRS,METHOD = URS,METHOD = SYS和METHOD = SEQ)。对于系统随机抽样(METHOD = SYS),PROC SURVEYSELECT使用地层采样率的倒数作为层的间隔。有关系统采样的详细信息,请参见系统随机采样部分。对于其他选择方法,PROC SURVEYSELECT在选择之前将层数采样率转换为层样本大小,方法是将层中的单位总数乘以采样率并向上舍入到最接近的整数。