楼主: zespri
1826 2

问一个random sampling 问题 [推广有奖]

  • 0关注
  • 1粉丝

VIP

已卖:1278份资源

讲师

50%

还不是VIP/贵宾

-

威望
0
论坛币
3869 个
通用积分
272.6608
学术水平
7 点
热心指数
9 点
信用等级
8 点
经验
35949 点
帖子
374
精华
0
在线时间
616 小时
注册时间
2006-5-16
最后登录
2025-5-7

楼主
zespri 发表于 2009-11-13 09:18:53 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我有一组数据, 想根据两个变量随机提取 (region & group), 每组提取3行 (如原始数据小于3行, 则全部提取)

比如, region = south   group=small 结果只有 3 行 (random sampling),
但是region = south   group=big 结果只有 2 行, 因为总共只用2行.

我现在用Excel VBA 做, 哪位指教一下, SAS怎么写? 先谢谢了

Nameregiongroupfeedback
Asouthsmall4
Bsouthsmall5
Csouthsmall3
Dsouthsmall7
Esouthbig6
Fsouthbig8
GNorthbig5
HNorthbig9
INorthbig4
JNorthbig6
KNorthsmall7
LNorthsmall7
MNorthsmall9
NNorthsmall9
OWestbig5
PWestbig2
QWestsmall2
RWestsmall5
二维码

扫码加我 拉你入群

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

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

关键词:Sampling random rand AMPL amp random Sampling

回帖推荐

jingju11 发表于2楼  查看完整内容

1# zespri 给每一行设定一个随机数,然后通过对随机数排位,以在组别内打乱原来的位置(随机性)。最后选择每个组别的前三行即可。

本帖被以下文库推荐

沙发
jingju11 发表于 2009-11-14 00:12:04
1# zespri

  1. data A;
  2.    input Name $ region $ group $ feedback ;
  3.    _r =ranuni(11); *create a random number;
  4.    _n+1; *remember original order;
  5. datalines;
  6. A south small 4
  7. B south small 5
  8. C south small 3
  9. D south small 7
  10. E south big 6
  11. F south big 8
  12. G North big 5
  13. H North big 9
  14. I North big 4
  15. J North big 6
  16. K North small 7
  17. L North small 7
  18. M North small 9
  19. N North small 9
  20. O West big 5
  21. P West big 2
  22. Q West small 2
  23. R West small 5
  24. ;
  25. run;
  26. /*sort by random number*/
  27. proc sort data =A out =B; by region group _r; run;
  28. data C;
  29.    set B;
  30.    by region group _r;
  31.    if first.group then _m =0;
  32.    _m+1;
  33.    if _m <=3;
  34. run;
  35. /*restore original order: D is the randomly selected dataset*/
  36. proc sort data =C out =D(drop =_r _m _n); by _n; run;
复制代码
给每一行设定一个随机数,然后通过对随机数排位,以在组别内打乱原来的位置(随机性)。最后选择每个组别的前三行即可。
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

藤椅
zespri 发表于 2009-11-16 10:09:10
2# jingju11

非常感谢, 我一直在想怎么用proc surveyselect去做, 你的方法更直接, 简单.

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

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