gpt4 book ai didi

rpois 在 R 中生成具有大均值 (lambda) 的 NA

转载 作者:行者123 更新时间:2023-12-04 19:14:08 24 4
gpt4 key购买 nike

我正在调试一组更大的嵌套模型,这些模型仅在优化过程中遇到问题。在我认为导致错误的归零过程中,我在 rpois() 中遇到了异常行为。功能。

似乎平均值非常大,rpois()返回 NA而不是一个值。此问题不会生成警告。请参阅下面的一组可重现的代码。

> rpois(1,3000000000)
[1] NA

我的问题有两个:
1 - 为什么它会显示这种行为(rpois 函数的整数大小是否有最大限制?)和
2 - 是否有解决方法来防止 NA 的产生(即使这是为了将平均输入的大小限制为某个较小的值)?

我在 64x Windows 7 中运行 32x R 版本 3.0.2。

最佳答案

问题是rpois返回一个整数,并将值转换为 NA如果该值大于可能的最大整数值 ( .Machine$integer.max )。

rpois(1,.Machine$integer.max/1.00001)
## [1] 2147428954
rpois(1,.Machine$integer.max/1)
## [1] NA

在这种情况下,正态近似值应该非常精确(如果均值大于 100,通常非常好!):如果您的均值大于(比如说) 0.999*.Machine$integer.max ,您可以使用 round(rnorm(1,mean=lambda,sd=sqrt(lambda)))

关于rpois 在 R 中生成具有大均值 (lambda) 的 NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23770926/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com