楼主: previal
4017 16

用SAS可以产生这样的随机数吗? [推广有奖]

  • 1关注
  • 1粉丝

硕士生

46%

还不是VIP/贵宾

-

威望
0
论坛币
22 个
通用积分
0
学术水平
5 点
热心指数
6 点
信用等级
3 点
经验
645 点
帖子
93
精华
0
在线时间
138 小时
注册时间
2010-5-24
最后登录
2015-7-7

楼主
previal 发表于 2010-5-30 11:02:10 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
用SAS可以产生这样的随机数吗?比如产生只包括0 ,5 和10 的100个数,其概率分别为0.7,0.2和0.1
二维码

扫码加我 拉你入群

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

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

关键词:随机数 SAS 随机数

回帖推荐

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

呵呵。他说的是概率为0.7 等等。应该算是吧。 do i = 1 to 100; r = ranuni(1); if r

本帖被以下文库推荐

I believe I can fly,and I can touch the sky!

沙发
gssdzc 在职认证  发表于 2010-5-30 11:04:55
顶起来,让用sas的朋友来回答

藤椅
previal 发表于 2010-5-30 11:07:58
呵呵,谢谢啊
I believe I can fly,and I can touch the sky!

板凳
crackman 发表于 2010-5-30 11:16:05
你这个还叫随机数啊?
都限定数值和概率了
你不如一个数据集里面 70个1  20个 5  10个10
然后倒一下顺序就完了

报纸
previal 发表于 2010-5-30 11:28:30
我知道,可是我希望0 ,5和10这三个数是随机排列的啊
I believe I can fly,and I can touch the sky!

地板
jingju11 发表于 2010-5-30 11:30:59
crackman 发表于 2010-5-30 11:16
你这个还叫随机数啊?
都限定数值和概率了
你不如一个数据集里面 70个1  20个 5  10个10
然后倒一下顺序就完了
呵呵。他说的是概率为0.7 等等。应该算是吧。

do i = 1 to 100;
   r = ranuni(1);
   if r <0.7 then x = 0;
      else if r <0.9 then x = 5;
         else x = 10;
   output;
end;
已有 1 人评分热心指数 收起 理由
crackman + 1 这样也可以啊?

总评分: 热心指数 + 1   查看全部评分

7
crackman 发表于 2010-5-30 11:46:24
6# jingju11
这样也可以啊

8
previal 发表于 2010-5-30 11:58:37
一列列车从A站开往B站,某人每天赶往B站上车。他已经了解到火车从A站到B站的运行时间是服从均值为30min,标准差为2min的正态随机变量。火车大约下午13:00离开A站,此人大约13:30到达B站。火车离开A站的时刻及概率如表1所示,此人到达B站的时刻及概率如表2所示。问此人能赶上火车的概率有多大?
表1:火车离开A站的时刻及概率


火车离站时刻

13:00

13:05

13:10


概率

0.7

0.2

0.1



表2:某人到达B站的时刻及概率

人到站时刻

13:28

13:30

13:32

13:34


概率

0.3

0.4

0.2

0.1



为了分析简化,假定13时为时刻t=0,则变量
、 的分布律为:  
T1
0

5

10


P(T)
0.7

0.2

0.1




T3
28

30

32

34


(P)T
0.3

0.4

0.2

0.1



此人能及时赶上火车的充分必要条件为:T1+T2>T3
,所以此人能赶上火车的概率模型为:P(T1+T2>T3
)
I believe I can fly,and I can touch the sky!

9
previal 发表于 2010-5-30 12:27:55
哈哈哈,我会了,谢谢6楼!!!
I believe I can fly,and I can touch the sky!

10
previal 发表于 2010-5-30 15:07:26
data a;                                                                                                                              
   do i = 1 to 10000;                                                                                                                  
    r = ranuni(1);                                                                                                                     
   if r <= 0.7 then t1 = 0;                                                                                                            
      else if 0.7<r <= 0.9 then t1 = 5;                                                                                                
         else t1 = 10;                                                                                                                  
   output;                                                                                                                              
end;                                                                                                                                    
drop r;                                                                                                                                 
run;                                                                                                                                    
                                                                                                                                       
data b;                                                                                                                                
    do i = 1 to 10000;                                                                                                                  
    r = ranuni(1);                                                                                                                     
   if r <= 0.4 then t3 = 30;                                                                                                            
      else if 0.4<r <= 0.7 then t3 = 28;                                                                                                
       else if 0.7<r <= 0.9 then t3 = 32;                                                                                               
         else t3 = 34;                                                                                                                  
   output;                                                                                                                              
   end;                                                                                                                                 
run;                                                                                                                                    
                                                                                                                                       
data c;                                                                                                                                
  do i = 1 to 10000;                                                                                                                    
t2 =30+2 * rannor(0);                                                                                                                  
output;                                                                                                                                 
end;                                                                                                                                    
run;                                                                                                                                    
                                                                                                                                       
data d;                                                                                                                                 
merge  a b c;                                                                                                                           
by i ;                                                                                                                                 
if  t1 + t2 > t3  then  t=1;                                                                                                           
else  t=0;                                                                                                                              
run;                                                                                                                                    
                                                                                                                                       
                                                                                                                                       
PROC FREQ DATA=d;                                                                                                                     
     TABLE t;                                                                                                                           
RUN;
I believe I can fly,and I can touch the sky!

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

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