Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 基于指数分布生成故障_R_Random_Probability_Sample - Fatal编程技术网

R 基于指数分布生成故障

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)

我需要根据其他3个参数(A、B和C)的行为生成故障数据。例如:如果A>10、B>10和C>10,则故障概率为0.99。否则,如果A<10,B>10,C>10,则概率为0.30。在知道这些故障遵循指数分布的情况下,如何生成这些故障

我想为100个周期生成数据,也就是说,对于每个周期,我想知道是否有故障


任何帮助都将不胜感激。

您需要指定在其他情况下会发生什么,但您希望使用
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的成功概率),因此可能会得到更好的解释和编码