Ggplot plus facile avec le package ggeasy R

Le package R de visualisation de données ggplot2 est extrêmement puissant et flexible. Cependant, il n'est pas toujours facile de se rappeler comment effectuer chaque tâche, surtout si vous n'êtes pas un utilisateur fréquent. Comment changer la taille d'un titre de graphique? Comment supprimer les titres de légende? Ma solution habituelle est de sauvegarder les extraits de code RStudio pour les choses dont j'ai du mal à me souvenir. Mais il existe aussi un package qui peut vous aider: ggeasy.

Comme son nom l' indique, le but de ggeasy est, bien, assurez - ggplot2 facile - ou tout au moins EASI er . Il a ce que certaines personnes peuvent trouver comme des fonctions plus intuitives pour les tâches typiques, principalement autour du formatage du texte et des axes. (Ce paquet n'affecte pas l' apparence et le comportement des lignes, des points et des barres ). Toutes les fonctions de ggeasy commencent par easy_donc il est, oui, facile de les trouver en utilisant la saisie semi-automatique de RStudio. Vous pouvez voir comment cela fonctionne dans la vidéo ci-dessus.

Si vous souhaitez suivre mon exemple ci-dessous, ggeasy est sur CRAN, vous pouvez donc l'installer avec install.packages("ggeasy"). J'utiliserai également les packages ggplot2 (naturellement), dplyr, rio et lubridate. Plus tard, j'ajouterai le package patchwork pour un placement super simple de plusieurs graphiques; c'est aussi sur CRAN.

Pour cet exemple, je vais utiliser des données sur ce qui préoccupe la plupart des gens ces jours-ci: le coronavirus. Vous pouvez télécharger un fichier CSV avec des données par État américain à partir du projet de suivi des coronavirus avec

download.file ("// covidtracking.com/api/states/daily.csv",

destfile = "covid19.csv")

(Vous pouvez nommer le destfile fichier de destination que vous voulez.) rio::import()J'importer les données, mais vous pouvez également utiliser readr::read_csv(), read.csv(), data.table::fread()ou toute autre fonction pour importer le CSV.

Avec rio, les dates sont entrées sous forme d'entiers, je vais donc utiliser la ymd()fonction de lubridate pour transformer cette colonne en objets Date:

données $ date <- lubridate :: ymd (données $ date)

Pour créer un graphique qui n'est pas trop difficile à comprendre, je vais filtrer ces données pour seulement quelques états afin qu'il n'y ait pas 50 lignes de séries chronologiques distinctes. J'ai choisi la Louisiane pour voir l'augmentation des cas là-bas - le gouverneur de la Louisiane a déclaré que l'État avait l'une des croissances de cas parmi les plus rapides au monde. (Il y a des spéculations selon lesquelles Mardi Gras en février aurait pu causer un cluster à la Nouvelle-Orléans.) J'ajouterai également le Massachusetts, un État comptant environ 50% de plus que la Louisiane, puisque je suis basé là-bas.

Après avoir filtré les données, je vais créer un graphique linéaire de base des données:

états2 <- filtre (données, état% en% c ("LA", "MA"))

ggplot (états2, aes (x = date, y = positif, couleur = état)) +

geom_line () +

geom_point () +

theme_minimal () +

ggtitle ("Lousiana & Massachusetts Daily Covid-19 Cases")

Sharon Machlis,

C'est une augmentation assez forte. Cela peut être dû en partie à une augmentation des tests - peut-être que nous connaissons simplement plus de cas parce que les tests ont augmenté. Je vais regarder cela dans une minute.

Tout d'abord, que diriez-vous de quelques ajustements à ce graphique?

Commençons par agrandir le titre du graphique. Pour utiliser ggeasy, je commencerais à taper easy_ dans le volet source supérieur gauche de RStudio et à faire défiler jusqu'à ce que je trouve ce que je veux. 

Sharon Machlis,

easy_plot_title_size()ressemble à la fonction dont j'ai besoin. Je peux changer le titre du graphique en type 16 points avec ce code:

ggplot (états2, aes (x = date, y = positif, couleur = état)) +

geom_line () +

geom_point () +

theme_minimal () +

ggtitle ("Lousiana & Massachusetts Daily Covid-19 Cases") +

easy_plot_title_size (16)

Je peux faire pivoter le texte de l'axe des x avec easy_rotate_x_labels(90)pour une rotation de 90 degrés et supprimer le titre de la légende (il est assez évident que ce sont des états) avec easy_remove_legend_title(). Le code du graphe complet est ci-dessous, y compris le stockage du graphe dans une variable appelée positives.

positifs <- ggplot (états2, aes (x = date, y = positif, couleur = état)) +

geom_line () +

geom_point () +

theme_minimal () +

ggtitle ("Lousiana & Massachusetts Daily Covid-19 Cases") +

easy_plot_title_size (16) +

easy_rotate_x_labels (90) +

easy_remove_legend_title ()

Sharon Machlis,

Ensuite, j'aimerais regarder les résultats négatifs des tests de coronavirus, pour voir s'ils augmentent à des taux similaires aux positifs. J'utiliserai le même code mais je changerai simplement la colonne y en négatifs.

négatifs <- ggplot (états2, aes (x = date, y = négatif , couleur = état)) +

geom_line () +

geom_point () +

theme_minimal () +

ggtitle ("Lousiana & Massachusetts Negatives") +

easy_plot_title_size (16) +

easy_rotate_x_labels (90) +

easy_remove_x_axis ("titre") +

easy_remove_y_axis ("titre") +

easy_remove_legend_title ()

Sharon Machlis,

Il semble y avoir une plus grande augmentation des positifs que des négatifs en Louisiane. Bien que nous ne sachions pas si c'est parce que les critères de test ont changé ou autre chose.

Il serait utile de voir ces deux graphiques côte à côte. C'est là que le package patchwork entre en jeu. 

Avec juste ces deux lignes de code, le premier chargement du package patchwork: 

bibliothèque ("patchwork")

positifs + négatifs

J'ai compris:

Sharon Machlis,

Il est incroyablement facile de placer plusieurs graphiques avec patchwork. Pour en savoir plus sur la personnalisation des mises en page, rendez-vous sur le site Web de patchwork.

Je peux maintenant revenir en arrière et utiliser ggeasy pour supprimer l'une des légendes afin qu'il n'y en ait pas deux, puis relancer patchwork:

négatifs <- négatifs +

easy_remove_legend ()

positifs + négatifs

Clairement, ggeasy est très utile pour une exploration rapide - et facile - des données!

Pour plus de conseils R, rendez-vous sur la page «Faites plus avec R» ou consultez la liste de lecture YouTube «Faites plus avec R».