使用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?
答
这是你想要的吗?
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可以处理循环,但没有它们会更好,并且更习惯于使用高阶函数和操作的默认“向量化”行为。
请在文章底部添加适当的语言标签,例如, c,C++,php,...人们不得不打开这个页面来看看你在写什么语言,这是一个浪费时间。谢谢。 –
海报确实添加了一个语言选项卡;河虽然它应该已被大写... –