Ce matin en cours, on a vu un peu comment manipuler des séries temporelles, et en particulier comme jouer avec l’échelle de temps (passer de données hebdomadaire à de données mensuelles, par exemple).
Pour commencer, travaillons un peu sur les données extraites de google.fr/trends/ par exemple sur le mot clé fièvre,
report = read.csv( "http://freakonometrics.free.fr/report-fievre.csv", skip=6,header=FALSE,nrows=626) X=report$V2 plot(X,type="l")

Au lieu d’avoir un vecteur, on peut créer un format de série temporelle (hebdomadaire )
X_h=ts(X,start=c(2004,3),frequency=52) plot(X_h)

On va essayer d’agréger les données pour les rendre mensuelles
date1=substr(as.character(report$V1),1,10)
date2=substr(as.character(report$V1),14,23)
d1=as.Date(date1,"%Y-%m-%d")
d2=as.Date(date2,"%Y-%m-%d")
d1[2]-d1[1]
Vect_J=Vect_M=Vect_X=Vect_A= NULL
for(i in 1:length(d1)){
jours = seq(d1[i],d2[i],length=7)
mois = as.POSIXlt(jours)$mon+1
annees = as.POSIXlt(jours)$year+1900
donnees = rep(X[i],7)
Vect_J = c(Vect_J,jours)
Vect_M = c(Vect_M,mois)
Vect_A = c(Vect_A,annees)
Vect_X = c(Vect_X,donnees)
}
base=data.frame(J=Vect_J,M=Vect_M,
A=Vect_A,X=Vect_X)
head(base)
base$AM = base$A*100+base$M
head(base)
Y=tapply(base$X,as.factor(base$AM),mean)
Z=ts(as.numeric(Y[1:144]),
start=c(2004,1),frequency=12)
plot(Z)

On peut superposer les deux d’ailleurs (il y a peut être un léger décalage sur la série hebdomadaire)
plot(X_h,col="blue") lines(as.numeric(time(Z)),as.numeric(Z), col="red",lwd=2)





