gpt4 book ai didi

r - POSIXct 平等奇怪地工作

转载 作者:行者123 更新时间:2023-12-02 05:03:54 25 4
gpt4 key购买 nike

我正在将 CSV 文件读入变量“stuff”并将第一列强制转换为 POSIXct(该列只有时间戳,格式为“2012-12-04 17:49:52”,因此效果很好).

stuff[,1]<-as.POSIXct(stuff[,1])

因为我有几天的数据,所以我试图按日期分解:

control <- subset(stuff,as.Date(stuff[,1]) == '2012-11-27')
control.1 <- subset(stuff,as.Date(stuff[,1]) == '2012-11-28')

我发现这并没有像我预期的那样按日期拆分数据。tail(control) 显示最后一个值是 2012-11-27 15:54:21,而 head(control.1) 显示它的第一个值是 2012-11-27 16:04:35。

因此,出于某种原因,平等似乎在 16:00 左右的某个地方发生了变化。我尝试在强制转换为 POSIXct 时指定时区,但这也无济于事。我可以做些什么来按天进行子集化(这是否有失败的原因)?我想提一下,我需要在那里保留每小时的信息,因为我计划随后使用它来分割数据。

最佳答案

也许 cut 可能对您有用,但如果没有复制您遇到的问题的数据样本,则很难确定。

这是一个使用 cut 来创建每日子集的最小示例。

set.seed(1) # So you can get the same numbers as I do
MyDates <- ISOdatetime(2012, 1, 1, 0, 0, 0, tz = "GMT") + sample(1:500000, 100)
class(MyDates)
# [1] "POSIXct" "POSIXt"
split(MyDates, cut(MyDates, breaks="1 day"))
$`2012-01-01`
[1] "2012-01-01 08:34:53 GMT" "2012-01-01 17:26:15 GMT" "2012-01-01 01:51:35 GMT"
[4] "2012-01-01 14:59:28 GMT" "2012-01-01 03:14:25 GMT" "2012-01-01 09:48:56 GMT"
[7] "2012-01-01 13:48:48 GMT" "2012-01-01 11:41:58 GMT" "2012-01-01 16:53:56 GMT"
[10] "2012-01-01 19:54:00 GMT" "2012-01-01 08:11:02 GMT"

$`2012-01-02`
[1] "2012-01-02 12:52:35 GMT" "2012-01-02 04:00:41 GMT" "2012-01-02 04:36:26 GMT"
[4] "2012-01-02 00:31:17 GMT" "2012-01-02 05:27:47 GMT" "2012-01-02 13:06:44 GMT"
[7] "2012-01-02 23:16:05 GMT" "2012-01-02 01:51:43 GMT" "2012-01-02 09:59:46 GMT"
::::
::::
::::
[13] "2012-01-05 10:25:04 GMT" "2012-01-05 20:34:21 GMT" "2012-01-05 11:56:40 GMT"
[16] "2012-01-05 02:56:40 GMT" "2012-01-05 09:08:00 GMT" "2012-01-05 02:45:00 GMT"
[19] "2012-01-05 12:09:45 GMT" "2012-01-05 14:42:59 GMT" "2012-01-05 16:35:56 GMT"

$`2012-01-06`
[1] "2012-01-06 06:08:22 GMT" "2012-01-06 04:46:31 GMT" "2012-01-06 11:12:12 GMT"
[4] "2012-01-06 17:45:37 GMT" "2012-01-06 09:48:54 GMT" "2012-01-06 00:47:02 GMT"
[7] "2012-01-06 06:46:24 GMT" "2012-01-06 01:33:21 GMT" "2012-01-06 03:53:53 GMT"
[10] "2012-01-06 00:01:45 GMT" "2012-01-06 13:23:54 GMT" "2012-01-06 01:40:54 GMT"

关于r - POSIXct 平等奇怪地工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13739029/

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