在RStudio中为rnorm功能设置限制

晚上好

即使我知道它将“破坏”实际的正态分布,我也需要在R中为rmrm函数设置一个最大值和一个最小值。 我使用秃鹰的成活率来计算种群趋势,尽管出于逻辑原因我需要使它波动,但成活率不能超过1或低于0。 我尝试用if和else来做,但是我认为应该有更好的方法。

谢谢!

tb_eleven 回答:在RStudio中为rnorm功能设置限制

您可以从标准化的rnorm大抽奖中抽样:

rbell <- function(n) {
  r <- rnorm(n * 1000)
  sample((r - min(r)) / diff(range(r)),n)
}

例如:

rbell(10)
#> [1] 0.5177806 0.5713479 0.5330545 0.5987649 0.3312775 0.5508946 0.3654235 0.3897417
#> [9] 0.1925600 0.6043243

hist(rbell(1000))

enter image description here

这将始终缩减为时间间隔(0,1)。

本文链接:https://www.f2er.com/1239708.html

大家都在问