【发布时间】:2025-12-13 23:45:01
【问题描述】:
我有一个包含 438000 个元素的大型 POSIXct 向量 v2,创建如下:
t.start <- as.POSIXct("2016-08-16 15:00:00 CEST")
v1 <- seq(from = t.start, length.out = 2920, by = "3 hours")
v2 <- rep(v1, each = 150)
从v2,我想提取 12 个元素——它们第一次出现——包含每个月的第一天。具体来说,我寻找:
- 这12个元素在
v2中的数字位置 -
%d %b格式的这些元素的实际日期,例如“9 月 1 日”
这两件事应该分开提取,即之后存储在两个不同的向量中。我认为v1 和v2 包含夏令时POSIXct 元素,但这不应该影响一般操作。任何关于如何绕过夏令时的提示都是一个不错的小插件!
你知道怎么做吗?
【问题讨论】:
-
你可以使用像 lubridate 这样的包吗?如果您要显示您正在寻找的输出或至少前几行,这将有助于可视化您想要的内容。
-
我不知道你是否明白 - 是的,我可以使用 lubridate,尽管我还没有使用它。有了输出,嗯,这就是我要找的。第二个输出向量如下所示:
lbl_v2("01 Sep", "01 Oct", "01 Nov", [...], "01 Aug")。对于这 12 个元素中的每一个,我也在寻找它们存储在v2中的位置。这应该是一个数值向量,包含来自lbl_v2的日期出现在v2中的相应元素编号。