随机数,可能是区间的一部分,在R中呈指数分布

随机数,可能是区间的一部分,在R中呈指数分布,r,statistics,distribution,exponential,R,Statistics,Distribution,Exponential,我遇到了一个问题,我需要生成一个随机数,它可能是指数分布区间的一部分,但我不知道如何在编程语言R中实现这一点 我想模拟放射性衰变。所以如果我们有一个给定的时间窗口,它是一个间隔(a,b),原子的衰变时间x是(a,b)的一部分,我想在原子衰变时增加一个计数器 那么,例如,100个原子,如果每个原子都有自己的衰变时间,那么在某个时间窗口后,有多少原子衰变了 我现在的问题是:如何得到一个随机数,这样这个数就可以是时间窗口的一部分,但不必是随机数 到目前为止,我的代码是: #indicator func

我遇到了一个问题,我需要生成一个随机数,它可能是指数分布区间的一部分,但我不知道如何在编程语言R中实现这一点

我想模拟放射性衰变。所以如果我们有一个给定的时间窗口,它是一个间隔(a,b),原子的衰变时间x是(a,b)的一部分,我想在原子衰变时增加一个计数器

那么,例如,100个原子,如果每个原子都有自己的衰变时间,那么在某个时间窗口后,有多少原子衰变了

我现在的问题是:如何得到一个随机数,这样这个数就可以是时间窗口的一部分,但不必是随机数

到目前为止,我的代码是:

#indicator function returns 1 if ti is part of the intervall otherwise 0
indicator<-function(timewindow,decaytime) {
  if(0 < decaytime || decaytime <= timewindow){
    return(1)
  }else{
    return(0)
  }
}

#ti should return the random number that could be part of the intervall HERE IS THE PROBLEM probably
getRandom<- function(p){
  number<- rexp(1, rate=p)
  return(number)
}

decay <- function(N,p,timewindow) {
    print(sum(replicate(N, indicator(timewindow,getRandom(p)))))
}

N<-100 #number of atoms
timewindow<-7.5 #time window (0 to 7.5]
p<-3.8/N #rate (lambda)

decay(N,p,t)
#如果ti是间隔的一部分,则indicator函数返回1,否则返回0

相同命名函数/变量(
ti
t
)之间的指示符,
ti(p,t)
中未使用的参数(
t
),还有描述,我很难理解你想做什么。有什么原因你不能只使用
decaytimes对不起,我编辑了代码。所以问题是,每个原子的衰变时间是相互独立的。因此,每个原子都有自己的衰变时间,它是指数分布的。所以我的问题是,h我怎样才能得到一个在时间窗口中具有一定概率部分的数字,这样原子就可以算作衰变了?哦,天哪,我想我发现了我的错误。它在这里:如果(0rexp(N,rate=p)
给出了100个独立的随机数。例如,
set.seed(2);rexp(3);
给出了1.86、0.40和0.15(四舍五入),这似乎集中在1的速率附近。一旦有了衰减时间向量,只需对相同命名函数/变量(
ti
t
)之间的
decaytimesti(p,t)
)中未使用的参数(
t
),还有描述,我很难理解你想做什么。有什么原因你不能只使用
decaytimes对不起,我编辑了代码。所以问题是,每个原子的衰变时间是相互独立的。因此,每个原子都有自己的衰变时间,它是指数分布的。所以我的问题是,h我怎样才能得到一个在时间窗口中具有一定概率部分的数字,这样原子就可以算作衰变了?哦,天哪,我想我发现了我的错误。它在这里:如果(0rexp(N,rate=p)
给出了100个独立的随机数。例如,
set.seed(2);rexp(3);
给出了1.86、0.40和0.15(四舍五入),这三者似乎集中在1的速率附近。一旦有了衰减时间的向量,只需对
decaytimes