Я пытаюсь изучить R и понять, как работает символ &
. Я понимаю, что это означает «и».Использование & in R (например, 3 <(5 & 9))
Когда я пытаюсь 3 < (5 & 4)
Я получаю FALSE
? Я ожидал TRUE
. Использую ли я &
неправильный путь?
Я пытаюсь изучить R и понять, как работает символ &
. Я понимаю, что это означает «и».Использование & in R (например, 3 <(5 & 9))
Когда я пытаюсь 3 < (5 & 4)
Я получаю FALSE
? Я ожидал TRUE
. Использую ли я &
неправильный путь?
В R TRUE
имеет значение числа 1
в вашем выражении арифметического, следовательно:
3 < (5 & 4)
3 < TRUE
3 < 1
которого FALSE
Вы можете убедить себя, что R относится к TRUE
в 1
с следующим фрагментом коды:
> x <- c(-3:3)
> x
[1] -3 -2 -1 0 1 2 3
> x == TRUE
[1] FALSE FALSE FALSE FALSE TRUE FALSE FALSE
И изначально он по существу выполняет 'as.logical (5)' и 'as.logical (4)', которые оба возвращают 'TRUE' – thelatemail
Как отметил в своем ответе @nograpes, вы, вероятно, намеревались сделать все (3
Пробуйте использовать:
3 < c(4,5)
Таким образом, он будет проверить как 4 и 5.
ответ я получаю:
TRUE TRUE
Я думаю, что вы имели в виду ваше заявление было то, как мы сказали бы в Английский «На 3 меньше 5 и 4?». Но это не то, что означает 3 < (5 & 4)
. Как объясняется в других ответах, R пытается выяснить, что (5 & 4) означает сначала, а затем пытается выяснить, что означает, что значение 3 будет меньше TRUE
. Я думаю, что вы хотите что-то вроде:
(3 < 4) & (3 < 5)
Другой способ сказать, что это было бы:
all(3 < c(4,5))
Это может представлять интерес для вас тоже, в свете ответов: HTTP: // StackOverflow. com/a/21669446/496803 – thelatemail