在R中使用xts和zoo包对时间序列进行重采样

在R中使用xts和zoo包对时间序列进行重采样,r,time-series,xts,zoo,R,Time Series,Xts,Zoo,我正在尝试以5分钟的给定时间分辨率对数据集重新采样()。为了获得30分钟的重新采样时间分辨率,我尝试了: #Date and Time together SRI_2010$Date_Time = paste(SRI_2010$Date, SRI_2010$Time, sep=" ") SRI_2010$Date_Time=as.character(SRI_2010$Date_Time) SRI_2010$Date_Time=as.POSIXct(SRI_2010$Date_Time,format

我正在尝试以5分钟的给定时间分辨率对数据集重新采样()。为了获得30分钟的重新采样时间分辨率,我尝试了:

#Date and Time together
SRI_2010$Date_Time = paste(SRI_2010$Date, SRI_2010$Time, sep=" ")
SRI_2010$Date_Time=as.character(SRI_2010$Date_Time)
SRI_2010$Date_Time=as.POSIXct(SRI_2010$Date_Time,format="%d/%m/%Y %H:%M")

#Creating the zoo object
SRI_2010.zoo <- zoo(SRI_2010,as.POSIXct(SRI_2010$Date_Time))

#Criteria for the resampling
ends2010 <- endpoints(SRI_2010.zoo,'minutes', 30)
SRI_30m_2010 <-period.apply(SRI_2010.zoo$SRI..W.m2.,ends2010,mean)
当我打算将具有不同时间分辨率的不同数据集组合成一个公共数据集时,这个小问题非常烦人。有人知道我该如何解决这个问题吗?

问题是,
端点
正在做它设计要做的事情。它返回每个时段的最后一个时间戳。我建议您使用
align.time
将索引时间戳向前移动到您感兴趣的分钟数

s <- align.time(as.xts(SRI_30m_2010), 60*30)
s
s <- align.time(as.xts(SRI_30m_2010), 60*30)