楼主: zespri
3300 11

[原创博文] 请问关于智能取样的问题? [推广有奖]

11
bobguy 发表于 2010-2-13 12:50:13
zespri 发表于 2010-2-12 08:57
8# bobguy


感谢bobguy, 但surveyselect有一个问题, 就是如果要求取样数大于实际数, 就会报错.
Here is a simple way to build in your sample rules.

****random generate samoe data;
data pop;
   n0=1;
   do g='1','2','3','4','5';
       n=n0+ceil(ranuni(12345)*60);
       do id=n0 to n;
           other_var= ranuni(12345);
           output;
        end;
        n0=n+1;
    end;
    keep id g  other_var;
run;

proc freq data=pop;
table g/out=n;
run;

***build sampling rule here***;
data n2;
  length   size $200;
  retain size ;
  set n end=end;
  if count>=10 then n=ceil(0.3*count) ;
  else                       n=count ;
  size=catx(' ', size, n);
  if end then call symputx( 'size', size);
run;

proc surveyselect data=pop
         method=srs n=(&size)  /*** sanmple size for each group/strata ***/
         seed=33091 out=Sample;
      strata g;
   run;

proc print; run;
已有 1 人评分论坛币 学术水平 收起 理由
admin + 100 + 2 答谢帮助

总评分: 论坛币 + 100  学术水平 + 2   查看全部评分

12
zespri 发表于 2010-2-16 09:59:22
11# bobguy

太感谢了, 问题解决!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 13:39