为另一个向量重复循环

时间:2015-11-11 09:47:24

标签: loops

首先,我有一个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)

如果有人能就这个问题给我一些想法或建议,将会非常有帮助。

0 个答案:

没有答案