基本上我的代码中有两个 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/