gpt4 book ai didi

r - 为什么无穷远的日期看起来像 NAs 但行为像日期?

转载 作者:行者123 更新时间:2023-12-03 20:47:19 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





R `Inf` when it has class `Date` is printing `NA`

(1 个回答)


3年前关闭。




我试图找出处理 Postgresql 表示 Infinity 的能力的最佳方法。和 -Infinity使用 RPostgreSQL 时的时间戳将数据带入 R。一路上,当我试图在 R 中表示无限日期时,我发现了一些奇怪的行为。

我可以尝试通过以下方式在负无穷大和正无穷大处创建日期:

❥ as.Date(-1/0, origin="1970-01-01")
[1] NA
❥ as.Date(1/0, origin="1970-01-01")
[1] NA

他们似乎都是 NA。然而,当比较它们时,似乎有一种理解,即一个比另一个少。
❥ as.Date(-1/0, origin="1970-01-01") < as.Date(1/0, origin="1970-01-01")
[1] TRUE
❥ as.Date(-1/0, origin="1970-01-01") > as.Date(1/0, origin="1970-01-01")
[1] FALSE
❥ as.Date(1/0, origin="1970-01-01") > as.Date("1970-01-01")
[1] TRUE
❥ as.Date(1/0, origin="1970-01-01") < as.Date("1970-01-01")
[1] FALSE

如果它们都转换为 NA,R 如何知道差异?

最佳答案

他们不会转换为 NA ,这就是它们的打印方式。

R> d <- as.Date(-Inf, origin="1970-01-01")
R> is.na(d)
# [1] FALSE
R> is.infinite(d)
# [1] TRUE

如果您希望它们以不同的方式打印,您可以覆盖 print.Date方法并为 +/- 无穷大添加特殊情况。

关于r - 为什么无穷远的日期看起来像 NAs 但行为像日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30128851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com