Ich habe zwei Zoo-Zeitreihen mit den gleichen Parametern für einen Bereich, aber von verschiedenen Plattformen. Diese beiden Zeitreihen haben eine leichte Verschiebung in den Zahlen, auch wenn ihre individuellen Trends korrekt sind und sich überschneiden. Ich möchte beide Zeitreihen zu einer fortlaufenden Serie verschmelzen lassen, indem ich die Fehler in beiden Serien mit den Daten für die überlappenden Daten korrigiere. Wie mache ich das bitte? Ich habe unten einige Beispieldaten hinzugefügt.Verschmelzen und anpassen zwei überlappende Zeitreihen in R
library(ggplot2)
library(gtable)
library(grid)
library(zoo)
library(reshape)
library(reshape2)
##Create zoo objects
x<-as.zoo(as.matrix(cbind(a=1:8,b=2:9)))
y<-as.zoo(as.matrix(cbind(a=2:9,b=3:10)))
##Create dates
CCnb1<-seq(from=as.Date("2004-01-01"),to=as.Date("2004-08-01"),by="1 months")
CCnb2<-seq(from=as.Date("2004-06-01"),to=as.Date("2005-01-01"),by="1 months")
##Index appropriately
index(x)<-CCnb1
index(y)<-CCnb2
####Create dataframes
x1<-as.data.frame(x)
y1<-as.data.frame(y)
##Add date columns
x1$Date=CCnb1
y1$Date=CCnb2
##Melt data frames
x2<-melt(x1, id.vars="Date")
y2<-melt(y1, id.vars="Date")
Ich habe ein Pseudo-Plot mit ggplot2 aufgenommen, wie die Linien aussehen könnten. Meine tatsächlichen Zeitreihen sind viel länger und die Verschiebung der Werte ist nicht so schlimm wie dieses Beispiel.
#Plot
NT<-ggplot(x2, aes(x=Date, y=value,colour=variable, group=variable)) +
theme_bw()+ geom_line(size=0.5,colour="grey30")
NTb<-NT + geom_line(data=y2,aes(x=Date, y=value,group=variable))
NTb+facet_wrap(~variable)
Danke @ G.Grothendeick. Das hat perfekt funktioniert. –