R 基于指数分布生成故障
我需要根据其他3个参数(A、B和C)的行为生成故障数据。例如:如果A>10、B>10和C>10,则故障概率为0.99。否则,如果A<10,B>10,C>10,则概率为0.30。在知道这些故障遵循指数分布的情况下,如何生成这些故障 我想为100个周期生成数据,也就是说,对于每个周期,我想知道是否有故障R 基于指数分布生成故障,r,random,probability,sample,R,Random,Probability,Sample,我需要根据其他3个参数(A、B和C)的行为生成故障数据。例如:如果A>10、B>10和C>10,则故障概率为0.99。否则,如果A10,C>10,则概率为0.30。在知道这些故障遵循指数分布的情况下,如何生成这些故障 我想为100个周期生成数据,也就是说,对于每个周期,我想知道是否有故障 任何帮助都将不胜感激。您需要指定在其他情况下会发生什么,但您希望使用rexp()函数,然后编写一个函数或使用if-else语句: if (A>10 & B>10 & C>10)
任何帮助都将不胜感激。您需要指定在其他情况下会发生什么,但您希望使用
rexp()
函数,然后编写一个函数或使用if-else语句:
if (A>10 & B>10 & C>10) {
rexp(100, rate=0.99)
} else {
rexp(100, rate=0.30)
}
更新:
听起来你想要这样的东西:
if (A>10 & B>10 & C>10) {
p = rpois(100, rate=0.99)
} else {
p = rpois(100, rate=0.30)
}
p[p>0]=1
if-else创建一个向量
p
,其中包含每个周期的估计故障数。然后,最后一行将所有出现故障的时段编码为1
和0
,否则。函数rexp将生成连续值。但是,我需要指定时段中是否存在故障(1)或故障(0)。是否要知道每个时段的故障数,或者是否存在任何故障?对于前者,只需将上面的rexp
替换为rpoi
。否则,执行类似于p=rpois(100,0.99)的操作;p[p>0]=1
仅当出现任何故障时。更新我的答案尝试逐个运行这些答案并查看每个答案后的输出:p=RPOI(100,0.99)
将从泊松分布中提取100个随机变量,λ=0.99。这将创建一个向量p
,其中包含100个条目,每个条目告诉您该时间段内的故障数。然后p[p>0]=1
选择该向量中大于零的值,并将其赋值为1。假设在一个时间段内发生了两次故障,这将被编码为1。您的问题未定义各种状态,例如a>10&B>10&C<10
?还有,指数分布从何而来@Jakob在其中引入了一个函数调用来引用指数分布,但这些函数调用只相当于使用具有给定成功概率的bernoulli试验(例如,rexp(n,rate=0.99)
仅为~0.63的成功概率),因此可能会得到更好的解释和编码