我正在使用rnorm,但我收到的输出有时是负面的。如何创建限制以使输出不低于0?例如:
output = rnorm(1, 800/20, sqrt(800))
答案 0 :(得分:2)
为什么不abs(rnorm(1, 800/20, sqrt(800))
?写rnorm
是为了给出正态分布的数字。也许您希望从截断的分布中获取输出。在这种情况下,您可能需要查看truncnorm
包。
library(truncnorm)
rtruncnorm( 1, a=0, b=Inf, 800/20, sqrt(800))
x = seq(-20,200,by=0.01)
y = dtruncnorm(x, a=0, b=Inf, 800/20, sqrt(800) )
plot(x,y,type="l",main="Density of a truncated normal distribution")
答案 1 :(得分:0)
泊松分布仅取正值。否则,golbasche解决方案似乎很完美。
hist(rpois(100, 5))