Trakasti grafikon & Histogram u R (s primjerom)

Sadržaj:

Anonim

Trakasti grafikon izvrstan je način prikaza kategorijskih varijabli u osi x. Ova vrsta grafa označava dva aspekta u osi y.

  1. Prva broji broj pojavljivanja među skupinama.
  2. Druga prikazuje sažetu statistiku (min, max, prosjek i tako dalje) varijable u osi y.

Koristit ćete mtcars skup podataka sa sljedećim varijablama:

  • cilindar: broj cilindra u automobilu. Numerička varijabla
  • am: Vrsta prijenosa. 0 za automatsko i 1 za ručno. Numerička varijabla
  • mpg: milja po galonu. Numerička varijabla

U ovom ćete tutorijalu naučiti

  • Kako stvoriti trakasti grafikon
  • Promijenite boju šipki
  • Promijenite intenzitet
  • Boja po skupinama
  • Dodajte grupu u trake
  • Trakasti grafikon u postocima
  • Jedna pored druge šipke
  • Histogram

Kako stvoriti trakasti grafikon

Da biste stvorili graf u R-u, možete upotrijebiti biblioteku ggplot koja stvara grafikone spremne za objavljivanje. Osnovna sintaksa ove knjižnice 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()`

U ovom vodiču zanima vas geometrijski objekt geom_bar () koji stvara trakasti grafikon.

Trakasti grafikon: broj

Vaš prvi grafikon prikazuje frekvenciju cilindra s geom_bar (). Kôd u nastavku je najosnovnija sintaksa.

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

Objašnjenje koda

  • Skup podataka mtcars prosljeđujete ggplot.
  • Unutar argumenta aes () dodajete os x kao varijablu faktora (cyl)
  • Znak + znači da želite da R nastavi čitati kod. Kôd čini čitljivijim razbijanjem.
  • Upotrijebite geom_bar () za geometrijski objekt.

Izlaz:

Napomena : pazite da varijable pretvorite u faktor, inače R varijable tretira kao numeričke. Pogledajte primjer u nastavku.

Prilagodite grafikon

Za prilagodbu grafa mogu se proslijediti četiri argumenta:

- `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

Promijenite boju šipki

Možete promijeniti boju šipki. Imajte na umu da su boje šipki slične.

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

Objašnjenje koda

  • Boje traka kontroliraju se mapiranjem aes () unutar geometrijskog objekta (tj. Ne u ggplot ()). Boju možete promijeniti pomoću argumenata za popunjavanje. Ovdje odabirete boju koralja.

Izlaz:

Možete koristiti ovaj kod:

grDevices::colors() 

da biste vidjeli sve boje dostupne u R. Postoji oko 650 boja.

Promijenite intenzitet

Možete povećati ili smanjiti intenzitet boje traka

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

Objašnjenje koda

  • Da biste povećali / smanjili intenzitet trake, možete promijeniti vrijednost alfa. Velika alfa povećava intenzitet, a niska alfa smanjuje intenzitet. alfa se kreće od 0 do 1. Ako je 1, tada je boja ista kao i paleta. Ako je 0, boja je bijela. Odabrali ste alfa = 0,1.

Izlaz:

Boja po skupinama

Možete promijeniti boje traka, što znači da za svaku skupinu treba imati jednu različitu boju. Na primjer, varijabla cilindar ima tri razine, a zatim možete grafički prikazati trakasti grafikon u tri boje.

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

Objašnjenje koda

  • Argument fill unutar aes () omogućuje promjenu boje trake. Boju mijenjate postavljanjem varijable fill = x-axis. U vašem primjeru varijabla x osi je cyl; ispuna = faktor (cil.)

Izlaz:

Dodajte grupu u trake

Os y možete dalje podijeliti na temelju druge razine faktora. Na primjer, možete izračunati broj automatskog i ručnog mjenjača na temelju tipa cilindra.

Nastavit ćete kako slijedi:

  • Korak 1: Stvorite podatkovni okvir pomoću skupa podataka mtcars
  • Korak 2: Označite varijablu am automatskim za automatski mjenjač i man za ručnim mjenjačem. Pretvorite am i cyl kao faktor tako da ne trebate koristiti faktor () u funkciji ggplot ().
  • Korak 3: Nacrtajte trakasti grafikon kako biste prebrojali broj prijenosa po cilindru
library(dplyr)# Step 1data <- mtcars % > %#Step 2mutate(am = factor(am, labels = c("auto", "man")),cyl = factor(cyl))

Spremite skup podataka, možete nacrtati grafikon;

# Korak 3

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

Objašnjenje koda

  • Ggpplot () sadrži podatke o skupu podataka i aes ().
  • U aes () uključujete varijablu x-osi i koja je varijabla potrebna za popunjavanje trake (tj. Am)
  • geom_bar (): Stvorite trakasti grafikon

Izlaz:

Mapiranje će ispuniti traku s dvije boje, po jednom za svaku razinu. Jednostavno je promijeniti skupinu odabirom drugih varijabli faktora u skupu podataka.

Trakasti grafikon u postocima

Liniju možete vizualizirati u postocima umjesto broja sirovih proizvoda.

# Trakasti grafikon u postocima

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

Objašnjenje koda

  • Upotrijebite position = "fill" u argumentu geom_bar () da biste stvorili grafiku s postotkom u osi y.

Izlaz:

Jedna pored druge šipke

Lako je ucrtati trakasti grafikon s varijablom grupe jedan do drugog.

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

Objašnjenje koda

  • position = position_dodge (): Izričito govori kako rasporediti šipke

Izlaz:

Histogram

U drugom dijelu vodiča za trakasti grafikon možete predstaviti skupinu varijabli s vrijednostima u osi y.

Vaš je cilj stvoriti grafikon s prosječnom kilometražom po galonu za svaku vrstu cilindra. Da biste nacrtali informativni grafikon, slijedite ove korake:

  • Korak 1: Stvorite novu varijablu s prosječnom miljom po galonu po cilindru
  • Korak 2: Stvorite osnovni histogram
  • Korak 3: Promijenite orijentaciju
  • Korak 4: Promijenite boju
  • Korak 5: Promijenite veličinu
  • Korak 6: Dodajte oznake na grafikon

Korak 1) Stvorite novu varijablu

Stvorite podatkovni okvir s imenom data_histogram koji jednostavno vraća prosječne kilometre po galonu prema broju cilindara u automobilu. Ovu novu varijablu nazivate mean_mpg, a srednju vrijednost zaokružujete s dvije decimale.

# Korak 1

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

Korak 2) Stvorite osnovni histogram

Možete ucrtati histogram. Nije spreman za komunikaciju da bi se isporučio klijentu, ali daje nam intuiciju o trendu.

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

Objašnjenje koda

  • Aes () sada ima dvije varijable. Varijabla cilindra odnosi se na os x, a mean_mpg je os y.
  • Morate proslijediti argument stat = "identity" da biste varijablu u osi y uputili kao numeričku vrijednost. geom_bar koristi stat = "bin" kao zadanu vrijednost.

Izlaz:

Korak 3) Promijenite orijentaciju

Orijentaciju grafikona mijenjate iz okomite u vodoravnu.

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

Objašnjenje koda

  • Orijentacijom grafa možete kontrolirati s koordinacijom_flip ().

Izlaz:

Korak 4) Promijenite boju

Boje traka možete razlikovati prema razini faktora varijable x osi.

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

Objašnjenje koda

  • Grafikon možete ucrtati po grupama s mapiranjem fill = cyl. R se automatski brine o bojama na temelju razine valjka varijable

Izlaz:

Korak 5) Promijenite veličinu

Da bi grafikon izgledao ljepše, smanjite širinu trake.

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

Objašnjenje koda

  • Argument širine unutar geom_bar () kontrolira veličinu trake. Veća vrijednost povećava širinu.
  • Napomena, graf spremate u varijabilni graf. To činite jer sljedeći korak neće promijeniti kôd grafikona varijabli. Poboljšava čitljivost koda.

Izlaz:

Korak 6) Dodajte oznake na grafikon

Posljednji se korak sastoji od dodavanja vrijednosti varijable mean_mpg u oznaku.

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

Objašnjenje koda

  • Funkcija geom_text () korisna je za kontrolu estetike teksta.
    • label =: Dodajte oznaku unutar traka
    • mean_mpg: Koristite varijablu mean_mpg za naljepnicu
  • hjust kontrolira mjesto oznake. Vrijednosti zatvorene na 1 prikazuju oznaku na vrhu trake, a veće vrijednosti dovode oznaku na dno. Ako je orijentacija grafa okomita, promijenite hjust u vjust.
  • color = "white": Promjena boje teksta. Ovdje koristite bijelu boju.
  • size = 3: Postavite veličinu teksta.

Izlaz:

Sažetak

Trakasti grafikon koristan je kada je x-osa kategorijska varijabla. Os y može biti brojanje ili sažeta statistika. Tablica u nastavku sažima kako kontrolirati trakasti grafikon pomoću ggplot2:

Cilj

kodirati

Računati

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

Broji s različitim bojama ispune

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

Broji s grupama, složeno

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

Brojte s grupama, jednu do druge

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

Brojanje s grupama, složeno u%

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

Vrijednosti

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