首先,我有一个100个值的向量m1。接下来,当以下函数P(x+1)=P(x)(lambda/(x+1))^nu
的总和或函数的cdf超过m1的第一个值时,它应该给我x值。同样,这个循环应该运行m1的第二个值,依此类推。最终它应该给我100个数字。但循环在第一个循环后停止。我尝试使用以下代码,
critval=m1
y=rep(NA,100)
acumulated.distrib= function(sample,lambda,nu){
p0=c0=0.017533668
for(i in 1:length(sample)){
p <- p0*(lambda/(sample[i]+1)^nu)
c<- p+c0
c0=c
p0=p
for( t in 1:length(m1)){
critval[t]=m1[t]
if (c > critval[t]){
break
}
}
}
y[t]=sample[i]
print(sample[i])
}
sample = seq(0,100,by=1)
acumulated.distrib(sample,3,0.7)
如果有人能就这个问题给我一些想法或建议,将会非常有帮助。