结合功能和迭代

时间:2017-07-24 23:53:59

标签: r loops

我试图将一系列循环/函数组合成一个包罗万象的函数,然后能够看到不同输入值的结果。虽然这些步骤在独立时(当只有一个输入时)正常工作,但我无法使整个功能正常工作。我得到的答案是1的向量,这是不正确的。

目标是计算随机生成的结果中连续零的出现次数,然后查看当我更改提供的初始百分比输入时,连续零发生的概率如何变化。

有没有人知道我做错了什么?我现在已经在几个不同的点上盯着这个,但无法弄清楚我哪里出错了。谢谢你的帮助。

### Example
pctgs_seq=seq(0.8,1,.01)
occurs=20
iterations=10

iterate_pctgs=function(x) { 
  probs=rep(0,length(pctgs_seq))

  for (i in 1:length(pctgs_seq)) {
    all_sims=lapply(1:iterations, function (x) ifelse(runif(occurs) <= i, 1, 0)) 

    totals=sapply(all_sims,sum)

    consec_zeroes=function (x) {
      g=0
      for (i in 1:(length(x)-1)) 
      { g= g+ifelse(x[i]+x[i+1]==0,1,0) }
      return (g) } 

    consec_zeroes_sim=sapply(all_sims,consec_zeroes)

    no_consec_prob=sum(consec_zeroes_sim==0)/length(consec_zeroes_sim)
    probs[i]=no_consec_prob } 
  return (probs)
}

answer=iterate_pctgs(pctgs_seq)

0 个答案:

没有答案