Ez a cikk részeként jelent meg Adattudományi Blogaton
Az R programozási nyelvet statisztikai számításokhoz és grafikákhoz fejlesztették ki, így az egyik kívánt jelölt az adattudomány és -elemzés számára. Noha nem biztos, hogy nagy népszerűségnek örvend az újoncok körében, sok veterán és tapasztalt adattudós az R-t részesíti előnyben a Pythonnal szemben.
Bár a vélemények egyénenként eltérőek lehetnek, itt van egy szép cikk, amely összehasonlítja a nyelvek közötti fő különbségeket, és megvitatja, miért folyik ez a háború a legjobb adattudományi programozási nyelv címért:
R vagy Python? A felhőháború mögött meghúzódó okok | Shankar_DK
Bár közel sem vagyok képes hozzászólni ehhez a témához, szeretném elmondani, hogy minden kezdőnek ki kell próbálnia mindkét nyelvet, és magának kell eldöntenie, mit akar, ahelyett, hogy a tömeget követné. Saját tanácsomat követve nemrégiben elkezdtem tanulni az R-t, mivel a szemeszterem véget ért, és nem volt jobb dolgom, és arra gondoltam, hogy megosztom a tanulási utamat az olvasóimmal.
Mint mondtam, én magam tanulom először az R-t, így ha bármilyen hiba, fejlesztés vagy javaslat van, szívesen fogadom az alábbi megjegyzés rovatban. Biztos vagyok benne, hogy ez az oktatóanyag nagyon hasznos lesz kezdő olvasóim számára, úgyhogy kezdjük is!
Felhasznált adatkészletek:
1. Titanic – gépi tanulás a katasztrófából
2. Írisz fajok
3. Lakásárak – Fejlett regressziós technikák
1) Bevezetés
2) Változók és hozzárendelés
3) Adatstruktúrák
- vektor
- Tömbök és mátrixok
- listák
- Tényezők
- DataFrames
4) Indexelés, szeletelés és szakaszolás
- Vektorok és mátrixok
- Listák és DataFrame-ek
5) Adatok importálása
6) Ellenőrzési nyilatkozatok
- nyilatkozat
- Az If/else If/else nyilatkozat
- Miközben hurok
- next és break utasítás
- Hurokhoz
- Beágyazott hurokhoz
7) Funkciók
8) DataFrame manipuláció segítségével dplyr
- select()
- szűrő()
- rendezni()
- átnevezni ()
- mute()
9) Rajzolás R-vel
- hisztogram
- Boxplot
- Szórványdiagram
- Vonalrajz
- Barplot
- Kördiagram
10) Vizualizáció segítségével ggplot2
- Szórványdiagram
- hisztogram
- Boxplot
- Barplot
- Sűrűség diagram
- Hegedűs cselekmény
- Kördiagram
- Vonalrajz
- Térképek
11) Korrelációs hőtérkép segítségével corrplot
12) Végjegyzet
Bevezetés
R egy programozási nyelv, valamint egy ingyenes statisztikai számítási környezet. 1993-ban adták ki, és a nyelv dialektusa S programozási nyelv. Csakúgy, mint a Python, az R is körülbelül 13000 XNUMX könyvtárcsomaggal rendelkezik az adatelemzéshez, statisztikai módszerekhez és vizualizációkhoz. Olvassa el a hivatalos dokumentumokat további részletekért, és most itt az ideje a technikai és izgalmas dolgoknak!
Változók és hozzárendelés az R-ben
R-ben a hozzárendelés operátora <-
x <- 21 # rendelje hozzá az 5-ös értéket az xx # változóhoz, írja ki x értékét
kimenet:
21
A zárójelet () használjuk az érték hozzárendelésére és egyidejű kinyomtatására.
(y <- 5) # 5 értéket ad az y változóhoz és kiírja az értékét
kimenet:
5
Adatstruktúrák az R-ben
Csakúgy, mint bármely más programozási nyelv, az R-nek is vannak adattípusoknak nevezett konténerei értékek vagy információk tárolására. Az R-nek 5 elsődleges adattípusa van:
- egészek
- páros
- logikus
- karakter
- bonyolult
Ezeken kívül vannak másodlagos adattípusok az R-ben, amelyek hasznosabbak és általánosan használtak
- vektor: elsődleges adattípusok sorrendje
- Tömbök és mátrixok: homogén vektorok többdimenziós gyűjteménye
- listák: homogén vagy heterogén típusú vektorok (azaz különböző vagy hasonló típusú alapadattípusokat tartalmazhatnak)
- Tényezők: kategorikus vagy sorszámú adat
- Dataframe: lehetséges heterogén adattípusok többdimenziós tömbje
Nézzünk néhány példát ezekre a másodlagos adattípusokra:
1) Vektor
Ez hasonló adattípusok sorozata. Az összefűzés függvény c() adatok összekapcsolására használható vektorok létrehozásához. Egyszerű sorozatok hozhatók létre a kettőspont ':' operátor használatával.
a <- c(0.1, 0.9) # numerikus a b <- c(IGAZ, HAMIS) # logikai b d <- c("a", "b", "c") # karakter d e <- 1:10 # egész szám e f <- c(2+4i) # komplex f
kimenet:
A seq() A függvény egy meghatározott sorozatú vektor létrehozására is használható. Ez a függvény az alapértelmezett 1-es érték lépésszámát is elfogadja.
# 1-től 10-ig terjedő számsor 1-es lépésszámmal. seq(1, 10)
kimenet:
# Számsorozat 2 lépésnyi szekvenciával (0, 20, by=2)
kimenet:
# 10-től 20-ig terjedő számsor, amelynek hossza 5 (egyenlő távolságra vannak) seq(10, 20, len=5)
kimenet:
A ismétlés() függvény vektor létrehozására szolgál meghatározott értékek replikálásával
rep(1:3, times=3) # ismétlés (1,2,3) 3x ismétlés(4:6, 2) # ismétlés (4,5,6) 2x ismétlés(1:3, mindegyik=3) # ismétlés mindegyik (1,2,3) 3x rep(c('one', 'two', 'IGAZ'), times=1:3) # repeat ('one', 'two', 'TRUE') frist elem 1x, második elem 2x és harmadik elem 3x
kimenet:
2) Tömbök és mátrixok
A funkció tömb () tömbök létrehozására szolgál és mátrix() mátrixokhoz. A tömbök mátrixokká alakíthatók a homályos() tulajdonság.
A segítségével sor- vagy oszlopmátrixok hozhatók létre rbind() és a cbind() funkciókat.
mat <- mátrix(1:12, nrow=3, ncol=4) mat dim(mat)
kimenet:
arr <- array(1:12) arr
kimenet:
dim(arr) <- c(3,4) arr
kimenet:
x <- 1:5 y <- 6:10 cbind(x, y) rbind(x, y)
kimenet:
3) Listák
Csakúgy, mint a python listák, az R listái heterogén tárolók, és a következővel jönnek létre lista () funkciót.
L <- lista(10, 'név', IGAZ, 0.5) L
kimenet:
- 10
- 'név'
- TRUE
- 0.5
l <- lista(x=1:3, y=c('a', 'b', 'c'), z=c(T, F, F)) l
kimenet:
4) Tényezők
A kategorikus és sorszámú adatokat az R-ben szereplő tényezők segítségével ábrázoljuk a tényező() funkció. A faktorszintek tartalmazzák az összes lehetséges értéket, amelyet az elemek felvehetnek.
f1 <- tényező(rep(1:3, idő=2)) f1 f2 <- tényező(c('a', 7, 'kék', 'kék')) f2
kimenet:
x <- tényező(c("igaz", "hamis", "hamis", "igaz", "igaz"), szintek = c("hamis", "igaz")) x
kimenet:
z <- faktor( c("Thr", "Thr", "Péntek", "Th", "Sze", "Sze", "Hétfő", "Ked"), levelek = c("H", "Ked" ", "Sze", "Thr", "Péntek"), rendezett = IGAZ ) z
kimenet:
faktor(c("H", "H", "T", "H", "T")) táblázat(tényező(c("H", "H", "T", "H", "T") )))
kimenet:
5) Adatkeretek
A Pythonnal ellentétben az R-nek beépített DataFrame tárolója van, és a Pandashoz hasonlóan működik. A data.frame() függvényt használjuk, ahol az argumentumok vektorok:
d <- c(1,2,3,4) e <- c('piros', 'sárga', 'zöld', NA) f <- c(TRUE, TRUE, HAMIS, IGAZ) mydataframe <- adatok. frame(d,e,f) mydataframe
kimenet:
Az oszlopok nevét a segítségével szerkeszthetjük nevek () funkció:
nevek(sajatadatkeret) <- c("ID", "Szín", "Megvizsgálva")
mydataframe
kimenet:
Vagy megadhatja a nevet az adatkeret létrehozásakor:
dataframe3 <- data.frame(Age=c(50,35,71), Name=c('Joe', 'április', 'barna'), Passed=c(TRUE, HAMIS, IGAZ)) dataframe3
kimenet:
Az egyes oszlopokat (vektorokat) a $ jellel és a vektor nevével érhetjük el:
# a 'Color' vektor lekérése a DataFrame mydataframe$Color-ból
kimenet:
'piros'. 'sárga'. 'zöld'. NA
Indexelés, szeletelés és szakaszolás R-ben
Az elemek indexeléséhez vagy kiválasztásához [, [[ vagy $ operátort használunk.
1) Vektorok és mátrixok
lényegében 4 féle értéket tehetünk zárójelbe [
- pozitív egész számok vektora, amely esetben a megadott elemeket kinyerjük,
- negatív egész számok vektora, ahol ezeket az elemeket eltávolítjuk,
- a kérdéses vektorral azonos hosszúságú logikai operátor logikai értéket ad vissza, vagy
- egy karaktervektor, ahol az elemek kinyerhetők
x 10 # logikai (T/F) értékkel tér vissza, ha x eleme nagyobb, mint 10 x[x>10] # x elemeinek kibontása, amelyek nagyobbak 10-nél
kimenet:
x <- 1:5 # 0-tól 20-ig terjedő sorozat hozzárendelése 2-es lépésekben az x változókhoz names(x) <- c("a", "b", "c", "d", "e") # rendelj hozzá neveket az x x vektorhoz
kimenet:
Hasonló indexelés végezhető mátrixokon és tömbökön is. Itt a vesszőket használjuk a méret meghatározására:
a <- 1:10 # tömb dim(a) <- c(2, 5) # mátrixgá aa[1,1] # kivonja az a mátrix elemét a sor=1, col=1 a[2, ] # kivonja az a mátrix második sorát a[, 5] # kivonja az a mátrix ötödik oszlopát (minden sor) a[, 2:4] # kivonja az a mátrix 2-4 oszlopait (minden sor)
kimenet:
2) Listák és DataFrame
A listák és a DF használatakor [[ és $-t is használunk.
mylist <- list(Logic = c(TRUE, FALSE, TRUE), Value = 1:3, Name = c("alma", "mac", "pc")) mylist # lista nyomtatása mylist[1] # nyomtatás a lista 1. eleme mylist$Name # nyomtatás nevek használatával
kimenet:
mylist[2] # a mylist typeof(mylist[2]) második elemének kinyerése # mylist[2] mylist[[2]] # mylist[2] typeof(mylist[2]] értékei) # mylist típusa[2]
kimenet:
Adatok importálása R-ben
1. A read.table() függvény táblázatos adatok adatkeretként történő importálására szolgál.
2. formátum – read.table( file_path , header = True, sep=” , ” )
3. header = True azt mondja R-nek, hogy az adatoknak van neve az oszlopoknak, és így a fájl első sorát használja oszlopnévként. A False az alapértelmezett érték, ha nincs megadva, akkor a program feltételezi, hogy a fájlnak nincs fejléce.
4. szeptember megadja a forrásfájlban használt határolót, például .csv fájlok a Kaggle-ben való adatok tárolására szolgálnak, ezért az alábbi kódunk adatainak betöltéséhez a vesszőt használjuk elválasztóként.
Példa: Az Iris adatkészlet importálása és az első 5 bejegyzés megtekintése:
path_iris = '../input/iris/Iris.csv' iris <- read.table(file=íriszútvonal, fejléc= IGAZ, sep =',') iris[1:5, ]
kimenet:
Titanic adatkészlet importálása és az első 5 bejegyzés megtekintése:
path_titanic = '../input/titanic/train.csv' titanic <- read.table(file=path_titanic, header= TRUE, sep =',') titanic[1:5, ]
kimenet:
Ellenőrző nyilatkozatok
A Controloll utasítások lehetővé teszik számunkra, hogy logikát vigyünk be kódjainkba. Az olyan kijelentések, mint Ha, ha más és a hurkok a Pythonhoz hasonlóan fut, így ez a szakasz egyszerűbb lehet azok számára, akik már ismerik.
1) If() utasítás
Syntax:
if (Feltétel)
{ Nyilatkozat }
A kód {utasítás} része csak akkor fut le, ha az If utasítás {feltétele} része teljesül. Ha a feltétel nem teljesül, az R értelmező kihagyja a kódnak azt a szegmensét.
Példa:
if (1 == 1) { print("igen!!")}
kimenet:
Igen!!
Jegyzet:
- Az if() utasítás csak egyetlen elemet tud ellenőrizni, vektort nem. Ha vektorra alkalmazza, akkor csak azt ellenőrzi, hogy az első elem teljesíti-e a feltételt.
- Ha az első elem nem teljesíti a feltételt, akkor egyik utasítás sem hajtódik végre, és nem végzetes figyelmeztetés jelenik meg, amely jelzi, hogy az if() utasítás törzse nem hajtódik végre. bármely() vagy all() függvényt kell használni a vektor igazságának ellenőrzésére.
- Egysoros állításoknál a göndör kapcsos zárójelek elhagyhatók, de célszerű megtartani őket.
Példa:
x =5) {x^2}
x 0)) {x^2} x =10)) {x^2}
kimenet:
2) Az If/else If/else nyilatkozat
Syntax:
if (Állapot) { Nyilatkozat }
egyébként, ha { Nyilatkozat }
más { Nyilatkozat }
(x <- runif(1, 0, 10)) # húzzunk egy véletlen számot egy egyenletes távolságból b/w 0 nd 1 if(x < 3) { # if x <3 rendeljen 10 értéket az yy 3 változóhoz && x < 6) { # else ha x 3 és 6 között van, rendeljen 0 értéket az yy változóhoz <- 0 } else { # else hozzárendelje a -10-et az yy <- -10 } y változóhoz
kimenet:
2.79287837212905 10
3) Míg hurok
A while ciklus egy feltétel ellenőrzésével kezdődik. Ha teljesül, a ciklus elindul, és a törzsben lévő összes utasítás végrehajtásra kerül. Miután a törzs véget ér, a feltételt újra ellenőrzik, és ha teljesül, a ciklus folytatódik.
Syntax:
i = 0
míg (i<5) {
nyomtatás (i^2)
i = i + 1
}
i = 0 # inicializálja az i-t while (i < 10){ # while i = 10}
kimenet:
[1] "hello" [1] "hello" [1] "hello" [1] "hello" [1] "hello" [1] "hello" [1] "hello" [1] "hello" [1 ] "hello" [1] "hello"
4) next és break utasítás
- következő bármely ciklus egyetlen iterációjának kihagyására szolgál
- szünet a ciklusból való kilépésre szolgál akkor és ott
# Az első 5 iteráció kihagyása for(i in 1:10) { if(i <= 5) { next } print(i^2) }
kimenet:
[1] 36 [1] 49 [1] 64 [1] 81 [1] 100
# nyomtat i-t 5-ig, és állítsa le a for(i) ciklust 1:10-ben { print(i) if(i > 5) { break } }
kimenet:
[1] 1 [1] 2 [1] 3 [1] 4 [1] 5 [1] 6
5) A hurokhoz
A for ciklusoknak előre meghatározott számú iterációjuk van, és ehhez használjon változót. Leginkább iterálható objektumok feletti iterációra használják, mint a python.
Syntax:
mert (iterátor) {
Nyilatkozat }
for (i 1:5){ print(i + 1) }
kimenet:
[1] 2 [1] 3 [1] 4 [1] 5 [1] 6
A seq_along() függvény analóg a len () függvény a pythonban, egész sorozat generálására szolgál az iterátor hossza alapján.
kimenet:
[1] "hétfő" [1] "ked" [1] "sze" [1] "cs" [1] "péntek" [1] "szombat" [1] "vasárnap"
6) Beágyazott hurkok számára
- A Beágyazott ciklusokhoz használható nagyobb dimenziójú objektumokkal, például listákkal vagy mátrixokkal való munkához.
- A túl sok beágyazás azonban tönkreteheti a kód olvashatóságát, ezért általában javasolt a fészkek számát 2-3 max.
x <- mátrix(1:6, 2, 3) for(i in seq_len(nrow(x))) { for(j in seq_len(ncol(x))) { print(x[i, j]) } }
kimenet:
[1] 1 [1] 3 [1] 5 [1] 2 [1] 4 [1] 6
Funkciók
A függvények egy adott eredmény eléréséhez használt parancsok kötege. Általában a kód redundanciájának csökkentésére használják.
A függvény létrehozásának szintaxisa R-ben a következő:
az én funkcióm <- funkció(arg1, arg2)
{
végrehajtandó kódot
}
Ennek a függvénynek a neve funkcióm és 2 érvet fogad el. A függvények végrehajthatnak néhány utasítást, vagy felhasználhatók értékek visszaadására. A függvény használatához egyszerűen írjuk be:
funkcióm(var1, var2)
Példa 1:
Készítsünk függvényt a Pythagoras-tétel segítségével. A tétel azt mondja ki "Egy derékszögű háromszög befogójának hosszának négyzete egyenlő a másik két oldal hosszának négyzeteinek összegével."
Ahol a, b és c a derékszögű háromszög oldalai. Most hozzunk létre egy függvényt a hipotenusz megkeresésére, ha az oldalak adottak:
pyth <- function(x, y) { return(sqrt((x)^2 +(y)^2)) } pyth(3, 4)
kimenet:
5
Példa 2:
Írjunk függvényt a vektor összes elemének szórásának kiszámítására.
stdev <- function(x) { s <- sqrt(sum((x - mean(x))^2)/(hossz(x)-1)) s } z <- rnorm(20) stdev(z)
kimenet:
1.0321309737329
DataFrame manipuláció segítségével dplyr R-ben
Az előző cikkben megtanultuk, hogyan importálhatunk strukturált adatokat DataFrame formájában a notebookunkba az R alap használatával. Ebben a részben megtanuljuk, hogyan kezeljük ezeket az adatokat következtetések levonásához és vizualizációk készítéséhez.
dplyr úgy lehet felfogni, mint a pandák Az R-ből sok mindent meg lehet csinálni egy DataFrame-mel, és hektikussá válik a natív R-ben csinálni. dplyr Van benne egy sor „igék”, egy saját maguk által kitalált kifejezés, amely segít a felhasználónak a legtöbb gyakori manipulációs kihívás megoldásában. Néhány ilyen „igék” a következők:
select() -
nevük alapján választja ki a változókatfilter() -
értékeik szerint választja ki az eseteketarrange() -
átrendezi a sorokatmutate() -
hozzáad és megtart egy meglévő változótsummarise()-
több értékből összefoglaló értéket hoz létregroup_by() -
segít a kötegelt műveletek végrehajtásában csoportokon
Most bemutatjuk a fenti „igék” használatát
# importáló könyvtár könyvtár(dplyr)
az adatok importálása:
path_iris = '../input/iris/Iris.csv' iris <- read.table(file=írisz útvonala, fejléc= IGAZ, sep =',') iris[1:5, ] path_titanic = '../input/ titanic/train.csv' titanic <- read.table(file=path_titanic, header= TRUE, sep =',') titanic[1:5, ]
kimenet:
1. select()
data(iris) names(iris)[1:3] # kivonja az írisz adatkészlet első három oszlopát
kimenet:
'Csészelevél.Length' . 'Sepal.Width' . "Petal.Length"
df <- select(írisz, csészelevél.hossz:szirom.hossz) fej(df)
kimenet:
belül használjuk a '-' jelet select() hogy kihagyjuk a nem kívánt változókat.
df <- select(írisz, -(faj)) fej(df, 3)
kimenet:
A select() másik csodálatos tulajdonsága, hogy lehetővé teszi számunkra, hogy bizonyos minták alapján jelöljünk ki sorokat. Ez segítségével történik "kezd_vel"() és a "végződik"()
df_sepal <- select(írisz, "starts_with"('Sepal')) head(df_sepal, 3)
2. filter()
Csakúgy, mint select() oszlopok kivonására használták, szűrő() a DataFrame sorainak kinyerésére szolgál. Hasonló a részhalmaz() funkció a natív R-ben.
# szűrje ki a megfigyeléseket 6 cm-nél nagyobb csészelevélhosszal iris_filt 6.0) str(iris_filt)
kimenet:
data(írisz) írisz_szűrő 6.0 & Szirom.Hossz < 6.0 ) fej(írisz_szűrő)
kimenet:
3. rendez()
Ez a funkció a DataFrame átrendezésére szolgál egy adott oszlop szerint. Az alapértelmezett a növekvő sorrend. Rendezzük át titanic DataFrame-ünket életkor szerint, a legfiatalabbtól a legidősebbig.
titanic_age_arraned <- arrange(titanic, Age) head(titanic_age_arraned, 3) tail(titanic_age_arraned, 3)
kimenet:
4. átnevezés()
A rename() függvény az oszlopnevek megváltoztatására szolgál. a szintaxis a következő:
adatkeret <- rename( adatkeret, 'új_név_1' = régi_név_1' , 'új_név_2' = régi_név_2'….)
itt egy példa:
fej (írisz, 3)
kimenet:
írisz <- rename(iris, 'sepal_length_[cm]'= Sepal.Length, 'sepal_width_[cm]'=Csészelevél.Szélesség, 'petal_length_[cm]'=Szirom.Hossz, 'szirom_szélesség_[cm]'=Szirom.Szélesség ) fej (írisz, 3)
kimenet:
5. mute()
mute() egy új oszlop egy meglévő oszlopból való származtatására szolgál, a szülőoszlop megváltoztatása nélkül. Például hozzunk létre egy új oszlopot az Iris adatkeretben, amely az összes bejegyzés szirmainak és csészeleveleinek hossz-szélesség arányát mutatja.
data(iris) írisz <- mutate(iris, 'Petal_L2W_ratio' = Szirom.hossz/szirom.szélesség, 'Sepal_L2W_ratio' = Sepal.Length/Sepal.Width) fej(írisz, )
kimenet:
Van egy hasonló funkció, átalakít() amely lényegében ugyanazt csinálja, mint mute(), de eldobja az összes nem átalakított oszlopot:
írisz <- transmute(iris, 'Petal_L2W_ratio' = Szirom.Hossz/Szirom.Szélesség, 'Sepal_L2W_ratio' = Csészelevél.Hossz/Szirom.Szélesség) fej(írisz, 3)
kimenet:
Tervezés R-vel
Az adatok megjelenítése minden adattudományi projekt nagyon fontos része. Segít közvetíteni az adatok által elmondott üzenetet és történetet. Az R-nek saját vizualizációs könyvtára van, a ggplot2, amely az egyik legjobb vizualizációs könyvtár. A cikk későbbi részében a ggplot2-vel foglalkozunk, de először ismerkedjünk meg az R nyelvben honos vizualizációs technikákkal.
1. Hisztogram
életkor <- titanic$Age hist(age, xlab='Age', main="Utasok hisztogramja Életkor" )
2. Boxplot
y <- rnorm(100, mean=80, sd=3) boxplot(y, xlab='Y-változó', main='valószínűségi változó boxplotja' )
3. Szórásdiagram
x <- runif(20) y <- 2 +3*x + rnorm(20) plot(x, y, xlab='x-axis', ylab='y-axis', main='A címet kérem', )
4. Vonalrajz
x <- seq(-4, 4, len=100) y <- dnorm(x, mean=0, sd=1) plot(x, y, type='l', col='blue') title(' A standard normál sűrűsége')
5. Barplot
adat <- data.frame( név=c("A","B","C","D","E") , érték=c(3,12,5,18,45) ) barplot(adat $érték, nevek.arg=adat$név, horiz=HAMIS, xlab='Nevek', ylab='Érték', main='Barplot')
6. Piechart
szeletek <- c(36448.797, 26288.683, 23596.661, 3028.636, 2605.979, 1895.095) címkék <- c("Ázsia", "Észak-Amerika", "Európa", "Dél-Afrika" pite", "Oánia" szeletek, címkék = címkék, sugár = 2.0, main="2021 nominális GDP (milliárd dollár)")
Vizualizálás segítségével ggplot2
című könyvben bemutatott ötletek köré épül fel a ggplot2 könyvtár A grafika nyelvtana (statisztika és számítástechnika) Segítségével könnyedén hozhatunk létre összetett telkeket 3 fő összetevő használatával: adatok, koordinátarendszer, és a geometria. Azt is megmondhatjuk a ggplot2-nek, hogy milyen esztétikát használjon, például színt, formát, méretet stb.
szintaxis:
ggplot(data, aes())+
geom()
adatok – használt adatkészlet
aes() – esztétika
geom() – geometria. itt sok lehetőséged van. Azt javaslom, nézze meg ezt puska e fogalom sokkal jobb megértéséhez
Lássunk neki!
# import ggplot2 könyvtár könyvtár(ggplot2)
1. Szórásdiagram
p1 <- ggplot(írisz, aes(x = csészelevél.hossz, y = csészelevél.szélesség, szín = faj)) + geom_point() p1
2. Hisztogram
p2 <- ggplot(írisz, aes(x = szirom. hossz, kitöltés = faj)) + geom_hisztogram(binwidth=0.2, alfa=0.75) p2
3. Doboztelek
p3 <- ggplot(írisz, aes(x = faj, y = csészelevél.hossz, kitöltés = faj)) + geom_boxplot() p3
4. Barplot
fokozatok <- c('A', 'B', 'C', 'D', 'F') count <- c(8, 26, 44, 15, 7) data_grades <- data.frame(x = osztályzatok , y = számlálás) p4 <- ggplot(data_grades, aes(x = osztályzatok, y = count, fill = osztályzatok)) + geom_col(alpha=0.6) p4
5. Sűrűség diagram
p5 <- ggplot(írisz, aes(x = Sepal.Length, fill = Faj)) + geom_density(alpha=0.35) p5
6. Hegedű cselekmény
p6 <- ggplot(írisz, aes(x = faj, y = csészelevél. hossz, kitöltés = faj)) + geom_violin(alfa=0.6) p6
7. Kördiagram
Jegyzet: Ahhoz, hogy kördiagramot készítsünk, a kombinációt kell használnunk geom_bar() és a coord_polar()
szeletek <- c(36448.797, 26288.683, 23596.661, 3028.636, 2605.979, 1895.095) címkék <- c("Ázsia", "Észak-Amerika", "Európa", "Dél-Amerika", "Ázsia"adat - data.frame(értékek = szeletek, csoportok = címkék ) ggplot(data_gdp, aes(x="", y=values, fill=groups)) + geom_bar(stat="identitás", alpha=0.5) + coord_polar(" y", start=0) + theme_void() # ez a sor a háttérrács törlésére szolgál
8. Vonalrajz
# új adatkészlet létrehozása x <- seq(0, 1000, len=500) y <- log(x + 1) data <- data.frame( x = x, y = y) # line plot ggplot(data, aes (x=x, y=y))+ geom_line()
9. Térképek
## https://www.maths.usyd.edu.au/u/UG/SM/STAT3022/r/current/Misc/data-visualization-2.1.pdf adatok adaptálása <- data.frame(assault = USArrests$ Támadás, állapot = tolower(sornevek(USArrests))) map <- map_data("állam") map_plot <- ggplot(data, aes(fill = támadás)) + geom_map(aes(térkép_azonosító = állapot), térkép = térkép,) + expand_limits(x = térkép$hosszú, y = térkép$szélesség)+ scale_fill_continuous(low = "világoskék", magas = "lazac") map_plot
Korrelációs hőtérkép segítségével corrplot
A korrelációs hőtérkép hasznos a több változó közötti korreláció ábrázolására. Ebben a példában a könyvtárat fogjuk használni corrplot korrelációs hőtérkép létrehozásához a Lakásár adatkészleten.
#importing library library(corrplot)
options(repr.plot.width = 10, repr.plot.height = 10) numeric_var <- names(house)[which(sapply(house, is.numeric))] house_cont <- house[numeric_var] korrelációk <- cor( na.omit(ház_kont[,-1])) corrplot(korrelációk, method="négyzet", type='lower', diag=FALSE)
Végjegyzetek
Ebben a cikkben az alapoktól kezdtük, és megnéztük, mik azok a változók, és hogyan rendelhetünk hozzájuk értékeket. Ezután megismerkedtünk az R-ben használt natív adattípusokkal és általános adatstruktúrákkal. Ezután megtanultuk, hogyan lehet ezekből az adatstruktúrákból kivonni a kívánt részeket. Végül megtanultuk, hogyan importálhatunk adatokat, és hogyan használhatunk különböző vezérlőstruktúrákat, például ciklusokat és feltételes utasításokat az R-ben.
Ezután megismerkedtünk az R használatának adatelemzési részével. Megtanultuk, hogyan lehet vámfüggvényeket létrehozni, majd elkezdtük az adatkeretek kezelését. dplyr. Ezután a natív R-t és egy robusztus viz-könyvtárat használó vizualizációkba merültünk bele gglot2. Köszönöm, hogy elolvasta cikkem. Remélem, tetszett.
További cikkeimet itt olvashatod:
Sion | Az Analytics Vidhya szerzője
Referenciák
1. kép: https://www.r-project.org/logo/
Az ebben a cikkben bemutatott médiák nem az Analytics Vidhya tulajdonát képezik, és a Szerző belátása szerint használják azokat.
- '
- "
- &
- 100
- 116
- 2021
- 7
- 77
- 9
- hozzáférés
- tanács
- Afrika
- Minden termék
- Amerika
- között
- elemzés
- analitika
- Apple
- április
- érvek
- körül
- cikkben
- cikkek
- Ázsia
- Alapjai
- BEST
- test
- Doboz
- Csomag
- esetek
- változik
- ellenőrzése
- felhő
- kód
- Oszlop
- Közös
- számítástechnika
- Konténer
- Konténerek
- tovább
- létrehozása
- vámhatóság
- dátum
- adatelemzés
- adat-tudomány
- nap
- Dimenzió
- vége
- Környezet
- stb.
- Európa
- Kilépés
- Funkció
- vezetéknév
- első
- forma
- formátum
- Ingyenes
- funkció
- GDP
- geometria
- jó
- Nyelvtan
- Zöld
- fej
- itt
- Magas
- tart
- Ház
- Hogyan
- How To
- HTTPS
- Identitás
- importáló
- információ
- IT
- csatlakozik
- Kulcs
- Címkék
- nyelv
- Nyelvek
- TANUL
- tanult
- tanulás
- könyvtár
- vonal
- Lista
- listák
- szerelem
- esőkabát
- gépi tanulás
- Gyártás
- Manipuláció
- térkép
- Térképek
- Média
- nevek
- Közel
- Északi
- Észak Amerika
- számok
- hivatalos
- Művelet
- Vélemények
- Opciók
- érdekében
- Más
- PC
- ár
- Program
- Programozás
- program
- Piton
- olvasók
- Olvasás
- miatt
- csökkenteni
- regresszió
- Visszatér
- futás
- Tudomány
- tudósok
- másodlagos
- készlet
- Egyszerű
- Méret
- So
- SOLVE
- Dél
- Dél-Amerika
- négyzet
- kezdődött
- Állami
- nyilatkozat
- Államok
- statisztika
- tárolni
- rendszer
- Műszaki
- megmondja
- Az alapok
- The Source
- idő
- oktatói
- us
- érték
- Veterans
- Megnézem
- megjelenítés
- háború
- WHO
- Munka
- művek
- X