Sloupcový graf & Histogram v R (s příkladem)

Sloupcový graf je skvělý způsob, jak zobrazit kategorické proměnné v ose x. Tento typ grafu označuje dva aspekty v ose y.

  1. První počítá počet výskytů mezi skupinami.
  2. Druhý ukazuje souhrnnou statistiku (min, max, průměr atd.) Proměnné v ose y.

Budete používat datovou sadu mtcars s následujícími proměnnými:

  • cyl: Číslo válce v autě. Numerická proměnná
  • am: Typ přenosu. 0 pro automatické a 1 pro manuální. Numerická proměnná
  • mpg: Míle na galon. Numerická proměnná

V tomto výukovém programu se naučíte

  • Jak vytvořit sloupcový graf
  • Změňte barvu pruhů
  • Změňte intenzitu
  • Vybarvit podle skupin
  • Přidejte skupinu do pruhů
  • Sloupcový graf v procentech
  • Vedle sebe pruhy
  • Histogram

Jak vytvořit sloupcový graf

Chcete-li vytvořit graf v R, můžete použít knihovnu ggplot, která vytváří grafy připravené k publikaci. Základní syntaxe této knihovny je:

ggplot(data, mapping = aes()) +geometric objectarguments:data: dataset used to plot the graphmapping: Control the x and y-axisgeometric 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()`

V tomto kurzu vás zajímá geometrický objekt geom_bar (), který vytváří sloupcový graf.

Sloupcový graf: počet

Váš první graf ukazuje frekvenci cylindru s geom_bar (). Níže uvedený kód je nejzákladnější syntaxí.

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

Vysvětlení kódu

  • Předáte datovou sadu mtcars ggplot.
  • Uvnitř argumentu aes () přidáte osu x jako proměnnou faktoru (cyl)
  • Znaménko + znamená, že chcete, aby kód R pokračoval ve čtení. Díky čitelnosti je kód čitelnější.
  • Pro geometrický objekt použijte geom_bar ().

Výstup:

Poznámka : nezapomeňte převést proměnné na faktor, jinak R bude s proměnnými zacházet jako s číselnými. Viz příklad níže.

Přizpůsobte graf

K přizpůsobení grafu lze předat čtyři argumenty:

- `stat`: Control the type of formatting. By default, `bin` to plot a count in the y-axis. For continuous value, pass `stat = "identity"`- `alpha`: Control density of the color- `fill`: Change the color of the bar- `size`: Control the size the bar

Změňte barvu pruhů

Můžete změnit barvu pruhů. Všimněte si, že barvy pruhů jsou podobné.

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

Vysvětlení kódu

  • Barvy pruhů jsou řízeny mapováním aes () uvnitř geometrického objektu (tj. Ne v ggplot ()). Barvu můžete změnit pomocí argumentů výplně. Zde si vyberete korálovou barvu.

Výstup:

Můžete použít tento kód:

grDevices::colors() 

zobrazit všechny barvy dostupné v R. Existuje asi 650 barev.

Změňte intenzitu

Můžete zvýšit nebo snížit intenzitu barvy pruhů

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

Vysvětlení kódu

  • Chcete-li zvýšit / snížit intenzitu pruhu, můžete změnit hodnotu alfa. Velká alfa zvyšuje intenzitu a nízká alfa snižuje intenzitu. alfa se pohybuje od 0 do 1. Pokud 1, pak je barva stejná jako paleta. Pokud je 0, barva je bílá. Vyberete alfa = 0,1.

Výstup:

Vybarvit podle skupin

Můžete změnit barvy pruhů, což znamená pro každou skupinu jednu jinou barvu. Například proměnná cyl má tři úrovně, poté můžete pruhový graf vykreslit třemi barvami.

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

Vysvětlení kódu

  • Výplň argumentů uvnitř aes () umožňuje změnit barvu pruhu. Barvu změníte nastavením výplně = proměnná osy x. Ve vašem příkladu je proměnná osy x cyl; fill = factor (cyl)

Výstup:

Přidejte skupinu do pruhů

Osu y můžete dále rozdělit na základě jiné úrovně faktoru. Můžete například spočítat počet automatických a manuálních převodovek podle typu válců.

Budete postupovat následovně:

  • Krok 1: Vytvořte datový rámec s datovou sadou mtcars
  • Krok 2: Označte proměnnou am automatickým pro automatickou převodovku a man pro manuální převodovku. Převádějte am a cyl jako faktor, takže ve funkci ggplot () nemusíte používat factor ().
  • Krok 3: Nakreslete sloupcový graf a spočítejte počet přenosů podle válce
library(dplyr)# Step 1data <- mtcars % > %#Step 2mutate(am = factor(am, labels = c("auto", "man")),cyl = factor(cyl))

Máte připravenou datovou sadu, můžete vykreslit graf;

# Krok 3

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

Vysvětlení kódu

  • Ggpplot () obsahuje data datové sady a aes ().
  • V aes () zahrnete proměnnou osu x a to, která proměnná je nutná k vyplnění pruhu (tj. Jsem)
  • geom_bar (): Vytvoří sloupcový graf

Výstup:

Mapování vyplní lištu dvěma barvami, jednou pro každou úroveň. Je snadné změnit skupinu výběrem dalších proměnných faktorů v datové sadě.

Sloupcový graf v procentech

Lištu můžete zobrazit v procentech místo hrubého počtu.

# Sloupcový graf v procentech

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

Vysvětlení kódu

  • Pomocí position = "fill" v argumentu geom_bar () vytvořte grafiku s procentem v ose y.

Výstup:

Vedle sebe pruhy

Je snadné vykreslit sloupcový graf se skupinovou proměnnou vedle sebe.

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

Vysvětlení kódu

  • position = position_dodge (): Výslovně říká, jak uspořádat pruhy

Výstup:

Histogram

Ve druhé části kurzu sloupcového grafu můžete představovat skupinu proměnných s hodnotami v ose y.

Vaším cílem je vytvořit graf s průměrnou mílí na galon pro každý typ válce. Chcete-li nakreslit informativní graf, postupujte takto:

  • Krok 1: Vytvořte novou proměnnou s průměrnou mílí na galon podle válce
  • Krok 2: Vytvořte základní histogram
  • Krok 3: Změňte orientaci
  • Krok 4: Změňte barvu
  • Krok 5: Změňte velikost
  • Krok 6: Přidejte do grafu štítky

Krok 1) Vytvořte novou proměnnou

Vytvoříte datový rámec s názvem data_histogram, který jednoduše vrátí průměrné míle na galon podle počtu válců ve voze. Zavoláte tuto novou proměnnou mean_mpg a zaokrouhlíte průměr o dvě desetinná místa.

# Krok 1

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

Krok 2) Vytvořte základní histogram

Histogram můžete vykreslit. Není připraveno komunikovat, aby bylo doručeno klientovi, ale dává nám intuici o trendu.

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

Vysvětlení kódu

  • Aes () má nyní dvě proměnné. Proměnná cyl odkazuje na osu xa mean_mpg je osa y.
  • Chcete-li proměnnou v ose y označit jako číselnou hodnotu, musíte předat argument stat = "identity". geom_bar používá stat = "bin" jako výchozí hodnotu.

Výstup:

Krok 3) Změňte orientaci

Změníte orientaci grafu ze svislé na vodorovnou.

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

Vysvětlení kódu

  • Orientaci grafu můžete ovládat pomocí funkce coord_flip ().

Výstup:

Krok 4) Změňte barvu

Barvy pruhů můžete rozlišovat podle úrovně faktoru proměnné osy x.

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

Vysvětlení kódu

  • Graf můžete vykreslit do skupin pomocí mapování fill = cyl. R se automaticky stará o barvy na základě úrovní proměnné cyl

Výstup:

Krok 5) Změňte velikost

Chcete-li, aby graf vypadal hezčí, zmenšíte šířku pruhu.

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

Vysvětlení kódu

  • Argument width uvnitř geom_bar () řídí velikost pruhu. Větší hodnota zvětší šířku.
  • Všimněte si, že graf uložíte do proměnného grafu. Učiníte tak proto, že další krok nezmění kód proměnného grafu. Zlepšuje čitelnost kódu.

Výstup:

Krok 6) Přidejte do grafu štítky

Posledním krokem je přidání hodnoty proměnné mean_mpg do štítku.

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

Vysvětlení kódu

  • Funkce geom_text () je užitečná k ovládání estetiky textu.
    • label =: Přidejte štítek do pruhů
    • mean_mpg: Použijte proměnnou mean_mpg pro štítek
  • hjust ovládá umístění štítku. Hodnoty uzavřené na 1 zobrazují štítek v horní části pruhu a vyšší hodnoty přinášejí štítek dole. Pokud je orientace grafu svislá, změňte hjust na vjust.
  • color = "white": Změní barvu textu. Zde použijete bílou barvu.
  • size = 3: Nastaví velikost textu.

Výstup:

souhrn

Sloupcový graf je užitečný, když je osa x kategorickou proměnnou. Osa y může být buď statistika počtu nebo souhrnná statistika. Níže uvedená tabulka shrnuje, jak ovládat sloupcový graf pomocí ggplot2:

Objektivní

kód

Počet

ggplot(df, eas(x= factor(x1)) + geom_bar()

Počítejte s jinou barvou výplně

ggplot(df, eas(x= factor(x1), fill = factor(x1))) + geom_bar()

Počítejte se skupinami, skládanými

ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge())

Počítejte se skupinami, vedle sebe

ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar()

Počítat se skupinami, skládané v%

ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge())

Hodnoty

ggplot(df, eas(x= factor(x1)+ y = x2) + geom_bar(stat="identity")

Zajímavé články...