全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3554 6
2014-09-14
模拟到时刻T为止,poisson过程发生的事件数及各自对应的时刻,程序如下:
pois.proc2 = function(T,lambda) {
        N = 0;S = 0;i = 0;p <- exp(-lambda*T);F = p
        u = runif(1)
        while(u>=F){
        p <- lambda*T*p/(i+1); F = F+p
        i <- i+1
        }
        N = i
        U = runif(N)
        S = sort(T*U)
        list(N=N,S=S)
}
然后运行得到输出结果:
> pois.proc2(100,0.3)
$N
[1] 24

$S
[1]  5.502204  8.206250  8.230702  8.611903 21.547778 23.530607 29.561503 36.539901 39.507731 52.475118
[11] 67.250206 70.896497 71.734947 74.513169 76.546803 76.833238 77.657784 79.273732 82.012393 85.144214
[21] 92.746250 96.489299 99.500813 99.964617
现在我想知道如何提取N的值比如说24,以及S中的某个值如第三个8.230702 ?求高手帮忙解答呀~万分感恩!

二维码

扫码加我 拉你入群

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

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

全部回复
2014-9-15 00:52:17
应该可以返回的吧
二维码

扫码加我 拉你入群

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

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

2014-9-15 10:11:42
pois.proc2(100,0.3) $S[3]
二维码

扫码加我 拉你入群

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

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

2014-9-15 19:33:32
huyiustc 发表于 2014-9-15 10:11
pois.proc2(100,0.3) $S[3]
实在太感谢你了~~~~我还有一个问题,就是您的这个代码运行之后每次得到的结果不一样,怎么才能提取已有结果中的数值?
二维码

扫码加我 拉你入群

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

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

2014-9-15 19:50:50
guolinxiang23 发表于 2014-9-15 19:33
实在太感谢你了~~~~我还有一个问题,就是您的这个代码运行之后每次得到的结果不一样,怎么才能提取已有结 ...
每次不一样可能是由于每次随机生成数不同所致,可用set.seed函数使得每次runif生成的数字一样
二维码

扫码加我 拉你入群

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

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

2014-9-15 19:55:14
匡昊 发表于 2014-9-15 19:50
每次不一样可能是由于每次随机生成数不同所致,可用set.seed函数使得每次runif生成的数字一样
先把模拟结果保存到一个变量中
X=pois.proc2(100,0.3)
然后在提取
X$S[3]
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群