gpt4 book ai didi

r - 寻找上一个星期一

转载 作者:行者123 更新时间:2023-12-04 11:20:57 29 4
gpt4 key购买 nike

我正在寻找一种方法来查找上一个日历周的星期一的日期对象。例如,今天是1/15/2016;我需要构建一个将返回'2016-01-04 UTC'的函数

最佳答案

问题要求输入“上一个日历周的星期一”。我们在下面假设这意味着您想要输入日期或之前的星期一。

请注意,最好使用"Date"类,因为不需要时间,并且"Date"类没有时区,因此可以避免与"POSIXt"类相关的潜在时区错误。

动物园插图中有nextfri函数,zoo quickref vignette可作为类似函数的基础。我们进行以下更改(1)将ceiling替换为floor,(2)将5(星期五)替换为1(星期一),以及(3)我们添加origin=参数to as.Date-如果zoo是已加载默认来源,因此可以选择省略origin=参数。

此函数仅使用基数R,并且已向量化。它接受"Date"类向量,并返回相应输入日期或之前的星期一日期的"Date"类向量。

lastmon <- function(x) 7 * floor(as.numeric(x-1+4)/7) + as.Date(1-4, origin="1970-01-01")


例如,

 > lastmon(as.Date(c("2016-01-15", "2016-01-11")))
[1] "2016-01-11" "2016-01-11"


lastmon函数可以替代地简化为:

lastmon2 <- function(x) x - as.numeric(x-1+4)%%7


注意:有关 nextfri的更多用法或其变体,另请参见SO答案 herehereherehere

关于r - 寻找上一个星期一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34822763/

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