基本上我的代码中有两个while循环。他们所做的只是以1为增量从0到10或-10。计数的向量是“count1”和“count2”。这是在我的代码中发生在两个单独的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减少。
由于
答案 0 :(得分:2)
我假设,从您的伪代码中,您只是想确保count1和count2都小于10并且count1和count2大于-10。我会做的是这样的事情:
while (count1 < 10 && count2 < 10 && count1 > -10 && count2 > -10){
你不需要用括号对任何东西进行分组,因为所有东西都是AND,并且没有混合逻辑。