SAS中文论坛

标题: 请教使用rantbl的一个问题 [打印本页]

作者: shiyiming    时间: 2010-8-11 10:50
标题: 请教使用rantbl的一个问题
rantbl(seed,prob,....)这个格式能够用类似rantbl(seed,p)的形式替换么?(这里p是一个向量,元素是这个离散分布的概率)

我试验了我写的那个格式好像不能

那么怎么能把向量p放到rantbl里使用呢?

谢谢啦
作者: shiyiming    时间: 2010-8-11 11:11
标题: Re: 请教使用rantbl的一个问题
[code:yk66m3kt]
data _null_;
        array _p{*} p1 - p5;
                array _s{5} _temporary_;
                do j=1 to dim(_p); _p[j]=j; end;               
                s=sum(of _p[*]);
                do j=1 to dim(_p); _p[j]=_p[j]/s; put _p[j]= 5.3  '   '   @;  _s[j]=0; end;
                put //;
                do i=1 to 1000;
                    x=rantbl(87554, of _p[*]);
                    _s[x]+1;
                end;
                do j=1 to dim(_p);
                    put _s[j]= 'out of 1000 ' /;
                end;
run;
[/code:yk66m3kt]
作者: shiyiming    时间: 2010-8-11 22:05
标题: Re: 请教使用rantbl的一个问题
谢谢你的回复

这个使用array的方法,我在书上刚好找到。

不过我有个问题,就是我是用iml做的一些do loop。如果还用你写的在data下使用的方法就要把循环分开,把矩阵再放到data set里了。这样就有点太麻烦了,是不是在iml这个procedure下就没有方法能够把这个rantbl函数也用向量的方式表示离散的概率呢?

再次表示感谢

呵呵




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2