Я прочиталРазница между & и && в R
http://stat.ethz.ch/R-manual/R-devel/library/base/html/Logic.html
и разницу между & и & & не имеет смысла. Например:
> c(1, 2, 3) & c(1,2,3)
[1] TRUE TRUE TRUE
В соответствии со ссылкой это поведение ожидается. Он выполняет элементное сравнение двух векторов.
Так я тест снова ...
> c(1, 2, 3) && c(1,2,3)
[1] TRUE
Это также возвращает то, что ожидалось.
Но тогда я меняю значение ...
> c(1, 2, 3) && c(1,3,3)
[1] TRUE
Тем не менее ожидается, потому что ему короткое замыкание на первом элементе.
> c(1, 2, 3) & c(1,3,3)
[1] TRUE TRUE TRUE
Это, однако, потеряло меня. Эти два вектора не должны быть равны.
Вы меня потеряли в 'c (1, 2, 3) & c (1,2,3)' Можете ли вы сказать, что вы думаете, что это оценивает? – rawr
Я никогда не видел '&' использовано таким образом. Я не думаю, что это означает равный, вот что значит '=='. Это дает ожидаемый результат: 'c (1, 2, 3) == c (1,3,3)'. –
Замените свои векторы такими вещами, как 'x <- c (TRUE, FALSE)' и 'y <- c (FALSE, TRUE)' и 'z <- c (TRUE, TRUE)' и поиграйте с 'x & y 'и' x && z' и посмотреть, можете ли вы это выяснить сейчас – rawr