使用for循环嵌套在r中的while循环中

问题描述:

实验:'X是五项试验的二项式,p = 0.5,其中X是头的数量。 Ysample是X试验的二项式,p = 0.5,其中Ysample是头的数量。 T是实验重复的次数,直到Ysample> = 3的值。 这是代码:使用for循环嵌套在r中的while循环中

while (Ysample[i]<3){ 
length(X)=n 
    length(Y)=n 
    X=c(1:n) 
    Y=c(1:n) 
    i=1 
    X[i]=sum(rbinom(5,1,0.5)) 
    Ysample[i]=sum(rbinom(X[i],1,0.5)) 
    i=i+1 
    } 
    T=n 

我不清楚为什么它不工作,为什么不管我多少次运行它,我总是得到T = 10000?

+0

请在文章底部添加适当的语言标签,例如, c,C++,php,...人们不得不打开这个页面来看看你在写什么语言,这是一个浪费时间。谢谢。 –

+1

海报确实添加了一个语言选项卡;河虽然它应该已被大写... –

这是你想要的吗?

T <- 0 
Ysample <- 0 

while(Ysample < 3) 
{ 
    X <- sum(rbinom(5, 1, 0.5)) 
    Ysample <- sum(rbinom(X, 1, 0.5)) 
    T <- T + 1 
} 

cat("T = ", T, "\n\n") 

检查你正在设置n。 T在循环结束时简单地设置为n。这不是计算或任何东西。

另外,您可能要考虑使用更高阶的函数;虽然R可以处理循环,但没有它们会更好,并且更习惯于使用高阶函数和操作的默认“向量化”行为。