我如何在while循环内增加一个数字,直到我的文本表达式出错

时间:2019-05-13 16:23:46

标签: r while-loop static

我需要在while循环中增加一个数字(n),但r仅执行一次。之后它停止了

我必须找到参与者的数量,以使仿真的功效> = 0.8。因此,我创建了一个while循环,并从n = 100开始,进行了for循环以计算功效,然后增加了我的n。 给定:需要力量的80% 搜索:样本量

n=100
crit.t<-qt(0.975,df=n-1)
obs_t<-c(NA,100)
power<-0

while(power<0.8){
  for (i in 1:100){
    SR<-rnorm(n,700,300)
    OR<-rnorm(n,750,300)
    obs_t[i]<-t.test(OR,SR,paired=FALSE,var.equal = TRUE)$statistic
    power<-mean(1-dnorm(n,crit.t-obs_t[i],300))
  }
n=n+1
}

print(n)

预期:n = 566 实际结果:n = 101

1 个答案:

答案 0 :(得分:1)

我执行了您的代码:在第一次迭代(i=1)中,您得到power = 0.998,因此while循环停止。这就是n = 100 + 1的原因。

您为什么还期待其他东西?