(R) Cum se creează bare de eroare cu puncte suprapuse folosind GGPLOT

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

Blogul lui Zhenguo Zhang/2025/04/6/R-how-to-create-an-eror-barplot-cu-overlaid-puncte-ussing-ggplot/-

library(ggplot2)
library(dplyr)

Uneori poate doriți să creați un complot cu următoarele caracteristici:

  • un punct pentru a indica media unui grup
  • bare de eroare pentru a indica abaterea standard a grupului
  • Și fiecare grup poate avea subgrupuri, care sunt reprezentate de culori diferite.

În această postare, vă voi arăta cum să creați un astfel de complot folosind ggplot2 Pachet în R.

Vom folosi construcția mtcars Set de date ca exemplu. Și trebuie să calculăm următoarele variabile pentru utilizare ulterioară:

  • Media MPG pentru fiecare grup de cyl (numărul de cilindri) și gear`` (number of gears), herecilis the main group andGear` este subgrupul.
# Load the mtcars dataset
data(mtcars)
# Compute the mean and standard deviation of mpg for each group
mtcars_summary <- mtcars %>%
  group_by(cyl, gear) %>%
  summarise(mean_mpg = mean(mpg), sd_mpg = sd(mpg)) %>%
  ungroup()
# replace the NA values in sd_mpg with 1
mtcars_summary$sd_mpg(is.na(mtcars_summary$sd_mpg)) <- 1
# convert group variables into factors
mtcars_summary$cyl <- factor(mtcars_summary$cyl)
mtcars_summary$gear <- factor(mtcars_summary$gear)

Creați complotul – mai întâi încercați

Acum putem crea complotul folosind ggplot2. Vom folosi geom_point() funcționare pentru a crea punctele și geom_errorbar() Funcție pentru a crea barele de eroare. Vom folosi și aes() Funcție pentru a specifica estetica complotului.

# Create the plot
plt <- ggplot(mtcars_summary, aes(x = cyl, y = mean_mpg, color = gear)) +
  geom_point(size = 3) + # add points
  geom_errorbar(aes(ymin = mean_mpg - sd_mpg, ymax = mean_mpg + sd_mpg), width = 0.2) + # add error bars
  labs(x = "Number of Cylinders", y = "Mean MPG", color = "Number of Gears") + # add labels
  theme_minimal() + # use a minimal theme
  theme(legend.position = "top") # move the legend to the top
plt

Ei bine, funcționează, dar problema este că barele de eroare și punctele sunt aliniate în aceeași poziție a axei X. Nu asta ne dorim. Vrem ca subgrupurile să fie separate la o distanță mică.

Creați complotul – a doua încercare

Pentru a separa subgrupurile, putem folosi position_dodge() funcţie. Această funcție va muta punctele și barele de eroare la stânga și la dreapta, astfel încât acestea nu se suprapun.

pd <- position_dodge(width = 0.5)
# Create the plot with position_dodge
plt <- ggplot(mtcars_summary, aes(x = cyl, y = mean_mpg, color = gear)) +
  geom_point(size = 3, position = pd) + # add points with position_dodge
  geom_errorbar(aes(ymin = mean_mpg - sd_mpg, ymax = mean_mpg + sd_mpg), width = 0.2, position = pd) + # add error bars with position_dodge
  labs(x = "Number of Cylinders", y = "Mean MPG", color = "Number of Gears") + # add labels
  theme_minimal() + # use a minimal theme
  theme(legend.position = "top") # move the legend to the top
plt

Rece. Nu-i aşa?

Singura diferență este că am adăugat position = pd argument pentru geom_point() şi geom_errorbar() Funcții. Spune asta ggplot2 Pentru a folosi position_dodge() Funcție pentru a separa subgrupurile.

Concluzie

În această postare, am învățat cum să creăm un complot cu bare de eroare și puncte suprapuse folosind ggplot2 Pachet în R. Am învățat, de asemenea, cum să separăm subgrupurile folosind position_dodge() funcţie.

Dacă doriți să aflați mai multe despre funcție position_dodge()puteți verifica o postare excelentă aici.

Programare fericită! 😃

-/2025/04/6/r-how-to-create-an-eror-barplot-cu puncte-suprapuse-utilizarea-utilizării-ggplot/-

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.