按日期和时间选择时间序列对象的间隔

Leo*_*tor 3 r date time-series hour

我的问题是如何管理空气质量数据库中的日期和时间,该数据库从2002年到2008年每天每隔十分钟保存一次数据.

我想生成几个分析和图表,但仅参考从早上6点到早上8点的早上高峰时段,我试图在所需的时间间隔内生成图表,但R工具总是在24小时内绘制图表.因此,歪曲了高峰时段的可用数据.

我非常感谢您就如何在高峰时段选择和绘制间隔以及如何生成多个图表的指导.

我有下一个脚本来生成日期间隔,但我想要小时间隔(6-8 am)并仅绘制间隔数据:

# select interval
start.date = as.POSIXct("2007-03-27 05:00", tz = "GMT")
end.date = as.POSIXct("2007-05-27 05:00", tz = "GMT")
subdata = subset(mydata, date >= start.date & date <= end.date,
select = c(date, nox, co))
#
#plot the variables
Run Code Online (Sandbox Code Playgroud)

Jos*_*ich 6

我建议你使用时间序列类而不是data.frame.使用xts可以轻松地按每天的时间间隔进行子集:

# use DWin's example data
Data <- data.frame(a=rnorm(240),
  dtm=as.POSIXct("2007-03-27 05:00", tz="GMT")+3600*(1:240))
# create xts object
library(xts)
x <- xts(Data[,"a"], Data[,"dtm"])
# subset by time of day
y <- x["T06:00/T08:00"]
# plot
plot(y)  # plots all 24 hours of each day
# use chartSeries from quantmod to avoid above behavior
library(quantmod)
chartSeries(y)
Run Code Online (Sandbox Code Playgroud)