Voir le flux RSS

Professeur Leger (l. g...)

Affichage de données chronologiques avec R

Noter ce billet
par , 16/05/2020 à 22h09 (174 Affichages)
R permet de gérer des times series (ts) ou si on préfère des données chronologiques. Ceci permet de gérer plus finement l'axe des abscisses.

Je transmets ici l'extrait du code nécessaire à la visualisation des séries de l'OCDE disponibles sur https://stats.oecd.org/

Ci après :

Code R : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
fichier_traite <- "MEI_BTS_COS_14052020202325857_FR.csv";
 
donnees_opinions<-read.csv(fichier_traite
  ,colClasses=c("TIME"="character","Temps"="character"));
head(donnees_opinions);
ls(donnees_opinions);
typeof(donnees_opinions$Temps);
str(donnees_opinions);
 
 
 
 
gl_concat <-function(X,b) {
# X colonne, 
j=length(X)
gl_r<-X[0]
for(i in 1:j)
{gl_r[i]<-paste(X[i],b,sep="")}
gl_r
};
 
as.Date(gl_concat(donnees_opinions$TIME,"-28"), "%Y-%m-%d")  # 
 
 
donnees_opinions$day <- as.Date(gl_concat(donnees_opinions$TIME,"-28"), "%Y-%m-%d")  # ajout du jour ...
donnees_opinions$t<-as.factor(donnees_opinions$day);
 
fichier_opinions <- "ocde-codes-opinions-c.csv";
codes_opinions <- read.csv(fichier_opinions,header=FALSE,stringsAsFactors=FALSE);
 
 
names(codes_opinions)<-c("code_secteur","label_secteur","code","label")
 
codes_opinions$cle<-as.factor(codes_opinions$code)
 
edit(codes_opinions);
 
 
for (serie in codes_opinions$cle) {
cat(serie," ")
    serie_w<-serie
    situation_E <- donnees_opinions[which(donnees_opinions$SUBJECT==serie_w),];
 
 
 
    titre<-codes_opinions$label[which(codes_opinions$code==serie_w)]
    cat(titre,"\n")
    sous_titre<-paste(codes_opinions$label_secteur[which(codes_opinions$code==serie_w)])
    cat(sous_titre,"\n")
 
if (length(situation_E$Value)>0)
{
# debut if
 
    annee<-strftime(min(situation_E$day),"%Y")
    annee<-as.integer(annee)
    mois<-strftime(min(situation_E$day),"%m")
    mois<-as.integer(mois)
 
 
TA<-ts(situation_E$Value,start=c(annee,mois),freq=12)
ts.plot(TA,xlab="temps année mois",ylab="opinions positives ou négatives",
       main=list(paste(titre,sous_titre,sep="\n"),col="blue"),
       lty=c(1,2),col=c("darkgreen","blue"),cols=0)
grid(col="pink",lty=2,lwd=2)
 
if(interactive()) {
   reponse<-readline("tapez enter pour le prochain graphique, g pour exporter en jpg")
   if(reponse=="g") {
       nom_image=paste("OCDE%d",serie_w,".jpg",sep="")
       jpeg(file = nom_image,width = 1024, height = 668, bg="white")
             ts.plot(TA,xlab="temps année mois",ylab="opinions positives ou négatives",
                main=list(paste(titre,sous_titre,sep="\n"),col="blue"),
                lty=c(1,2),col=c("darkgreen","blue"),cols=0)
                grid(col="pink",lty=2,lwd=2)
                  dev.off()
                  }
   }
 
# fin if
}
 
 
}

Vous pouvez vous inspirer du code et l'intégrer à vos analyses ..
Miniatures attachées Images attachées  

Envoyer le billet « Affichage de données chronologiques avec R » dans le blog Viadeo Envoyer le billet « Affichage de données chronologiques avec R » dans le blog Twitter Envoyer le billet « Affichage de données chronologiques avec R » dans le blog Google Envoyer le billet « Affichage de données chronologiques avec R » dans le blog Facebook Envoyer le billet « Affichage de données chronologiques avec R » dans le blog Digg Envoyer le billet « Affichage de données chronologiques avec R » dans le blog Delicious Envoyer le billet « Affichage de données chronologiques avec R » dans le blog MySpace Envoyer le billet « Affichage de données chronologiques avec R » dans le blog Yahoo

Mis à jour 19/05/2020 à 02h38 par Malick

Catégories
Programmation

Commentaires