[MAJ]
Maintenant que le package cartography
est sur le CRAN, j’incite fortement les potentiels utilisateurs à préférer celui-ci plutôt que rCarto
. Petite présentation ici.
[/MAJ]
Je suis récemment tombé sur ce post qui m’a ensuite mené à celui-ci. En m’inspirant de ces deux posts je me suis intéressé aux stats de rCarto. Combien de fois a-t-il été téléchargé? D’où a-t-il été téléchargé?
Préparation des données
Télécharger les log journaliers
J’ai téléchargé directement l’ensemble des logs journaliers (au lieu d’utiliser l’API JSON de RStudio qui ne donne pas d’informations sur l’origine géographique des téléchargements).
Le téléchargement des logs prend pas mal de temps.
# liste des URL des logs à télécharger start <- as.Date('2013-04-01') end <- as.Date('2015-02-28') all_days <- seq(start, end, by = 'day') year <- as.POSIXlt(all_days)$year + 1900 urls <- paste0('http://cran-logs.rstudio.com/', year, '/', all_days, '.csv.gz') lurl <- length(urls) # téléchargement des logs for (i in 1:lurl) { download.file(urls[i], sprintf("data/temp%i.csv.gz", i)) }
Comme proposé dans le post de Strenge Jacke! j’ai ensuite décompressé manuellement les archives.
Sélectionner les téléchargements de rCarto uniquement
Cette étape prend elle aussi pas mal de temps.
# selection des logs concernant un package name_package <- "rCarto" log_package <- data.frame() for (i in 1:lurl) { df.csv <- read.csv(sprintf("/data/temp%i.csv", i)) my.package <- which(df.csv$package == name_package) log_package <- rbind(log_package, df.csv[my.package, c("date","country","package")]) }
La table créée (log_package
)contient trois champs (date, country et package)
Créer un graphique des téléchargements mensuels
# aggregation mensuelle log_package$date.short <- strftime(log_package$date, format="%Y-%m") log_package$dummy <- 1 mydf <- aggregate(log_package$dummy, by = list(month = log_package$date.short), FUN = "sum") # Liste de tous les mois entre start et end # si jamais le package n'est pas téléchargé certains mois monthly_dl <- seq(from = as.Date(start, "%Y-%m-%d"), to = as.Date(end,"%Y-%m-%d"), by = "month") monthly_dl <- data.frame(month = substr(monthly_dl,1,7)) monthly_dl <- merge(monthly_dl, mydf, by = "month", all.x = TRUE) names(monthly_dl)[2] <- "nb_dl" monthly_dl[is.na(monthly_dl$nb_dl), "nb_dl"] <- 0 # Création du graphique png('nbdownload.png', width = 500, height = 400) par(bg = "grey80") barplot(height = monthly_dl$nb_dl, names.arg = monthly_dl$month, ylab = "nb. téléchargements", col = "#920000", space = 0, las = 2, cex.names = 0.7, cex.axis = 0.7) title("Téléchargements mensuels de rCarto", cex.sub = 0.7, sub = "source : http://cran-logs.rstudio.com/") dev.off()
Le package a été téléchargé 4155 fois sur la période. Il est téléchargé au minimum 100 fois par mois et au maximum 313. Il est également de plus en plus téléchargé.
D’où a-t-il été téléchargé ?
# aggregation géographique log_package$dummy <- 1 geo_package <- aggregate(log_package$dummy, by = list(country = log_package$country), FUN = "sum") names(geo_package)[2] <- "nb_dl" # cartographie library(rCarto) png('mapnbdownload.png', width = 640, height = 380) mapCircles(shpFile = "data/worldcountries.shp", shpId = "ISO2", df = geo_package, dfId = "country", var = "nb_dl", circleCol = '#920000',baseCol = "grey60", posLeg = 'left', author = "T. Giraud - 2015", sources = "source : http://cran-logs.rstudio.com/", width = 22, txtCex = 2.5, title = "Répartition des téléchargement de rCarto", legend = "Nombre de \ntéléchargement") dev.off()
Pour analyser dans le détail cette carte il faudrait avoir des données de référence sur l’utilisation de R (ou de RStudio, ou des packages) dans chacun des pays. Une solution pourrait être de comparer cette carte à celles d’autres packages (les x packages les plus populaires).
Je n’ai essayé que pour le package ggplot2. En utilisant la part de chaque pays dans le total des téléchargements et en fixant la taille du plus grand cercle, les cartes suivantes sont comparables:
Une rapide comparaison (par rapport à la répartition des téléchargements de ggplot2 uniquement – 1345924 téléchargements sur la période!) révèle que rCarto est relativement plus utilisé en France, en Italie, en Chine, au Japon. En revanche rCarto est relativement moins utilisé dans le monde anglophone (USA, Canada, Royaume-Uni, Australie…). Je comprends bien l’utilisation plus importante en France, pour le reste, aucune idée… Bon, il ne s’agit que d’une partie des téléchargements du package (ceux fait via le CRAN de RStudio), j’ai quand même été assez surpris de l’utilisation croissante du package, en tout cas de ses téléchargements. Cela suit peut-être simplement l’augmentation du nombre d’utilisateurs de R ou de RStudio…
Un prochain billet évoquera l’avenir du développement de rCarto…
OpenEdition vous propose de citer ce billet de la manière suivante :
Timothée Giraud (26 mars 2015). Des nouvelles de rCarto – Obtenir des stats sur un package. R Géomatique. Consulté le 9 décembre 2024 à l’adresse https://doi.org/10.58079/tp3d