我有POSIXct格式的采样时间数据(下面),但无法使用ts()
将其转换为小时时间序列。R中的每小时时间系列
> dat
[1] "2017-09-25 07:34:53 EDT" "2017-09-25 07:56:43 EDT" "2017-09-25 08:33:40 EDT"
[4] "2017-09-25 08:34:24 EDT" "2017-09-25 08:43:33 EDT" "2017-09-25 09:34:53 EDT"
[7] "2017-09-25 09:36:07 EDT" "2017-09-25 09:40:50 EDT" "2017-09-25 10:19:12 EDT"
[10] "2017-09-25 10:22:03 EDT" "2017-09-25 10:27:01 EDT" "2017-09-25 10:35:01 EDT"
[13] "2017-09-25 11:09:54 EDT" "2017-09-25 11:17:37 EDT" "2017-09-25 11:18:25 EDT"
[16] "2017-09-25 11:59:50 EDT" "2017-09-25 12:38:06 EDT" "2017-09-25 12:41:41 EDT"
[19] "2017-09-25 13:02:44 EDT" "2017-09-25 13:17:23 EDT" "2017-09-25 13:30:40 EDT"
[22] "2017-09-25 13:42:03 EDT" "2017-09-25 13:56:27 EDT" "2017-09-25 14:23:59 EDT"
[25] "2017-09-25 15:42:51 EDT"
我的目标是随后显示此小时时间序列与dygraph()
。在下面的例子中,我有一天的时间序列用下面的代码生成:
trips <- as.data.frame(matrix(ncol=1, nrow=30))
colnames(trips) <- c("count")
trips$count <- floor(runif(30, min=50, max=101))
z <- zoo(trips, seq(from = as.Date("2017-09-01"), to = as.Date("2017-09-30"), by = 1))
z <- as.ts(z)
dygraph(z, main = "Daily Trips")
我怎样才能正确地转换POSIXct到一个小时的时间序列知道在首末小时之间的差异记录 ?
下面是示例数据:
> dput(dat)
structure(c(1506339293, 1506340603, 1506342820, 1506342864, 1506343413,
1506346493, 1506346567, 1506346850, 1506349152, 1506349323, 1506349621,
1506350101, 1506352194, 1506352657, 1506352705, 1506355190, 1506357486,
1506357701, 1506358964, 1506359843, 1506360640, 1506361323, 1506362187,
1506363839, 1506368571), class = c("POSIXct", "POSIXt"), tzone = "")
是从一个特定的库'tz'? – erasmortg
yes from'lubridate' –
您的预期输出是什么?从我从'tz'读到的内容,这将获得或设置时区,而不是创建一个系列 – erasmortg