r - 如何在While循环中有两个条件?

标签 r while-loop

基本上我的代码中有两个 while 循环。它们所做的只是从 0 到 10 或 -10 以 1 为增量进行计数。计数向量是“count1”和“count2”。这发生在我的代码中的两个单独的 while 循环中。但是,我现在需要每个计数相互依赖,因此我需要它们在同一循环中。是否可以让两个单独的 while 条件在一个循环中工作。 比如我现在有的是:

  count1 = 0
  count2 = 0
  l_RWM = vector()
  r_RWM = vector()      


while (count1 < 10 && count1 > -10){

  count1 = count1 + (sample(c(1,-1), 1, prob = c(.55,.45)))

  l_RWM = append(l_RWM,count1)

}

while (count2 < 10 && count2 > -10){

  count2 = count2 + (sample(c(1,-1), 1, prob = c(.55,.45)))

  r_RWM = append(r_RWM,count2)

}

但我想要类似的东西

while (count1&count2 < 10 && count1&count2 > -10){

if(count1 < 10 && count1 > -10) count1 = count1 + (sample(c(1,-1), 1, prob = c(.55,.45)))
    else count1 = count1

  if(count2 < 10 && count2 > -10) count2 = count2 + (sample(c(1,-1), 1, prob = c(.55,.45)))
    else count2 = count2

    l_RWM = append(l_RWM,count1)
    r_RWM = append(r_RWM,count2)

 }

我的“if”代码应该仅在对象未达到 10 或 -10 时才进行计数。例如。即使 count1 已完成,count2 仍会向上或向下计数。我的代码不起作用,我不是在寻找答案,而是寻找它不起作用的原因。请记住,我对 R 非常陌生,如果这个问题很琐碎,我提前道歉:p。

对于任何想知道的人,我需要它们在同一个循环中的原因是因为我希望有类似的东西:如果 count1 增加,则 count2 减少。

谢谢

最佳答案

根据您的伪代码,我假设您只是想确保 count1 和 count2 都小于 10,并且 count1 和 count2 大于 -10。我会做的是这样的:

while (count1 < 10 && count2 < 10 && count1 > -10 && count2 > -10){

您不需要用括号对任何内容进行分组,因为所有内容都通过 AND 组合在一起并且不存在混合逻辑。

关于r - 如何在While循环中有两个条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21297582/

相关文章:

r - 如何修剪数据框的开头

r - 在 stats::glm() 中,为什么子集参数给出的结果与我自己对数据参数进行子集化时的结果不同?

java - 当套接字读取java中的输入时,While循环失败

MySQL - 优化孤立记录整理

c - while 循环无法检测简单的数学运算

javascript - 我的reverse()函数有什么问题吗?

r - 如何从R中的纬度和经度中找到城市和州

r - 与新的 .Rnw 文件共享旧的 knitr 缓存

NumericMatrix 的 Rcpp 糖

python - 只有 while 循环的最后一次迭代保存