3

My console tells me that -0 returns 0 and that both c(1:5)[0] and c(1:5)[-0] return integer(0). Does R this mean that R has no concept of "negative zero"?

4

2 回答 2

5

尽管 R 很好地隐藏了它,但实际上 R 确实有一个负零:

# R says these are the same

0 == -0
## [1] TRUE

identical(0, -0)
## [1] TRUE

# but they are not

is.neg0 <- function(x) x == 0 && sign(1/x) == -1

is.neg0(0)
## [1] FALSE

is.neg0(-0)
## [1] TRUE
于 2021-02-26T12:43:22.767 回答
0

R 中的索引从 1 开始,允许索引 0,但表示一个空向量(R 语言定义)。负号表示“给我列表中的所有元素,但我在索引中指定的元素”,即c(1:5)[-2]返回[1] 1 3 4 5。在您的情况下,索引 0 和 -0 之间没有区别,它们代表相同的行为。

于 2021-02-26T10:40:45.553 回答