【发布时间】:2018-06-04 08:36:31
【问题描述】:
我想使用h == 1 | 2 进行简单比较,其中h 可以是1 到4 之间的整数。令我惊讶的是,它不起作用。
我可以理解为什么
1 == 2 | 4
是的
也许是为什么
1 == (2 | 4)
是的
但是为什么以一切合理和理智的名义呢
as.numeric(1) == (2 | 4)
或
1L == (2 | 4)
或
3 == 2 | 4
评估为
是的
???
如何让 R 告诉我是否1 is equal to 2 or 4 并且答案是FALSE?
【问题讨论】:
-
你应该使用
1 %in% c(2,4) -
您希望
2|4评估为什么? -
@HongOoi 我希望像 Julia 或 JavaScript 这样的行为,当然不是从数字到逻辑的强制......
-
请回答问题。 2|4 的计算结果为 TRUE,即使 ti 是一种毫无意义的陈述。 @dww 更符合您的要求。仅在命令行中测试 2|4 可能会帮助您理解符号。
-
顺便说一句,在 Julia 和 python 中,
1 == 2|4是false,但不是因为您认为的原因:|是按位或运算符,所以2|4的计算结果为 6 .. . 本身并不值得一个答案,但也许值得某人包括在现有答案中......
标签: r