• [^] # Re: R

    Posté par . En réponse au journal Faire des graphiques à partir de données : comparaison. Évalué à 3. Dernière modification le 17 mai 2015 à 23:59.

    Bonsoir,

    J'aimerais noter qu'en R, les systèmes de graphiques diffèrent surtout de par leurs philosophies. Un aperçu sommaire infra, sans prétendre à l'exhaustivité.

    • Le système traditionnel : on dessine (ou ajoute des éléments) sur le graphique courant, il est impossible de modifier quoi que ce soit d'un élément déjà dessiné. C'est le plus connu car venant nativement avec R dès les premières versions ; nous le devons principalement à Ross IHAKA.

    • Le système grid : un modèle informel représente les objets graphiques indépendamment du rendu ; on peut donc mettre à jour ces objets. Les systèmes de coordonnées sont liés à des viewports et non pas à la zone de dessin elle-même, ce qui permet de concevoir des graphiques sophistiqués. Ce système a vu le jour avec la thèse de doctorat de Paul MURRELL ; son principal défaut est le manque de primitives natives pour les graphiques statistiques.

    • Le système lattice ajoute au système grid les idées de William S. CLEVELAND sur les treillis (mathématiques). On a alors une grammaire de graphiques à disposition mais le modèle reste informel.

    • ggplot2 donc : reprise des bonnes idées que présentent tous les systèmes précédents, plus un modèle formel cette fois-ci.

    • Ce n'est pas tout : voir http://cran.r-project.org/web/views/Graphics.html.

    Quant à l'objet de la dépêche, pour reprendre le commentaire de eingrossfilou tout en restant dans le minimalisme souhaité par l'auteur du journal, je proposerais ceci :

    library("ggplot2")
    humPop <- read.csv("./hum-pop.csv")
    names(humPop) <- c("Year", "Population")
    qplot(x = Year, y = Population, data = humPop, geom = c("point", "smooth"), main = "Earth Population Over Time (linear)")
    qplot(x = Year, y = Population, data = humPop, geom = c("point", "smooth"), log = "y", main = "Earth Population Over Time (log)")

    P.S. C'est mon premier commentaire, j'ignore comment téléverser une image sur les serveurs de LinuxFR.