gpt4 book ai didi

r - R编程-将时间范围设置为今天

转载 作者:行者123 更新时间:2023-12-02 08:17:24 25 4
gpt4 key购买 nike

这是一个非常简单的问题,因此希望很容易回答。以下是一些示例数据:

a <- seq(as.Date("2016-10-10"), as.Date("2016-11-22"), by = "day")
data.table(a)

我试图在R中设置一个时间范围,以使结束日期为今天。我有起作用的代码:
b <- a[a%between% c("2016-10-20", "2016-11-21")]

我尝试使用 Sys.Date(),但是它不起作用,我也不知道为什么:
gamesplayed <- gamesplayed[Date %between% c("2016-10-20", Sys.Date())]

我收到了我搜索过的错误 Error in charToDate(x) : character string is not in a standard unambiguous format,似乎答案与日期格式错误有关,我不知道为什么这是我的错误。谢谢您的帮助。

最佳答案

您需要使所有内容都具有一致的格式,即Date对象或character字符串。例如。:

a[a %between% c(as.Date("2016-10-20"), Sys.Date())]
# [1] "2016-10-20" "2016-10-21" "2016-10-22" "2016-10-23" "2016-10-24"
# ...
#[31] "2016-11-19" "2016-11-20" "2016-11-21" "2016-11-22"

在处理日期时,最好始终显式比较 DateDate。即使R可以偶尔处理 Datecharacter的比较,这也是为什么当将 %between%的范围指定为两个 character对象时,原始代码可以工作的原因。
Sys.Date() == "2016-11-23"
#[1] TRUE
Sys.Date() == as.Date("2016-11-23")
#[1] TRUE

关于r - R编程-将时间范围设置为今天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40755257/

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