问题描述
晚上好
即使我知道它将“破坏”实际的正态分布,我也需要在R中为rmrm函数设置一个最大值和一个最小值。
我使用秃鹰的成活率来计算种群趋势,尽管出于逻辑原因我需要使它波动,但成活率不能超过1或低于0。
我尝试用if和else来做,但是我认为应该有更好的方法。
谢谢!
解决方法
您可以从标准化的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))
这将始终缩减为时间间隔(0,1)。