楼主: gnim
1788 3

[技术讨论与投票] 一个问题SAS Advance 不重复抽取样本数据?(Ch13 P458) [推广有奖]

  • 1关注
  • 1粉丝

硕士生

57%

还不是VIP/贵宾

-

威望
0
论坛币
823 个
通用积分
0.0003
学术水平
0 点
热心指数
3 点
信用等级
3 点
经验
1456 点
帖子
123
精华
0
在线时间
135 小时
注册时间
2010-1-22
最后登录
2020-7-26

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

在SAS advance certificate 上一段程序,page 458 望指点。谢谢!!

data work. rsubset(drop =obsleft sampsize);
sampsize =10;
obsleft=totobs;
do while(sampsize>0);
      pickit +1 ;                                                /* 这样下去pickit 不就是只能取 1,2, 3, ..10 吗? pickit 不是随机的了?*/
      if ranuni(0) < samplsize / obsleft then do;   /** 看不懂这句?**/
                set sasuser.revenue  point=pickit nobs=totobs;  
                sampsize=sampsize -1;
   end;
   obsleft = obsleft-1;
   end;
   stop;
run;




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:ADVANCE VANCE advan ance 样本数据

沙发
chen2min 发表于 2017-9-30 17:39:25 来自手机 |只看作者 |坛友微信交流群
gnim 发表于 2017-9-9 23:13
在SAS advance certificate 上一段程序,page 458 望指点。谢谢!!

data work. rsubset(drop =obslef ...
决定随机的不是pickit
注意set语句里面 point=pickit ,指定临时变量pickit里面包含的数值决定了哪一行观测被读取,然后pickit+1这句再在每次执行改变指定的行。
注意sampsize=10和do while (sampsize>0)和里面sampsize=sampsize-1就决定了一共只读十条观测。
然后if语句那里,ranuni()函数才是决定随机的,ranuni(0)每次随机生成0-1之间的值,当ranuni(0)<sampsize/obsleft时,(这里obsleft通过nobs=totobs指定等于观测总数,且obsleft-1这句使得obsleft的值也每次变),由此执行set语句,故达到随机抽取其中十条观测的目的。。。。。
逻辑很绕,我也看了好久才看明白,比较少用得到,会考的点好像是ranuni(seed),就是里面的是seed不同值返回什么结果
seed是同一个正数时返回结果不变,是0时每次随机生成值,可以敲代码看看不同值的结果。
ranuni()在sas官方的定义是从均匀分布返回一个随机变量

使用道具

藤椅
chen2min 发表于 2017-9-30 17:41:35 来自手机 |只看作者 |坛友微信交流群
chen2min 发表于 2017-9-30 17:39
决定随机的不是pickit
注意set语句里面 point=pickit ,指定临时变量pickit里面包含的数值决定了哪一行观 ...
啊 被吃掉了一段话 if语句那里 能理解就行

使用道具

板凳
haowang1981 发表于 2017-11-2 17:06:07 |只看作者 |坛友微信交流群
决定随机的不是pickit,而是 ranuni(0) < samplsize / obsleft,也就是某一行是否被选中,由这三个数值决定。

不过总体来说,由于samplesize不是单调的,二obsleft是单调减小的,所以越是后面的obs被选中的概率大一点。

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-19 13:50