Kaaviot ovat data-analyysin kolmas osa. Ensimmäinen osa koskee tietojen poimintaa , toinen osa tietojen puhdistamista ja käsittelyä . Viimeinkin datatieteilijän on ehkä ilmoitettava tuloksistaan graafisesti .
Datatieteilijän työ voidaan tarkastella seuraavassa kuvassa
- Datatieteilijän ensimmäinen tehtävä on määritellä tutkimuskysymys. Tämä tutkimuskysymys riippuu projektin tavoitteista.
- Sen jälkeen yksi näkyvimmistä tehtävistä on piirustekniikka. Datatieteilijän on kerättävä, käsiteltävä ja puhdistettava tiedot
- Kun tämä vaihe on valmis, hän voi alkaa tutkia aineistoa. Joskus on välttämätöntä tarkentaa ja muuttaa alkuperäistä hypoteesia uuden löydön takia.
- Kun selittävä analyysi on saavutettu, datatieteilijän on otettava huomioon lukijan kyky ymmärtää taustalla olevat käsitteet ja mallit .
- Hänen tulokset tulisi esittää muodossa, jonka kaikki sidosryhmät ymmärtävät. Yksi parhaista tavoista kommunikoida tuloksista on kaavio .
- Kaaviot ovat uskomaton työkalu monimutkaisen analyysin yksinkertaistamiseksi.
Tässä opetusohjelmassa opit-
- ggplot2-paketti
- Hajontakaavio
- Vaihda akseli
- Hajontakaavio sopivilla arvoilla
- Lisää tietoja kaavioon
- Nimeä x- ja y-akseli uudelleen
- Ohjaa asteikoita
- Teema
- Tallenna tontit
ggplot2-paketti
Tämä opetusohjelman osa keskittyy kaavioiden / kaavioiden tekemiseen R: n kanssa.
Tässä opetusohjelmassa aiot käyttää ggplot2-pakettia. Tämä paketti perustuu Wilkinson, 2005: n kirjoittaman kirjan Grammar of graphics johdonmukaiseen taustaan. Ggplot2 on erittäin joustava, sisältää monia teemoja ja juoni-eritelmiä korkealla abstraktiotasolla. Ggplot2: n avulla et voi piirtää kolmiulotteista grafiikkaa ja luoda interaktiivista grafiikkaa.
Ggplot2: ssa kaavio koostuu seuraavista argumenteista:
- tiedot
- esteettinen kartoitus
- geometrinen esine
- tilastolliset muunnokset
- vaa'at
- koordinaattijärjestelmä
- asennon säätö
- kasvot
Opit kuinka hallita näitä argumentteja opetusohjelmassa.
Ggplot2: n perussyntaksi on:
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 object are:- Point: `geom_point()`- Bar: `geom_bar()`- Line: `geom_line()`- Histogram: `geom_histogram()`
Hajontakaavio
Katsotaanpa, miten ggplot toimii mtcars-tietojoukon kanssa. Aloitat piirtämällä mpg-muuttujan ja drat-muuttujan sirontapiirroksen.
Perus hajontakaavio
library(ggplot2)ggplot(mtcars, aes(x = drat, y = mpg)) +geom_point()
Koodin selitys
- Välität ensin tietojoukon mtcars ggplotille.
- Argumentin aes () sisälle lisätään x-akseli ja y-akseli.
- + -Merkki tarkoittaa, että haluat R: n jatkavan koodin lukemista. Se tekee koodista luettavamman rikkomalla sen.
- Käytä geometrista objektia geom_point ().
Tuotos:
Hajontakaavio ryhmien kanssa
Joskus voi olla mielenkiintoista erottaa arvot tietoryhmän (ts. Tekijätason tiedot) mukaan.
ggplot(mtcars, aes(x = mpg, y = drat)) +geom_point(aes(color = factor(gear)))
Koodin selitys
- Geom_pointin () sisällä olevat aes () ohjaa ryhmän väriä. Ryhmän tulisi olla tekijämuuttuja. Siten muunnat muuttuvan vaihteen kertoimeksi.
- Kaiken kaikkiaan sinulla on koodi aes (väri = tekijä (vaihde)), jotka muuttavat pisteiden väriä.
Tuotos:
Vaihda akseli
Tietojen uudelleen skaalaus on iso osa datatieteilijän työtä. Harvinaisissa tilanteissa tiedot ovat mukavan kellon muotoisia. Yksi ratkaisu tehdä tiedoistasi vähemmän herkkiä poikkeamille on skaalata ne uudelleen.
ggplot(mtcars, aes(x = log(mpg), y = log(drat))) +geom_point(aes(color = factor(gear)))
Koodin selitys
- Muunnat x- ja y-muuttujat lokissa () suoraan aes () -kartoituksen sisällä.
Huomaa, että voidaan käyttää mitä tahansa muuta muunnosta, kuten standardointi tai normalisointi.
Tuotos:
Hajontakaavio sopivilla arvoilla
Voit lisätä kaavioon toisen tietotason. Voit piirtää lineaarisen regression sovitetun arvon.
my_graph <- ggplot(mtcars, aes(x = log(mpg), y = log(drat))) +geom_point(aes(color = factor(gear))) +stat_smooth(method = "lm",col = "#C42126",se = FALSE,size = 1)my_graph
Koodin selitys
- kaavio: Tallennat kaavion muuttujakaavioon. Siitä on hyötyä jatkokäytössä tai vältetään liian monimutkaisia koodirivejä
- Argumentti stat_smooth () ohjaa tasoitusmenetelmää
- method = "lm": Lineaarinen regressio
- col = "# C42126": Viivan punaisen värin koodi
- se = EPÄTOSI: Älä näytä standardivirhettä
- size = 1: viivan koko on 1
Tuotos:
Huomaa, että muita tasoitusmenetelmiä on saatavana
- glm
- gam
- löyhä: oletusarvo
- vanteen
Lisää tietoja kaavioon
Toistaiseksi emme ole lisänneet tietoja kaavioihin. Kaavioiden on oltava informatiivisia. Lukijan pitäisi nähdä tarina tietojen analysoinnista vain katsomalla kaaviota viittaamatta lisädokumentaatioon. Siksi kaaviot tarvitsevat hyvät tarrat. Voit lisätä tarroja Labs () -toiminnolla.
Laboratorion () perussyntaksi on:
lab(title = "Hello Guru99")argument:- title: Control the title. It is possible to change or add title with:- subtitle: Add subtitle below title- caption: Add caption below the graph- x: rename x-axis- y: rename y-axisExample:lab(title = "Hello Guru99", subtitle = "My first plot")
Lisää otsikko
Yksi pakollinen lisättävä tieto on tietysti otsikko.
my_graph +labs(title = "Plot Mile per hours and drat, in log")
Koodin selitys
- my_graph: Käytät tallentamaasi kaaviota. Näin vältetään kaikkien koodien uudelleenkirjoittaminen aina, kun lisäät kaavioon uusia tietoja.
- Kääri otsikko laboratorion sisään ().
- Viivan punaisen värin koodi
- se = EPÄTOSI: Älä näytä standardivirhettä
- size = 1: viivan koko on 1
Tuotos:
Lisää otsikko, jolla on dynaaminen nimi
Dynaaminen otsikko on hyödyllinen tarkempien tietojen lisäämiseksi otsikkoon.
Voit käyttää paste () -toimintoa staattisen ja dynaamisen tekstin tulostamiseen. Tahnan () perussyntaksi on:
paste("This is a text", A)arguments- " ": Text inside the quotation marks are the static text- A: Display the variable stored in A- Note you can add as much static text and variable as you want. You need to separate them with a comma
Esimerkki:
A <-2010paste("The first year is", A)
Tuotos:
## [1] "The first year is 2010"
B <-2018paste("The first year is", A, "and the last year is", B)
Tuotos:
## [1] "The first year is 2010 and the last year is 2018"
Voit lisätä kaavioon dynaamisen nimen, nimittäin mpg: n keskiarvon.
mean_mpg <- mean(mtcars$mpg)my_graph + labs(title = paste("Plot Mile per hours and drat, in log. Average mpg is", mean_mpg))
Koodin selitys
- Voit luoda mpg: n keskiarvon keskiarvolla (mtcars $ mpg), joka on tallennettu muuttujaan mean_mpg
- Luo dynaaminen otsikko, joka palauttaa mpg: n keskiarvon, käyttämällä paste () with mean_mpg
Tuotos:
Lisää alaotsikko
Kaksi muuta yksityiskohtaa voi tehdä kaaviosta selkeämmän. Puhut alaotsikosta ja kuvatekstistä. Alaotsikko menee suoraan otsikon alle. Kuvateksti voi kertoa kuka on suorittanut laskennan ja tiedon lähteen.
my_graph +labs(title ="Relation between Mile per hours and drat",subtitle ="Relationship break down by gear class",caption = "Authors own computation")
Koodin selitys
- Laboratorion sisällä () lisäsit:
- title = "Mile tunnissa ja dratin suhde": Lisää otsikko
- subtitle = "Suhde eriteltynä vaihdeluokittain": Lisää alaotsikko
- caption = "Tekijöiden oma laskenta: Lisää kuvateksti
- Erotat kaikki uudet tiedot pilkulla,,
- Huomaa, että katkaiset koodirivit. Se ei ole pakollinen, ja se auttaa vain lukemaan koodia helpommin
Tuotos:
Nimeä x- ja y-akseli uudelleen
Muuttujat itse tietojoukossa eivät välttämättä aina ole selkeitä, tai sopimuksen mukaan käytä _, kun sanoja on useita (ts. GDP_CAP). Et halua, että tällainen nimi näkyy kaaviossa. On tärkeää muuttaa nimeä tai lisätä lisätietoja, kuten yksiköt.
my_graph +labs(x = "Drat definition",y = "Mile per hours",color = "Gear",title = "Relation between Mile per hours and drat",subtitle = "Relationship break down by gear class",caption = "Authors own computation")
Koodin selitys
- Laboratorion sisällä () lisäsit:
- x = "Drat-määritelmä": Muuta x-akselin nimeä
- y = "Mile per hour": Muuta y-akselin nimeä
Tuotos:
Ohjaa asteikoita
Voit hallita akselin mittakaavaa.
Funktio seq () on kätevä, kun sinun on luotava numerosarja. Perussyntaksi on:
seq(begin, last, by = x)arguments:- begin: First number of the sequence- last: Last number of the sequence- by= x: The step. For instance, if x is 2, the code adds 2 to `begin-1` until it reaches `last`
Esimerkiksi, jos haluat luoda alueen 0: sta 12: een vaiheella 3, sinulla on neljä numeroa, 0 4 8 12
seq(0, 12,4)
Tuotos:
## [1] 0 4 8 12
Voit hallita x-akselin ja y-akselin mittakaavaa alla esitetyllä tavalla
my_graph +scale_x_continuous(breaks = seq(1, 3.6, by = 0.2)) +scale_y_continuous(breaks = seq(1, 1.6, by = 0.1)) +labs(x = "Drat definition",y = "Mile per hours",color = "Gear",title = "Relation between Mile per hours and drat",subtitle = "Relationship break down by gear class",caption = "Authors own computation")
Koodin selitys
- Funktio scale_y_continuous () ohjaa y-akselia
- Funktio scale_x_continuous () ohjaa x-akselia .
- Parametritaukot ohjaavat akselin jakautumista. Voit lisätä numerosarjan manuaalisesti tai käyttää seq () -toimintoa:
- seq (1, 3.6, by = 0.2): Luo kuusi numeroa välillä 2,4 - 3,4 vaiheella 3
- seq (1, 1,6, by = 0,1): Luo seitsemän numeroa 1: stä 1,6: een 1: n vaiheella
Tuotos:
Teema
Lopuksi R antaa meille mahdollisuuden muokata juoni eri teemoilla. Kirjasto ggplot2 sisältää kahdeksan teemaa:
- teema_bw ()
- teema_valo ()
- teema_luokka ()
- teema_linjaus ()
- teema_tumma ()
- teema_minimaali ()
- teema_harmaa ()
- teema_void ()
my_graph +theme_dark() +labs(x = "Drat definition, in log",y = "Mile per hours, in log",color = "Gear",title = "Relation between Mile per hours and drat",subtitle = "Relationship break down by gear class",caption = "Authors own computation")
Tuotos:
Tallenna tontit
Kaikkien näiden vaiheiden jälkeen on aika tallentaa ja jakaa kaavio. Lisät ggsave-tiedoston ('TIEDOSTON NIMI') heti, kun piirrät kaavion, ja se tallennetaan kiintolevylle.
Kaavio tallennetaan työkansioon. Voit tarkistaa työhakemiston suorittamalla tämän koodin:
directory <-getwd()directory
Piirretään upea kaavio, tallennetaan se ja tarkistetaan sijainti
my_graph +theme_dark() +labs(x = "Drat definition, in log",y = "Mile per hours, in log",color = "Gear",title = "Relation between Mile per hours and drat",subtitle = "Relationship break down by gear class",caption = "Authors own computation")
Tuotos:
ggsave("my_fantastic_plot.png.webp")
Tuotos:
## Saving 5 x 4 in image
Huomaa : Olemme luoneet vain pedagogista tarkoitusta varten toiminnon nimeltä open_folder (), joka avaa hakemistokansion sinulle. Sinun tarvitsee vain suorittaa alla oleva koodi ja nähdä, mihin kuva on tallennettu. Sinun pitäisi nähdä tiedostonimet my_fantastic_plot.png.webp.
# Run this code to create thefunctionopen_folder <- function(dir) {if (.Platform['OS.type'] == "windows") {shell.exec(dir)} else {system(paste(Sys.getenv("R_BROWSER"), dir))}}# Call thefunction to open the folder open_folder(directory)
Yhteenveto
Voit tiivistää argumentit hajontakaavion luomiseksi alla olevaan taulukkoon:
Tavoite |
Koodi |
---|---|
Perus hajontakaavio |
ggplot(df, aes(x = x1, y = y)) + geom_point() |
Hajontakaavio väriryhmällä |
ggplot(df, aes(x = x1, y = y)) + geom_point(aes(color = factor(x1)) + stat_smooth(method = "lm") |
Lisää sovitetut arvot |
ggplot(df, aes(x = x1, y = y)) + geom_point(aes(color = factor(x1)) |
Lisää otsikko |
ggplot(df, aes(x = x1, y = y)) + geom_point() + labs(title = paste("Hello Guru99")) |
Lisää alaotsikko |
ggplot(df, aes(x = x1, y = y)) + geom_point() + labs(subtitle = paste("Hello Guru99")) |
Nimeä x uudelleen |
ggplot(df, aes(x = x1, y = y)) + geom_point() + labs(x = "X1") |
Nimeä y uudelleen |
ggplot(df, aes(x = x1, y = y)) + geom_point() + labs(y = "y1") |
Ohjaa asteikkoa |
ggplot(df, aes(x = x1, y = y)) + geom_point() + scale_y_continuous(breaks = seq(10, 35, by = 10)) + scale_x_continuous(breaks = seq(2, 5, by = 1) |
Luo lokeja |
ggplot(df, aes(x =log(x1), y = log(y))) + geom_point() |
Teema |
ggplot(df, aes(x = x1, y = y)) + geom_point() + theme_classic() |
Tallentaa |
ggsave("my_fantastic_plot.png.webp") |