如何设置指数分布?R语言移位指数分布代码报错解决方案咨询
问题解决:生成A到B地的耗时随机变量
嘿,我来帮你搞定这个R语言的问题~你遇到的错误其实是两个小细节没搞对,我一步步给你说清楚:
错误原因拆解
- 首先,
dexp()这个函数是用来计算指数分布的概率密度值的,不是用来生成随机数的!生成指数分布随机数应该用rexp()函数; - 其次,你调用
dexp(x, rate = 12)的时候,变量x根本没定义,R自然会报错说变量未定义啦。
正确实现方法
你的需求是:X = 30 + Y,其中Y是均值为12的指数随机变量。这里要注意R中rexp()的参数规则:指数分布的均值是1/rate,所以如果Y的均值是12,那么对应的rate参数应该是1/12,而不是12哦。
生成单个耗时样本
如果只需要一个随机的耗时值,代码如下:
# 生成单个A到B地的耗时样本 X <- 30 + rexp(n = 1, rate = 1/12)
生成多个耗时样本
如果需要批量生成(比如做模拟),只需要调整n的值就行,比如生成100个样本:
# 生成100个A到B地的耗时样本 X_samples <- 30 + rexp(n = 100, rate = 1/12)
验证结果
你可以用mean(X_samples)来验证生成的样本均值,应该大概接近30+12=42,符合你的分布设定~
内容的提问来源于stack exchange,提问作者Kate
相关产品推荐
相关产品推荐

