楼主: derekzzy
1600 2

[问答] 如何随机生成指定个数的,不是0且满足泊松分布的数 [推广有奖]

  • 0关注
  • 0粉丝

大专生

5%

还不是VIP/贵宾

-

威望
0
论坛币
20 个
通用积分
0.0319
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
134 点
帖子
13
精华
0
在线时间
60 小时
注册时间
2020-6-24
最后登录
2022-1-13

楼主
derekzzy 发表于 2020-6-24 13:46:16 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求助,我们知道rpois(5,lambda = 1)可以生成5个满足泊松分布,lambda=1 的随机数,比如输出1,0,0,1,0。 但是现在我想一次性生成5个不是0,且满足以上分布的数该怎么重写函数呢?有大佬有思路吗?



二维码

扫码加我 拉你入群

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

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

关键词:泊松分布 Lambda lamb BDA Lam

沙发
llb_321 在职认证  发表于 2020-6-25 00:26:04
+1行不行啊

藤椅
megapanda 发表于 2020-6-25 11:01:25
这个,,当你要求值不是0的时候,实际上它已经不满足原分布了,是个截尾 Possion分布了

如果你就是想要截尾,我暂时想不出来不用循环的办法
  1. rpois_ce = function (n, lambda, x.min = 0) {
  2.   k = 0
  3.   out = numeric(n)
  4.   while (k < n) {
  5.     .temp = rpois(n = 1, lambda = lambda)
  6.     if (.temp >= x.min) {
  7.       k = k + 1
  8.       out[k] <- .temp
  9.     }
  10.   }
  11.   
  12.   return(out)
  13. }

  14. # 示例
  15. > rpois_ce(5, lambda = 1, x.min = 1)
  16. [1] 1 1 3 1 2
复制代码

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

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