【问题标题】:Using a for loop nested in a while loop in r在 r 中使用嵌套在 while 循环中的 for 循环
【发布时间】:2014-03-07 00:34:12
【问题描述】:

实验:'X 是五次试验的二项式,p = 0.5,其中 X 是正面的数量。 Ysample 是 X 次试验的二项式,p=0.5,其中 Ysample 是正面的数量。 T 是重复实验的次数,直到 Ysample>=3 的值。 这是代码:

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?

【问题讨论】:

  • 请在帖子底部添加适当的语言标签,例如c, c++, php, ...人们不得不打开它来查看您使用的语言是浪费时间。谢谢。
  • 海报确实添加了语言选项卡;河。虽然它应该大写...

标签: r for-loop while-loop


【解决方案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" )

【讨论】:

    【解决方案2】:

    检查您将 n 设置为什么。 T 在循环结束时简单地设置为 n。它不是计算出来的。

    此外,您可能需要考虑使用高阶函数;虽然 R 可以处理循环,但没有循环会更好,而且使用高阶函数和操作的默认“向量化”行为更符合 R。

    【讨论】:

      猜你喜欢
      • 2023-03-02
      • 2017-04-30
      • 2013-10-26
      • 2020-10-09
      • 1970-01-01
      • 2012-05-08
      • 2015-01-19
      • 2017-04-20
      • 2015-05-27
      相关资源
      最近更新 更多