Да, ваш код видоизменяется x
в for l oop:
x=c(T,T,F,T,F)
for (i in 1:5){
cat(paste0("\nLoop iteration Nr. ", i, " 'x' is: ", paste0(x, collapse=", ")))
if(i > 1 & i < 5){
cat(paste0("\nAbout to set x[", i, "] to ", x[i - 1] & x[i + 1] & x[i]))
x[i] = x[i - 1] & x[i + 1] & x[i]
} else if(i < 5){
cat(paste0("\nAbout to set x[", i, "] to ", !x[i] | !x[i+1]))
x[i] = !x[i] | !x[i+1]
}
}
Loop iteration Nr. 1 'x' is: TRUE, TRUE, FALSE, TRUE, FALSE
About to set x[1] to FALSE
Loop iteration Nr. 2 'x' is: FALSE, TRUE, FALSE, TRUE, FALSE
About to set x[2] to FALSE
Loop iteration Nr. 3 'x' is: FALSE, FALSE, FALSE, TRUE, FALSE
About to set x[3] to FALSE
Loop iteration Nr. 4 'x' is: FALSE, FALSE, FALSE, TRUE, FALSE
About to set x[4] to FALSE
Loop iteration Nr. 5 'x' is: FALSE, FALSE, FALSE, FALSE, FALSE
И поскольку вы используете в каждой итерации предыдущее значение для вычисления текущего значения, i-й шаг влияет на я + 1-й шаг.