{"word_count": 195, "character_count": 2193}
Allez, on continue avec les projets rendus dans le cadre du projet R de la formation en Data Science pour l’Actuariat, Meryem Schalck a proposé une jolie animation des statistiques des demandeurs d'emploi. Sur http://dares.travail-emploi.gouv.fr/, on récupère les séries d'évolution du nombre de demandeurs d'emploi, par département (entre autres), sous forme de fichier Excel. Histoire de simplifier, je mets en ligne une copie en csv,ufc&#60;- read.csv("http://freakonometrics.free.fr/DemandeV2.csv", header=TRUE, sep = ";")Pour charger les packages, Meryem propose une jolie petite fonctionChargepackages &#60;- function(x){x &#60;- as.character(x)if(!require(x, character.only = TRUE)){install.packages(x, dependencies = TRUE)require(x, character.only = TRUE)}}packages &#60;- list("sp", "rgdal", "animation", "rgeos", "mapproj", "maptools", "dplyr", "ggplot2", "RColorBrewer", "classInt", "PBSmapping", "ggmap", "splancs", "osmar", "maps", "scales", "osmar", "geosphere", "RCurl", "bitops", "XML", "splancs", "PBSmapping", "htmltools")lapply(packages, Chargepackages)On va retravailler un peu les données pour commencerx&#60;-ufc$nombrey&#60;-ufc$demandedt&#60;-as.Date(ufc$date,"%d/%m/%Y")n&#60;-length(x)et ensuite on fait notre animation,colfunc &#60;- colorRampPalette(c("green","yellow", "red"))YlOrBr &#60;- data.frame(col=colfunc(length(unique(y))),num=unique(y)[order(unique(y))])ufc %&#62;%left_join(YlOrBr, by=c("demande"="num")) -&#62; YlOrBroopt = ani.options(interval = 0.5)library(scales)YlOrBr$Date&#60;-as.Date(YlOrBr$date,"%d/%m/%Y")ani.record(reset = TRUE) # clear history before recordingfor (i in 1:length(unique(dt))) {YlOrBr[i&#62;=x,] %&#62;%ggplot() +  geom_point(aes(x=Date,y=demande),colour=as.character(YlOrBr$col[i&#62;=x]))+scale_x_date(breaks=date_breaks("6 month"),limits = c(min(dt),max(dt))) +ylim(c(1000,max(y))) +ggtitle ("Nombre de demandeurs d'emploi par mois entre 01/2000 et 04/2016") +xlab("Date") +ylab("Nombre de demandeurs d'emploi cat A ensemble") +theme(axis.text.x  = element_text(angle=45, vjust=0.5, size=5)) -&#62; pprint(p)ani.record()}oopts = ani.options(interval = 0.2)ani.record()saveHTML(ani.replay(),img.name = "record_plot")et voilà