Nas介绍了R

时间:2021-03-27 00:21:38

标签: r date datetime xts posixct

我正在尝试根据 5 分钟垃圾邮件的日内数据生成一个 xts 对象。将日期时间转换为 POSIXct 对象时会出现问题。通过这样做,它会激活夏令时,并且我的格式会发生变化。创建对象时,格式的差异会创建 NA,而我的 cts 对象没有生成。

我从我的 csv 文件中读取数据

data = fread("....csv", header = T, sep = ",")

获取日期时间并将其存储在一个变量中

时间<-数据[,1]

这就是我的约会对象

数据[,1]

[844] "03.01.2019 22:15:00.000 GMT+0100" "03.01.2019 22:20:00.000 GMT+0100" "03.01.2019 22:25:00.0100" [847] "03.01.2019 22:30:00.000 GMT+0100" "03.01.2019 22:35:00.000 GMT+0100" "03.01.2019 22:40:00.000 GMT+0100" [850] "03.01.2019 22:45:00.000 GMT+0100" "03.01.2019 22:50:00.000 GMT+0100" "03.01.2019 22:55:00.000 GMT+0100" [853] "03.01.2019 23:00:00.000 GMT+0100" "03.01.2019 23:05:00.000 GMT+0100" "03.01.2019 23:10:00.000 GMT+0100" [856] "03.01.2019 23:15:00.000 GMT+0100" "03.01.2019 23:20:00.000 GMT+0100" "03.01.2019 23:25:00.000 GMT+0100" [859] "03.01.2019 23:30:00.000 GMT+0100" "03.01.2019 23:35:00.000 GMT+0100" "03.01.2019 23:40:00.000 GMT+0100" [862] "03.01.2019 23:45:00.000 GMT+0100" "03.01.2019 23:50:00.000 GMT+0100" "03.01.2019 23:55:00.000 GMT+0100" [865] "04.01.2019 00:00:00.000 GMT+0100" "04.01.2019 00:05:00.000 GMT+0100" "04.01.2019 00:10:00.000 GMT+0100" [868] "04.01.2019 00:15:00.000 GMT+0100" "04.01.2019 00:20:00.000 GMT+0100" "04.01.2019 00:25:00.000 GMT+0100" [871] "04.01.2019 00:30:00.000 GMT+0100" "04.01.2019 00:35:00.000 GMT+0100" "04.01.2019 00:40:00.000 GMT+0100" [874] "04.01.2019 00:45:00.000 GMT+0100" "04.01.2019 00:50:00.000 GMT+0100" "04.01.2019 00:55:00.000 GMT+0100" [877] "04.01.2019 01:00:00.000 GMT+0100" "04.01.2019 01:05:00.000 GMT+0100" "04.01.2019 01:10:00.000 GMT+0100" [880] "04.01.2019 01:15:00.000 GMT+0100" "04.01.2019 01:20:00.000 GMT+0100" "04.01.2019 01:25:00.000 GMT+0100"

我创建了新的 POSIX 变量

x2 <- as.POSIXct(time, format='%m.%d.%Y %H:%M:%S')

我的新变量看起来像这样(你可以看到时区从 4 月开始改变了)

x2

[845] "2019-03-01 22:20:00 CET" "2019-03-01 22:25:00 CET" "2019-03-01 22:30:00 CET" "2019-03- 01 22:35:00 欧洲中部时间" [849] "2019-03-01 22:40:00 CET" "2019-03-01 22:45:00 CET" "2019-03-01 22:50:00 CET" "2019-03-01 22:欧洲中部时间 55:00" [853] "2019-03-01 23:00:00 CET" "2019-03-01 23:05:00 CET" "2019-03-01 23:10:00 CET" "2019-03-01 23:欧洲中部时间 15:00" [857] "2019-03-01 23:20:00 CET" "2019-03-01 23:25:00 CET" "2019-03-01 23:30:00 CET" "2019-03-01 23:欧洲中部时间 35:00" [861] "2019-03-01 23:40:00 CET" "2019-03-01 23:45:00 CET" "2019-03-01 23:50:00 CET" "2019-03-01 23:欧洲中部时间 55:00" [865] "2019-04-01 00:00:00 CEST" "2019-04-01 00:05:00 CEST" "2019-04-01 00:10:00 CEST" "2019-04-01 00: 15:00 CEST” [869] "2019-04-01 00:20:00 CEST" "2019-04-01 00:25:00 CEST" "2019-04-01 00:30:00 CEST" "2019-04-01 00: 35:00 CEST” [873] "2019-04-01 00:40:00 CEST" "2019-04-01 00:45:00 CEST" "2019-04-01 00:50:00 CEST" "2019-04-01 00: 55:00 CEST” [877] "2019-04-01 01:00:00 CEST" "2019-04-01 01:05:00 CEST" "2019-04-01 01:10:00 CEST" "2019-04-01 01: 15:00 CEST” [881]“2019-04-01 01:20:00 CEST”

然后我创建了 xts 但出现了 NAs 生成的错误

data.xts <- xts(data[,2], order.by = x2)

xts(data[, 2], order.by = x2) 中的错误: “order.by”不能包含“NA”、“NaN”或“Inf”

1 个答案:

答案 0 :(得分:0)

抱歉,在 6 小时后我意识到了我的错误。在这一步中,这是正确的:

x2 <- as.POSIXct(time, format='%d.%m.%Y %H:%M:%S')

不是

x2 <- as.POSIXct(time, format='%m.%d.%Y %H:%M:%S')

相关问题