Προγραμματισμός

Ευκολότερο ggplot με το πακέτο ggeasy R

Το πακέτο οπτικοποίησης δεδομένων ggplot2 είναι εξαιρετικά ισχυρό και ευέλικτο. Ωστόσο, δεν είναι πάντα εύκολο να θυμάστε πώς να κάνετε κάθε εργασία - ειδικά αν δεν είστε συχνός χρήστης. Πώς αλλάζετε το μέγεθος ενός τίτλου γραφήματος; Πώς καταργείτε τους τίτλους θρύλων; Η συνήθης λύση μου είναι να αποθηκεύσω αποσπάσματα κώδικα RStudio για πράγματα που δυσκολεύομαι να θυμάμαι. Αλλά υπάρχει επίσης ένα πακέτο που μπορεί να βοηθήσει: ggeasy.

Όπως λέει και το όνομα, ο στόχος της ggeasy είναι να κάνουμε το ggplot2 εύκολο - ή τουλάχιστον εύκολοΕρ. Έχει αυτό που μερικοί άνθρωποι θεωρούν ότι είναι πιο διαισθητικές λειτουργίες για τυπικές εργασίες, κυρίως γύρω από τη μορφοποίηση κειμένου και άξονα. (Αυτό το πακέτο δεν επηρεάζει τον τρόπο γραμμές, σημεία και ράβδους εμφάνιση και συμπεριφορά). Όλες οι λειτουργίες ggeasy ξεκινούν με Ανετα_ οπότε είναι εύκολο να τα βρείτε χρησιμοποιώντας την αυτόματη συμπλήρωση RStudio. Μπορείτε να δείτε πώς λειτουργεί στο παραπάνω βίντεο.

Αν θέλετε να ακολουθήσετε μαζί με το παράδειγμά μου παρακάτω, το ggeasy είναι διαθέσιμο στο CRAN, οπότε μπορείτε να το εγκαταστήσετε με install.packages ("ggeasy"). Θα χρησιμοποιώ επίσης τα πακέτα ggplot2 (φυσικά), dplyr, rio και λιπαντικών. Αργότερα, θα προσθέσω το πακέτο patchwork για εξαιρετικά απλή τοποθέτηση πολλαπλών γραφημάτων. αυτό είναι επίσης στο CRAN.

Για αυτό το παράδειγμα, πρόκειται να χρησιμοποιήσω δεδομένα σχετικά με το τι σκέφτονται οι περισσότεροι άνθρωποι αυτές τις μέρες: το coronavirus. Μπορείτε να κατεβάσετε ένα αρχείο CSV με δεδομένα από πολιτεία των ΗΠΑ από το Coronavirus Tracking Project με

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

destfile = "covid19.csv")

(Μπορείτε να ονομάσετε το άθλια αρχείο προορισμού ό, τι θέλετε.) Χρησιμοποίησα rio :: εισαγωγή () για να εισαγάγετε τα δεδομένα, αλλά μπορείτε επίσης να χρησιμοποιήσετε readr :: read_csv (), read.csv (), data.table :: fread ()ή οποιαδήποτε άλλη λειτουργία για την εισαγωγή του CSV.

Με το rio, οι ημερομηνίες ήρθαν ως ακέραιοι, οπότε θα χρησιμοποιήσω το λιπαντικό ymd () συνάρτηση για να μετατρέψει τη στήλη σε αντικείμενα ημερομηνίας:

data $ date <- lubridate :: ymd (δεδομένα $ ημερομηνία)

Για να δημιουργήσω ένα γράφημα που δεν είναι πολύ δύσκολο να κατανοηθεί, θα φιλτράρω αυτά τα δεδομένα για μερικές μόνο καταστάσεις, ώστε να μην υπάρχουν 50 ξεχωριστές γραμμές χρονοσειρών. Επέλεξα τη Λουιζιάνα για να δω την άνοδο των υποθέσεων εκεί - ο κυβερνήτης της Λουιζιάνας είπε ότι το κράτος έχει μεταξύ της ταχύτερης ανάπτυξης στον κόσμο υποθέσεων. (Υπάρχει εικασία ότι η Mardi Gras τον Φεβρουάριο μπορεί να προκάλεσε ένα σύμπλεγμα στη Νέα Ορλεάνη.) Θα προσθέσω επίσης τη Μασαχουσέτη, μια πολιτεία με περίπου 50 τοις εκατό περισσότερους ανθρώπους από τη Λουιζιάνα, καθώς εδρεύω εκεί.

Μετά το φιλτράρισμα των δεδομένων, θα δημιουργήσω ένα βασικό γράφημα γραμμής των δεδομένων:

States2 <- φίλτρο (δεδομένα, κατάσταση% σε% c ("LA", "MA"))

ggplot (καταστάσεις2, aes (x = ημερομηνία, y = θετικό, χρώμα = κατάσταση)) +

geom_line () +

geom_point () +

theme_minimal () +

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

Sharon Machlis,

Αυτή είναι μια αρκετά απότομη αύξηση. Μερικά από αυτά μπορεί να οφείλονται σε αύξηση των δοκιμών - ίσως εμείς απλά ξέρω για περισσότερες περιπτώσεις, επειδή οι δοκιμές αυξήθηκαν. Θα το κοιτάξω σε ένα λεπτό.

Πρώτον, όμως, τι γίνεται με μερικές τροποποιήσεις σε αυτό το γράφημα;

Ας ξεκινήσουμε κάνοντας μεγαλύτερο τον τίτλο του γραφήματος. Για να χρησιμοποιήσω το ggeasy, θα ξεκινήσω να πληκτρολογώ Ανετα_ στο RStudio επάνω αριστερό παράθυρο πηγής και μετακινηθείτε μέχρι να βρω αυτό που θέλω.

Sharon Machlis,

easy_plot_title_size () μοιάζει με τη λειτουργία που χρειάζομαι. Μπορώ να αλλάξω τον τίτλο του γραφήματος σε τύπο 16 σημείων με αυτόν τον κωδικό:

ggplot (καταστάσεις2, aes (x = ημερομηνία, y = θετικό, χρώμα = κατάσταση)) +

geom_line () +

geom_point () +

theme_minimal () +

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

easy_plot_title_size (16)

Μπορώ να περιστρέψω κείμενο με άξονα x με easy_rotate_x_labels (90) για περιστροφή 90 μοιρών και αφαιρέστε τον τίτλο του μύθου (είναι αρκετά προφανές ότι είναι πολιτείες) με easy_remove_legend_title (). Ο πλήρης κωδικός γραφήματος είναι παρακάτω, συμπεριλαμβανομένης της αποθήκευσης του γραφήματος σε μια μεταβλητή που ονομάζεται θετικά.

θετικά <- ggplot (καταστάσεις2, aes (x = ημερομηνία, y = θετικό, χρώμα = κατάσταση)) +

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,

Στη συνέχεια, θα ήθελα να κοιτάξω το αρνητικός Αποτελέσματα δοκιμής coronavirus, για να δούμε αν αυξάνονται με παρόμοια ποσοστά με τα θετικά. Θα χρησιμοποιήσω τον ίδιο κωδικό, αλλά απλώς αλλάξτε τη στήλη y σε αρνητικά.

αρνητικά <- ggplot (States2, aes (x = ημερομηνία, y = αρνητικός, χρώμα = κατάσταση)) +

geom_line () +

geom_point () +

theme_minimal () +

ggtitle ("Lousiana & Massachusetts Negatives") +

easy_plot_title_size (16) +

easy_rotate_x_labels (90) +

easy_remove_x_axis ("τίτλος") +

easy_remove_y_axis ("τίτλος") +

easy_remove_legend_title ()

Sharon Machlis,

Φαίνεται να υπάρχει μεγαλύτερη αύξηση των θετικών από τα αρνητικά στη Λουιζιάνα. Αν και δεν γνωρίζουμε εάν αυτό συμβαίνει επειδή άλλαξαν τα κριτήρια δοκιμών ή κάτι άλλο.

Θα ήταν χρήσιμο να δείτε αυτά τα δύο γραφήματα δίπλα-δίπλα. Εκεί μπαίνει το πακέτο προσθηκών.

Με αυτές τις δύο γραμμές κώδικα, η πρώτη φόρτωση του πακέτου προσθηκών:

βιβλιοθήκη ("συνονθύλευμα")

θετικά + αρνητικά

Παίρνω αυτό:

Sharon Machlis,

Είναι απίστευτα εύκολο να τοποθετήσετε πολλά γραφήματα με συνονθύλευμα. Για περισσότερα σχετικά με τον τρόπο προσαρμογής των διατάξεων, επισκεφθείτε τον ιστότοπο του patchwork.

Τώρα μπορώ να επιστρέψω και να χρησιμοποιήσω το ggeasy για να αφαιρέσω έναν από τους θρύλους, ώστε να μην υπάρχουν δύο και, στη συνέχεια, να εκτελέσω ξανά το συνονθύλευμα:

αρνητικά <- αρνητικά +

easy_remove_legend ()

θετικά + αρνητικά

Σαφώς, το ggeasy είναι αρκετά χρήσιμο για κάποια γρήγορη - και εύκολη - εξερεύνηση δεδομένων!

Για περισσότερες συμβουλές R, μεταβείτε στη σελίδα "Do More With R" ή δείτε τη λίστα αναπαραγωγής YouTube "Do More With R".