楼主: superbosslbls
1690 9

新人求教一个随机数的问题 [推广有奖]

  • 0关注
  • 0粉丝

已卖:33份资源

博士生

24%

还不是VIP/贵宾

-

威望
0
论坛币
252 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
12389 点
帖子
276
精华
0
在线时间
205 小时
注册时间
2012-12-31
最后登录
2016-1-30

楼主
superbosslbls 发表于 2013-9-28 02:43:10 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我想写一个program,是要生成5个1到59之间的随机整数,不能重复,想不到让生成的随机数不重复的方法啊,或者说就算想到一些逻辑也不知道怎么写出来,望高人指点
二维码

扫码加我 拉你入群

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

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

关键词:新人求教 随机数 Program 随机整数 gram

沙发
shelf317 发表于 2013-9-28 05:40:31
In Excel Data Analysis, you can generate random numbers continuously and uniformly distributed between 1 and 59

Also in Excel, you can specify the discrete probabilities for the integers between 1 and 59, generate random numbers you want!

I tested both methods and both worked!

Hope this helps

藤椅
bobguy 发表于 2013-9-28 06:45:03
Here is a very simple solution which provides no duplicates within each run.

data a;
  do i=1 to 59; output; end;
run;

data b;
  set a;
  order=ranuni(-1);
run;

proc sort data=b ; by order; run;

proc print data=b(obs=5);
run;

板凳
superbosslbls 发表于 2013-9-28 06:57:55
shelf317 发表于 2013-9-28 05:40
In Excel Data Analysis, you can generate random numbers continuously and uniformly distributed betwe ...
Thank you for your help. But the program is asked to coded by SAS. It is my homework. :)

报纸
jingju11 发表于 2013-9-28 07:08:48
列出数字1-59。然后利用不放回式随机抽样抽出5个数即可。京剧

地板
superbosslbls 发表于 2013-9-28 07:20:18
bobguy 发表于 2013-9-28 06:45
Here is a very simple solution which provides no duplicates within each run.

data a;
Thank you, the code works. What should I do if I want to generate 10 entries of 5 unduplicated integers follow unif(1,59)

7
superbosslbls 发表于 2013-9-28 07:21:32
jingju11 发表于 2013-9-28 07:08
列出数字1-59。然后利用不放回式随机抽样抽出5个数即可。京剧
不太明白,能具体一些么,刚学sas,不懂怎么用不放回式随机抽样

8
071029 发表于 2013-9-28 11:17:38
proc surveyselect

9
龙潭丰乐 学生认证  发表于 2013-9-28 23:13:28
  1. data quan;
  2. do i=1 to 59;
  3.    x=ranuni(1);         
  4. output;
  5. end;
  6. run;
  7. proc sort data=quan;
  8. by x;
  9. proc surveyselect data=quan out=quan1 method=srs sampsize=5;
  10. run;
复制代码

10
妖帝东皇 发表于 2013-10-18 15:34:56
data a;
do i=1 to 59;
output;
end;
run;
proc surveyselect data=a method=srs n=5 out=b seed=25070419;/*从1-59中随机一次性取出100个数,如果需要每次产生的数字不一样,改变seed后面的数字即可*/
run;
proc print data=b;
run;
┏━━━━━━━━━━━━━━┓
   ☞❤学而无友必然孤陋寡闻!❤
┗━━━━━━━━━━━━━━┛

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 10:10