按日将组数据分组到R中的动物园时间系列对象

时间:2015-03-10 16:14:16

标签: r

我读了一个csv文件并将其保存在动物园时间序列对象中。 该文件包含来自光伏模块的9个参数的每日测量(每15分钟)。 我希望每天分开数据(使它们成为一组),以便调用我为每天测量运行的功能。 我的代码是:

data1<-read.zoo("C:/Users/Christiana/Desktop/excelfile/data1.csv",format = "%d/%m/%Y %H:%M", sep=',', tz = "Etc/GMT+2", skip=1, dec=".")
colnames(data1)<-c('vdc','idc','pdc', 'pac', 'tmod', 'edc', 'eac', 'gpyrano', 'gcsi', 'sw', 'aw', 'tamb', 'rh','gh')
 data1<-na.omit(data1)
GH <- c(coredata(data1$gh)[1], coredata(data1$gh)[1:nrow(data1)-1])

data1<-cbind(data1,GH)
z<-index(data1)
   source('models.R')

models.R:

solarf<-cbind(G0=data$GH,Ta=data$tamb)
Gef<-calcGef(latitude, modeTrk='fixed', modeRad='bdI',dataRad=solarf,keep.night=TRUE, beta=title_pv, alfa=azimuth, iS=degree_of_dirtiness, alb=reflection, horizBright=TRUE, HCPV=FALSE)
model_G_cal<-cbind(Bn=Gef@GefI$Bn,Gsim=Gef@GefI$G,B=Gef@GefI$B,D=Gef@GefI$D,Di=Gef@GefI$Di,Dc=Gef@GefI$Dc,R=Gef@GefI$R,GH=data$GH,Gcsi=data$gcsi)

Gi<-val_Gi(model_G_cal$Gcsi,model_G_cal$Gsim)

Tmod_sim_Gcsi<-cbind(Tmod_sim=Tmodpred(data$tmod,data$tamb,data$gcsi,data$sw,data$aw,data$rh),Tmod_meas=data$tmod)

谢谢。

1 个答案:

答案 0 :(得分:0)

zoo提供了split方法,因此如果z是动物园对象,那么:

L <- split(z, as.Date(time(z)))

创建一个列表,其组件是每个日期的zoo对象的部分。

下次请将您展示的代码缩减到其基本要素,并使其可重现,这意味着必须提供所有输入。