Ραβδόγραμμα & Ιστόγραμμα σε R με παράδειγμα

⚡ Έξυπνη Σύνοψη

Τα ραβδογράμματα και τα ιστογράμματα σε R κατασκευάζονται με το ggplot2, χρησιμοποιώντας geom_bar() για κατηγορικές μετρήσεις και geom_histogram() για συνεχείς κατανομές. Αυτή η αναλυτική παρουσίαση προσαρμόζει το χρώμα, την ομάδαping, στοίβαξη, προσανατολισμός, binning και ετικέτες εντός ράβδου στο σύνολο δεδομένων mtcars.

  • 📊 Βασική Διάκριση: Ένα ραβδόγραμμα συνοψίζει μια κατηγορική μεταβλητή, ενώ ένα ιστόγραμμα χωρίζει μια μεμονωμένη συνεχή μεταβλητή σε διαστήματα.
  • 🧱 Γραμματική των Γραφικών: Κάθε γράφημα συνδυάζει ένα σύνολο δεδομένων, έναν χάρτη aes()pingκαι ένα γεωμετρικό αντικείμενο που συνδέεται με το σύμβολο συν.
  • 🎨 Έλεγχος χρώματος: Τοποθετήστε fill μέσα στην geom_bar() για ένα ομοιόμορφο χρώμα και μέσα στην aes() για να χρωματίσετε τις γραμμές ανά ομάδα.
  • 📐 Ρυθμίσεις θέσης: Η position = “fill” μετατρέπει τις μετρήσεις σε ποσοστά και η position_dodge() τοποθετεί τις ομαδοποιημένες γραμμές δίπλα-δίπλα.
  • 🔢 Σχεδίαση τιμών: Περάστε το stat = “identity” όταν ο άξονας y περιέχει ήδη ένα υπολογισμένο στατιστικό στοιχείο, όπως έναν μέσο όρο ομάδας.
  • 📏 Συγκέντρωση ιστογράμματος: Ορίστε τους bins ή το binwidth στο geom_histogram(), επειδή η προεπιλογή των 30 bins σπάνια ταιριάζει στα δεδομένα.

Ιστόγραμμα γραφήματος ράβδων σε R

Τι είναι ένα ραβδόγραμμα στην R;

Ένα γράφημα ράβδων είναι ένας πολύ καλός τρόπος για την εμφάνιση κατηγορικών μεταβλητών στον άξονα x. Αυτός ο τύπος γραφήματος υποδηλώνει δύο όψεις στον άξονα y.

  1. Το πρώτο μετράει τον αριθμό των εμφανίσεων σε κάθε ομάδα.
  2. Το δεύτερο δείχνει μια συνοπτική στατιστική τιμή (ελάχιστο, μέγιστο, μέσος όρος και ούτω καθεξής) μιας μεταβλητής στον άξονα y.

Θα χρησιμοποιήσετε το σύνολο δεδομένων mtcars, το οποίο έχει τις ακόλουθες μεταβλητές:

  • κύλινδρος: Ο αριθμός του κυλίνδρου στο αυτοκίνητο. Αριθμητική μεταβλητή
  • am: Τύπος μετάδοσης. 0 για αυτόματο και 1 για χειροκίνητο. Αριθμητική μεταβλητή
  • mpg: Μίλια ανά γαλόνι. Αριθμητική μεταβλητή

Επειδή ένα ιστόγραμμα μοιάζει τόσο πολύ, αξίζει να διευθετήσετε τη διαφορά πριν γράψετε οποιονδήποτε κώδικα.

Ραβδόγραμμα έναντι Ιστογράμματος σε R: Βασικές διαφορές

Τα δύο γραφήματα μοιάζουν μεταξύ τους και συγχέονται συνεχώς. Απαντούν σε διαφορετικές ερωτήσεις και χρησιμοποιούν διαφορετικά γεωμετρικά αντικείμενα.

Κριτήρια Ραβδόγραμμα Ιστόγραμμα
Μεταβλητή άξονα Χ Κατηγορηματικός ή παράγοντας Συνεχής και αριθμητική
Τι αντιπροσωπεύει μια μπάρα Μία κατηγορία Ένα διάστημα, ή ένα κελί, τιμών
Κενά μεταξύ των ράβδων Ναι, οι κατηγορίες είναι ξεχωριστές Όχι, οι κάδοι είναι δίπλα
Παραγγελία μπαρ Μπορεί να αναδιαταχθεί ελεύθερα Καθορίζεται από την αριθμητική κλίμακα
Η ερώτηση απαντήθηκε Πώς συγκρίνονται οι ομάδες; Πώς κατανέμεται μια μεταβλητή;
αντικείμενο ggplot2 geom_bar() geom_histogram()

Ο εμπειρικός κανόνας: αν η αναδιάταξη των ράβδων εξακολουθούσε να έχει νόημα, τότε έχουμε ένα ιστόγραμμα. Αν η αναδιάταξη τους θα κατέστρεφε το νόημα, τότε έχουμε ένα ιστόγραμμα. Για συνοπτικές περιλήψεις της ίδιας συνεχούς μεταβλητής που βασίζονται σε τεταρτημόρια, χρησιμοποιήστε ένα οικόπεδο κουτιού.

Πώς να δημιουργήσετε ένα γράφημα ράβδων σε R

Για να δημιουργήσετε γράφημα στο R, μπορείτε να χρησιμοποιήσετε τη βιβλιοθήκη ggplot που δημιουργεί γραφήματα έτοιμα για δημοσίευση. Η βασική σύνταξη αυτής της βιβλιοθήκης είναι:

ggplot(data, mapping = aes()) +
geometric object 

arguments: 
data: dataset used to plot the graph 
mapping: Control the x and y-axis 
geometric object: The type of plot you want to show. The most common objects are:

- Point: `geom_point()`
- Bar: `geom_bar()`
- Line: `geom_line()`
- Histogram: `geom_histogram()` 

Αυτό το σεμινάριο εστιάζει στο γεωμετρικό αντικείμενο geom_bar(), το οποίο σχεδιάζει το ραβδόγραμμα, και στο geom_histogram() για συνεχή δεδομένα.

Διάγραμμα ράβδων: μέτρηση

Το πρώτο σας γράφημα δείχνει τη συχνότητα του κυλίνδρου με geom_bar(). Ο παρακάτω κώδικας είναι η πιο βασική σύνταξη.

library(ggplot2)
# Most basic bar chart
ggplot(mtcars, aes(x = factor(cyl))) +
    geom_bar()

Code εξήγηση

  • Περνάτε το σύνολο δεδομένων mtcars στο ggplot.
  • Μέσα στο όρισμα aes(), ορίζετε τον άξονα x στη μεταβλητή παράγοντα cyl
  • Το σύμβολο + σημαίνει ότι θέλετε το R να συνεχίσει να διαβάζει τον κώδικα. Κάνει τον κώδικα πιο ευανάγνωστο σπάζοντας τον.
  • Χρησιμοποιήστε το geom_bar() για το γεωμετρικό αντικείμενο.

Παραγωγή:

Διάγραμμα ράβδων: μέτρηση

Σημείωση: βεβαιωθείτε ότι έχετε μετατρέψει τις μεταβλητές σε παράγοντα διαφορετικά το R αντιμετωπίζει τις μεταβλητές ως αριθμητικές. Δείτε το παρακάτω παράδειγμα.

Διάγραμμα ράβδων: μέτρηση

Προσαρμόστε το γράφημα

Τέσσερα ορίσματα μπορούν να διαβιβαστούν για την προσαρμογή του γραφήματος:

- `stat`: Controls what is plotted on the y-axis. By default `count`, which tallies rows. To plot a value you already computed, pass `stat = "identity"`
- `alpha`: Control density of the color
- `fill`: Change the color of the bar
- `size`: Control the size the bar	

Αλλάξτε το χρώμα των ράβδων

Μπορείτε να αλλάξετε το χρώμα των ράβδων. Σημειώστε ότι τα χρώματα των ράβδων είναι όλα παρόμοια.

# Change the color of the bars
ggplot(mtcars, aes(x = factor(cyl))) +
    geom_bar(fill = "coral") +
    theme_classic()

Code εξήγηση

  • Τα χρώματα των γραμμών ελέγχονται από τον χάρτη aes()ping μέσα στο γεωμετρικό αντικείμενο (δηλαδή όχι στη συνάρτηση ggplot()). Μπορείτε να αλλάξετε το χρώμα με τα ορίσματα fill. Εδώ, επιλέγετε το χρώμα κοραλλιού.

Παραγωγή:

Αλλάξτε το χρώμα των ράβδων

Μπορείτε να χρησιμοποιήσετε αυτόν τον κωδικό:

grDevices::colors()

για να δείτε όλα τα χρώματα που είναι διαθέσιμα στο R. Υπάρχουν περίπου 650 χρώματα.

Αλλάξτε την ένταση

Μπορείτε να αυξήσετε ή να μειώσετε την ένταση του χρώματος των ράβδων

# Change intensity
ggplot(mtcars,
        aes(factor(cyl))) +
    geom_bar(fill = "coral",
        alpha = 0.5) +
    theme_classic()

Code εξήγηση

  • Για να αυξήσετε/μειώσετε την ένταση της γραμμής, μπορείτε να αλλάξετε την τιμή του άλφα. Ένα μεγάλο άλφα αυξάνει την ένταση και ένα χαμηλό άλφα τη μειώνει. Το άλφα κυμαίνεται από 0 έως 1. Στο 1 το χρώμα ταιριάζει ακριβώς με την παλέτα. Στο 0 η γραμμή είναι αόρατη. Εδώ επιλέγετε άλφα = 0.5.

Παραγωγή:

Αλλάξτε την Ένταση

Χρώμα ανά ομάδες

Μπορείτε να αλλάξετε τα χρώματα των ράβδων, δηλαδή ένα διαφορετικό χρώμα για κάθε ομάδα. Για παράδειγμα, η μεταβλητή κυλίνδρου έχει τρία επίπεδα, τότε μπορείτε να σχεδιάσετε το γράφημα ράβδων με τρία χρώματα.

# Color by group
ggplot(mtcars, aes(factor(cyl),
        fill = factor(cyl))) +
    geom_bar()

Code εξήγηση

  • Το όρισμα fill μέσα στην aes() αλλάζει το χρώμα της γραμμής. Αλλάζετε το χρώμα ορίζοντας fill = μεταβλητή x-axis. Στο παράδειγμά σας, η μεταβλητή x-axis είναι cyl; fill = factor(cyl)

Παραγωγή:

Χρώμα ανά ομάδες

Προσθέστε μια ομάδα στις μπάρες

Μπορείτε να χωρίσετε περαιτέρω τον άξονα y με βάση άλλο επίπεδο παράγοντα. Για παράδειγμα, μπορείτε να μετρήσετε τον αριθμό του αυτόματου και χειροκίνητου κιβωτίου ταχυτήτων με βάση τον τύπο του κυλίνδρου.

Θα προχωρήσετε ως εξής:

  • Βήμα 1: Δημιουργήστε το πλαίσιο δεδομένων με το σύνολο δεδομένων mtcars
  • Βήμα 2: Επισημάνετε τη μεταβλητή am με auto για αυτόματο κιβώτιο ταχυτήτων και man για χειροκίνητο κιβώτιο ταχυτήτων. Μετατρέψτε τα am και cyl ως παράγοντα έτσι ώστε να μην χρειάζεται να χρησιμοποιήσετε το factor() στη συνάρτηση ggplot().
  • Βήμα 3: Σχεδιάστε το διάγραμμα ράβδων για να μετρήσετε τον αριθμό μετάδοσης ανά κύλινδρο
library(dplyr)
# Step 1
data <- mtcars %>% 
#Step 2
mutate(am = factor(am, labels = c("auto", "man")),
    cyl = factor(cyl))

Με το σύνολο δεδομένων έτοιμο, μπορείτε να σχεδιάσετε το γράφημα:

# Βήμα 3

ggplot(data, aes(x = cyl, fill = am)) +
    geom_bar() +
    theme_classic()

Code εξήγηση

  • Η κλήση ggplot() λαμβάνει τα δεδομένα του συνόλου δεδομένων και τον χάρτη aes()ping.
  • Στο aes() συμπεριλαμβάνετε τη μεταβλητή x-axis και ποια μεταβλητή απαιτείται για να γεμίσει τη γραμμή (δηλ. am)
  • geom_bar(): Δημιουργήστε το γράφημα ράβδων

Παραγωγή:

Προσθέστε μια ομάδα στις μπάρες

Ο χάρτηςping θα γεμίσει τη γραμμή με δύο χρώματα, ένα για κάθε επίπεδο. Είναι εύκολο να αλλάξετε την ομάδα επιλέγοντας άλλες μεταβλητές παράγοντα στο σύνολο δεδομένων.

Γράφημα ράβδων σε ποσοστό

Μπορείτε να οπτικοποιήσετε τη γραμμή σε ποσοστό αντί για την πρωτογενή καταμέτρηση.

# Γράφημα ράβδων σε ποσοστό

ggplot(data, aes(x = cyl, fill = am)) +
    geom_bar(position = "fill") +
    theme_classic()

Code εξήγηση

  • Χρησιμοποιήστε θέση = "πλήρωση" στο όρισμα geom_bar() για να δημιουργήσετε ένα γραφικό με ποσοστό στον άξονα y.

Παραγωγή:

Γράφημα ράβδων σε ποσοστό

Μπάρες δίπλα δίπλα

Είναι εύκολο να σχεδιάσετε το διάγραμμα ράβδων με τη μεταβλητή ομάδας δίπλα-δίπλα.

# Bar chart side by side
ggplot(data, aes(x = cyl, fill = am)) +
    geom_bar(position = position_dodge()) +
    theme_classic()

Code εξήγηση

  • position=position_dodge(): Λέει ρητά πώς να τακτοποιήσετε τις ράβδους

Παραγωγή:

Μπάρες δίπλα δίπλα

Ραβδόγραμμα με συνοπτική στατιστική

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

Ο στόχος σας είναι να δημιουργήσετε ένα γράφημα με το μέσο μίλι ανά γαλόνι για κάθε τύπο κυλίνδρου. Για να σχεδιάσετε ένα κατατοπιστικό γράφημα, θα ακολουθήσετε τα εξής βήματα:

  • Βήμα 1: Δημιουργήστε μια νέα μεταβλητή με το μέσο μίλι ανά γαλόνι ανά κύλινδρο
  • Βήμα 2: Δημιουργήστε ένα βασικό ιστόγραμμα
  • Βήμα 3: Αλλάξτε τον προσανατολισμό
  • Βήμα 4: Αλλάξτε το χρώμα
  • Βήμα 5: Αλλάξτε το μέγεθος
  • Βήμα 6: Προσθέστε ετικέτες στο γράφημα

Βήμα 1) Δημιουργήστε μια νέα μεταβλητή

Δημιουργείτε ένα πλαίσιο δεδομένων με το όνομα data_histogram το οποίο απλώς επιστρέφει τα μέσα μίλια ανά γαλόνι από τον αριθμό των κυλίνδρων στο αυτοκίνητο. Ονομάζετε αυτή τη νέα μεταβλητή mean_mpg και στρογγυλεύετε τη μέση τιμή με δύο δεκαδικά.

# Βήμα 1

data_histogram <- mtcars %>%
mutate(cyl = factor(cyl)) %>%
group_by(cyl) %>%
summarize(mean_mpg = round(mean(mpg), 2))

Βήμα 2) Δημιουργήστε ένα βασικό ιστόγραμμα

Μπορείτε να σχεδιάσετε το ιστόγραμμα. Δεν είναι ακόμη αρκετά επεξεργασμένο για να το παραδώσετε σε έναν πελάτη, αλλά ήδη δείχνει την τάση.

ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +
    geom_bar(stat = "identity")

Code εξήγηση

  • Η aes() έχει τώρα δύο μεταβλητές. Η μεταβλητή cyl αναφέρεται στον άξονα x και η μέση_mpg είναι ο άξονας y.
  • Περνάτε την εντολή stat = “identity” έτσι ώστε η συνάρτηση geom_bar() να χρησιμοποιεί τη μεταβλητή του άξονα y ως έχει αντί να μετρά γραμμές. Η προεπιλογή για την συνάρτηση geom_bar() είναι stat = “count”.

Παραγωγή:

Ιστόγραμμα

Βήμα 3) Αλλάξτε τον προσανατολισμό

Αλλάζετε τον προσανατολισμό του γραφήματος από κάθετο σε οριζόντιο.

ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +
    geom_bar(stat = "identity") +
    coord_flip()

Code εξήγηση

  • Μπορείτε να ελέγξετε τον προσανατολισμό του γραφήματος με το coord_flip().

Παραγωγή:

Ιστόγραμμα

Βήμα 4) Αλλάξτε το χρώμα

Μπορείτε να διαφοροποιήσετε τα χρώματα των ράβδων σύμφωνα με το επίπεδο παράγοντα της μεταβλητής του άξονα x.

ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +
    geom_bar(stat = "identity") +
    coord_flip() +
    theme_classic()

Code εξήγηση

  • Μπορείτε να σχεδιάσετε το γράφημα ανά ομάδες με τον χάρτη fill=cylpingΤο R φροντίζει αυτόματα για τα χρώματα με βάση τα επίπεδα της μεταβλητής cyl

Παραγωγή:

Ιστόγραμμα

Βήμα 5) Αλλάξτε το μέγεθος

Για να κάνετε το γράφημα να φαίνεται πιο όμορφο, μειώνετε το πλάτος της γραμμής.

graph <- ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +
    geom_bar(stat = "identity",
        width = 0.5) +
    coord_flip() +
    theme_classic()

Code εξήγηση

  • Το όρισμα πλάτους μέσα στη συνάρτηση geom_bar() ελέγχει το πάχος της ράβδου. Μια μεγαλύτερη τιμή την κάνει πιο φαρδιά.
  • Το διάγραμμα αποθηκεύεται στο γράφημα αντικειμένων, επειδή το επόμενο βήμα το επαναχρησιμοποιεί αμετάβλητο. Η αποθήκευση ενδιάμεσων διαγραμμάτων διατηρεί τον κώδικα αναγνώσιμο.

Παραγωγή:

Ιστόγραμμα

Βήμα 6) Προσθέστε ετικέτες στο γράφημα

Το τελευταίο βήμα προσθέτει την τιμή του mean_mpg ως ετικέτα μέσα σε κάθε γραμμή.

graph +
    geom_text(aes(label = mean_mpg),
        hjust = 1.5,
        color = "white",
        size = 3) +
    theme_classic()

Code εξήγηση

  • Η συνάρτηση geom_text() είναι χρήσιμη για τον έλεγχο της αισθητικής του κειμένου.
    • label=: Προσθέστε μια ετικέτα μέσα στις γραμμές
    • mean_mpg: Χρησιμοποιήστε τη μεταβλητή mean_mpg για την ετικέτα
  • Η συνάρτηση hjust ελέγχει τη θέση της ετικέτας κατά μήκος της γραμμής. Τιμές κοντά στο 1 την τοποθετούν κοντά στο τέλος της γραμμής, ενώ μεγαλύτερες τιμές την ωθούν προς τα πίσω προς τον άξονα. Εάν ο προσανατολισμός του γραφήματος είναι κατακόρυφος, αλλάξτε την συνάρτηση hjust σε vjust.
  • color=”white”: Αλλάξτε το χρώμα του κειμένου. Εδώ χρησιμοποιείτε το λευκό χρώμα.
  • size=3: Ορίστε το μέγεθος του κειμένου.

Παραγωγή:

Ιστόγραμμα

Πώς να ταξινομήσετε και να ονομάσετε γραμμές σε ένα διάγραμμα ράβδων σε R

Δύο τελευταίες πινελιές διαχωρίζουν ένα προσχέδιο γραφήματος από ένα δημοσιεύσιμο: η ταξινόμηση των ράβδων κατά τιμή και η σωστή επισήμανση των αξόνων.

Αναδιάταξη ράβδων. Το ggplot2 ταξινομεί τα επίπεδα παραγόντων αλφαβητικά από προεπιλογή, η οποία σπάνια είναι η πιο κατατοπιστική σειρά. Τυλίξτε τη μεταβλητή x στην reorder() για να ταξινομήσετε με βάση μια δεύτερη μεταβλητή:

# Sort the bars from lowest to highest mean_mpg
ggplot(data_histogram, aes(x = reorder(cyl, mean_mpg), y = mean_mpg)) +
    geom_bar(stat = "identity", fill = "coral") +
    theme_classic()

Προθέστε στη μεταβλητή ταξινόμησης ένα σύμβολο μείον, reorder(cyl, -mean_mpg), για να αντιστρέψετε την κατεύθυνση.

Προσθήκη τίτλων και ετικετών αξόνων. Η συνάρτηση labs() ορίζει κάθε στοιχείο κειμένου σε μία μόνο κλήση:

ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +
    geom_bar(stat = "identity") +
    labs(title = "Average fuel economy by cylinder count",
        subtitle = "mtcars dataset",
        x = "Number of cylinders",
        y = "Mean miles per gallon",
        fill = "Cylinders",
        caption = "Source: mtcars") +
    theme_classic()

Ορίστε την τιμή fill = NULL μέσα στο labs() για να αφαιρέσετε εντελώς τον τίτλο του υπομνήματος και χρησιμοποιήστε την τιμή theme(legend.position = “none”) για να αφαιρέσετε τον υπόμνημα όταν ο άξονας x ήδη ονομάζει τις ομάδες.

Επιλέγοντας τα δικά σας χρώματα. Αντικαταστήστε την προεπιλεγμένη παλέτα με μια σαφή, ώστε το διάγραμμα να ταιριάζει με το στυλ του σπιτιού σας:

scale_fill_manual(values = c("4" = "#0e9cd1", "6" = "coral", "8" = "grey40"))

Πώς να δημιουργήσετε ένα ιστόγραμμα σε R με geom_histogram()

Ένα ιστόγραμμα δείχνει πώς κατανέμεται μια μεμονωμένη συνεχής μεταβλητή. Αντί να μετράει κατηγορίες, η συνάρτηση ggplot2 χωρίζει το αριθμητικό εύρος σε ομάδες και μετράει πόσες παρατηρήσεις εμπίπτουν σε κάθε μία.

library(ggplot2)
# Most basic histogram
ggplot(mtcars, aes(x = mpg)) +
    geom_histogram()

Η R εμφανίζει ένα μήνυμα που σας προτείνει να επιλέξετε καλύτερο αριθμό κάδων, επειδή η προεπιλογή των 30 κάδων είναι αυθαίρετη. Δύο ορίσματα ελέγχουν αυτό:

  • κάδους: ο αριθμός των διαστημάτων στα οποία θα χωριστεί το εύρος.
  • πλάτος δυαδικού πλαισίου: το πλάτος κάθε διαστήματος, εκφρασμένο στις μονάδες της μεταβλητής. Χρησιμοποιήστε αυτό όταν οι μονάδες έχουν νόημα.
# Set the number of bins
ggplot(mtcars, aes(x = mpg)) +
    geom_histogram(bins = 10, fill = "coral", color = "white") +
    theme_classic()

# Or set the width of each bin instead
ggplot(mtcars, aes(x = mpg)) +
    geom_histogram(binwidth = 4, fill = "coral", color = "white") +
    theme_classic()

Η ομαδοποίηση είναι η πιο σημαντική επιλογή σε ένα ιστόγραμμα. Πολύ λίγα ομαδοποιημένα ...

Σύγκριση ομάδων. Αντιστοιχίστε έναν παράγοντα που θα συμπληρωθεί και ορίστε τη θέση έτσι ώστε οι κατανομές να παραμένουν ευανάγνωστες:

ggplot(mtcars, aes(x = mpg, fill = factor(cyl))) +
    geom_histogram(bins = 10, position = "identity", alpha = 0.5) +
    theme_classic()

Με τη λέξη position = "identity" και μειωμένο άλφα, τα ιστογράμματα επικαλύπτονται, ώστε να μπορείτε να συγκρίνετε σχήματα απευθείας. Χρησιμοποιήστε τη λέξη position = "dodge" εάν προτιμάτε να βλέπετε τους κάδους δίπλα-δίπλα.

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

ggplot(mtcars, aes(x = mpg)) +
    geom_histogram(aes(y = after_stat(density)), bins = 10,
        fill = "coral", alpha = 0.6) +
    geom_density(color = "steelblue", linewidth = 1) +
    theme_classic()

Ραβδόγραμμα και Ιστόγραμμα σε R: Code Αναφορά

Ένα ραβδόγραμμα ταιριάζει σε έναν κατηγορικό άξονα x, όπου ο άξονας y είναι είτε μια καταμέτρηση είτε ένα συνοπτικό στατιστικό στοιχείο. Ο παρακάτω πίνακας παραθέτει την κλήση ggplot2 για κάθε παραλλαγή που καλύπτεται παραπάνω:

Σκοπός Code
Κόμης
ggplot(df, aes(x = factor(x1))) + geom_bar()
Μετρήστε με διαφορετικό χρώμα γεμίσματος
ggplot(df, aes(x = factor(x1), fill = factor(x1))) + geom_bar()
Μετρήστε με ομάδες, στοιβαγμένες
ggplot(df, aes(x = factor(x1), fill = factor(x2))) + geom_bar()
Μετρήστε με ομάδες, δίπλα δίπλα
ggplot(df, aes(x = factor(x1), fill = factor(x2))) + geom_bar(position = position_dodge())
Καταμέτρηση με ομάδες, στοιβαγμένες σε %
ggplot(df, aes(x = factor(x1), fill = factor(x2))) + geom_bar(position = "fill")
Τιμές (συνοπτική στατιστική)
ggplot(df, aes(x = factor(x1), y = x2)) + geom_bar(stat = "identity")
Ιστόγραμμα μιας συνεχούς μεταβλητής
ggplot(df, aes(x = x1)) + geom_histogram(bins = 30)

Συχνές Ερωτήσεις

Χρησιμοποιήστε ένα ιστόγραμμα όταν η μεταβλητή του άξονα x είναι συνεχής και θέλετε να δείτε την κατανομή της. Χρησιμοποιήστε ένα ραβδόγραμμα όταν ο άξονας x περιέχει διακριτές κατηγορίες και θέλετε να τις συγκρίνετε.

Μέσα στην aes() η συνάρτηση fill αντιστοιχίζει μια μεταβλητή με χρώμα, έτσι ώστε κάθε ομάδα να έχει τη δική της απόχρωση. Εκτός της aes(), μέσα στην geom_bar(), η συνάρτηση fill είναι μια σταθερή τιμή που εφαρμόζεται σε κάθε μπάρα.

Δεν υπάρχει καθολική απάντηση. Ξεκινήστε με την τετραγωνική ρίζα του αριθμού των παρατηρήσεων και, στη συνέχεια, προσαρμόστε. Πολύ λίγα δοχεία κρύβουν μια δομή, όπως μια δεύτερη κορυφή, και πάρα πολλά παράγουν ένα θορυβώδες, αιχμηρό διάγραμμα.

Τα ιστογράμματα είναι το τυπικό πρώτο βήμα στην εξερευνητική ανάλυση δεδομένων για έργα Τεχνητής Νοημοσύνης, αποκαλύπτοντας ασυμμετρία, ακραίες τιμές και ανισορροπία κλάσεων πριν από την εκπαίδευση οποιουδήποτε μοντέλου. Στη συνέχεια, τα γραφήματα ράβδων συνοψίζουν τη σημασία των χαρακτηριστικών και τις συχνότητες των κατηγοριών.

Ναι. Οι βοηθοί τεχνητής νοημοσύνης μπορούν να σχεδιάσουν επίπεδα ggplot2 από μια απλή περιγραφή του γραφήματος και να εξηγήσουν σφάλματα, όπως η έλλειψη ενός ορίσματος stat. Πάντα να εκτελείτε τον δημιουργημένο κώδικα στα δικά σας δεδομένα για να επιβεβαιώσετε τον χάρτη.ping ειναι σωστο.

Συνοψίστε αυτήν την ανάρτηση με: