Cette semaine, le #Tidytuesday nous fait découvrir les langages de programmation utilisé dans R. J’ai donc décider de créer un Radar pour montrer quels sont les langages les plus et les moins commentés.
CONTEXTE
Les données de cette semaine proviennent de PHilippe Massicotte qui a présenté un atricle sur son blogue à ce sujet.
OBJECTIFS
- Visualiser le ratio du nombre de commentaire par ligne de code présent dans les packages R en fonction de la langue de programmation avec un radar
IMPORTER
cran_code <- readr::read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2019/2019-11-12/loc_cran_packages.csv")
FALSE Parsed with column specification:
FALSE cols(
FALSE file = col_double(),
FALSE language = col_character(),
FALSE blank = col_double(),
FALSE comment = col_double(),
FALSE code = col_double(),
FALSE pkg_name = col_character(),
FALSE version = col_character()
FALSE
)
EXPLORER
summary(cran_code)
## file language blank
## Min. : 1.00 Length:34477 Min. : 0.0
## 1st Qu.: 1.00 Class :character 1st Qu.: 17.0
## Median : 3.00 Mode :character Median : 53.0
## Mean : 11.17 Mean : 257.1
## 3rd Qu.: 10.00 3rd Qu.: 174.0
## Max. :10737.00 Max. :310945.0
## comment code pkg_name
## Min. : 0.0 Min. : 0 Length:34477
## 1st Qu.: 1.0 1st Qu.: 83 Class :character
## Median : 33.0 Median : 336 Mode :character
## Mean : 432.7 Mean : 1506
## 3rd Qu.: 284.0 3rd Qu.: 1043
## Max. :304465.0 Max. :1580460
## version
## Length:34477
## Class :character
## Mode :character
##
##
##
PRÉPARER
cran <- cran_code %>%
filter(!comment==0, !code==0) %>%
mutate(ratio = ((comment/code)*100)) %>%
group_by(language) %>%
mutate(count = n()) %>%
ungroup() %>%
mutate(rank = dense_rank(desc(count))) %>%
filter(rank <= 10) %>%
group_by(language) %>%
summarise(med=median(ratio)) %>%
spread(language, med)
cran <- rbind(rep(50,10) , rep(0,10) , cran)
#summary(cran)
VISUALISER
#Graphique
library(fmsb)
#c <- grDevices::col2rgb(c("orange","green", "black"))
radar<-radarchart( cran , axistype=1 ,
#custom polygon
pcol=rgb(0.2,0.5,0.5,0.9) , pfcol=rgb(0.2,0.5,0.5,0.5) , plwd=4 ,
#custom the grid
cglcol="grey", cglty=1, axislabcol="grey", caxislabels=seq(0,50,10), cglwd=0.8,
#custom labels
vlcex=0.8
)
Voici ce que ça donne:
CONCLUSION
Finalement, bien que ce soit un type de graphique controversé, ce radar répond à sont objectif premier qui était de montrer quels sont les langages de programmations les plus et les moins commentés dans les nombreux Packages disponibles dans R.
Alors, tu veux en savoir plus sur ma démarche? Un épisode de podcast sera bientôt disponible dans lequel je t’explique toute la réflexion et les concepts de data visualisation qui ont menés à la création de cette viz.