Funkciók R-ben Különböző típusú funkciók az R szintaxisával és példákkal

Tartalomjegyzék:

Anonim

Bevezetés a funkciókba R

A függvény az utasítások halmaza, amely bármilyen logikai feladat elvégzésére és végrehajtására szolgál. A Function néhány bemeneti paramétert igényel, amelyek argumentumnak tekinthetők a feladat végrehajtásához. A funkciók segítségével a kódot egyszerűbb darabbá oszthatják, mivel logikusan hangolják el, ami könnyebben olvasható és érthető. Ebben a témában megismerjük az R funkcióit.

Hogyan írhatunk R funkciókat?

A függvény R-beírásához itt van a szintaxis:

Fun_name <- function (argument) (
Function body
)

Itt láthatjuk, hogy az „R” -ben a „függvény” -hez tartozó fenntartott szót használjuk bármilyen funkció meghatározására. A függvény inputot vesz fel, argumentumok formájában. A függvénytest logikai utasítások halmaza, amelyeket argumentumokkal hajtanak végre, majd visszaadják a kimenetet. A „Fun_name” a függvénynek adott név, amelyen keresztül az R program bárhol meghívható.

Lássunk egy példát, amely sokkal tisztább lesz a funkció funkciójának megértésében R-ben.

R kód

Multi <- function(x, y) (
# function to print x multiply y
result <- x*y
print(paste(x, "Multiply", y, "is", result))
)

Kimenet:

Itt létrehoztuk a „Multi” funkciónevet, amely két argumentumot vesz bemenetként és biztosítja a szorzott kimenetet. Az első argumentum x, a második argumentum pedig y. Mint láthatja, a funkciót „Multi” néven hívtuk. Itt, ha valaki akar, az argumentumokat az alapértelmezett értékre is beállíthatja.

Különböző típusú funkciók az R-ben

Különböző R funkciók szintaxissal és példákkal (beépített, matematikai, statisztikai stb.)

1) Beépített funkció -

Ezek azok a funkciók, amelyek az R-vel egy adott feladat megoldására szolgálnak, amikor argumentumot vesznek bemenetként, és az adott bemeneten alapuló outputot adnak. Itt tárgyaljuk az R néhány fontos általános funkcióját:

a) Rendezés: Az adatok lehetnek növekvő vagy csökkenő sorrendben. Az adat lehet, hogy folytatódik-e a változó vagy faktor-változó.

Szintaxis:

Itt található a paraméterek magyarázata:

  • x: Ez a folyamatos változó vagy tényező változó vektorja
  • csökkenő: Ezt igaz / hamis értékre lehet állítani a növekvő vagy csökkenő sorrend vezérlésére. Alapértelmezés szerint FALSE.
  • utoljára: Ha a vektor NA-értékekkel rendelkezik, akkor utolsónak kell-e hagyni, vagy sem

R-kód és kimenet:

Itt észrevehető, hogy a „NA” értékek hogyan igazodnak a végéhez. Mivel a na.last = True paraméter igaz volt.

b) Seq: A megadott számok sorozatát generálja két megadott szám között.

Szintaxis

Itt található a paraméterek magyarázata:

  • from, a szekvencia kezdő és záró értéke.
  • Írta: Növelés / távolság két egymást követő szám között egymás után
  • length.out: a szekvencia szükséges hossza.
  • Along.with: Az érvelés hosszától függ

R-kód és kimenet:

Itt észrevehető a generált szekvencia 2-es növekedése, mivel a 2-vel definiálva van.

c) Toupper, tolower: A két függvény: toupper és tolower azok a függvények, amelyeket a karakterláncon alkalmaznak, hogy megváltoztassák a betűk mondatban mondatát.

R-kód és kimenet:

Észrevehető, hogy a betűk esete megváltozik, amikor a funkcióra alkalmazzák.

d) Rnorm: Ez egy beépített funkció, amely véletlenszerű számokat generál.

R-kód és kimenet:

Az rnorm függvény veszi az első érvet, amely azt mondja, hogy hány számot kell generálni.

e) Rep: Ez a funkció a megadott számú alkalommal replikálja az értéket.

R szintaxis: rnorm (x, n)

Itt x replikációs értéket jelent, n pedig replikálási hányszor jelöli.

R-kód és kimenet:

f) Beillesztés: Ez a funkció a karakterláncokat összekapcsolja, a közöttük lévő speciális karakterekkel együtt.

szintaxis

paste(x, sep = “”, collapse = NULL)

R kód

paste("fish", "water", sep=" - ")

R kimenet:

Mint látható, több mint két karakterláncot is beilleszthetünk. Sep az a specifikus karakter, amelyet a karakterláncok között adtunk hozzá. Alapértelmezés szerint a sep szóköz.

Még egy hasonló funkció létezik, mint ez, amelyet mindenkinek tudnia kell, a paste0.

A paste0 (x, y, collapse) függvény hasonlóan működik, mint a paste (x, y, sep = “”, összecsukás)

Kérjük, olvassa el az alábbi példát:

Egyszerű szavakkal, a paste és paste összefoglalására:

A Paste0 gyorsabb, mint a paszta, amikor a vonóságok összekapcsolására szolgál elválasztó nélkül. Mivel a paszta mindig a „sep” kifejezést keresi, amely alapértelmezés szerint helyet foglal el.

g) Strsplit: Ez a funkció a húr felosztására szolgál. Lássuk az egyszerű eseteket:

h) Rbind: Az rbind funkció segíti az azonos oszlopszámú vektorok fésülését, egymással szemben.

Példa

i) cbind: Ez a vektorokat egyesíti azonos számú sorral, egymás mellett.

Példa

Ha a sorok száma nem egyezik, akkor az alább látható hiba található:

A cbind és az rbind egyaránt segít az adatkezelésben és az átalakításban.

2) Matematikai funkció -

Az R a matematikai funkciók széles skáláját kínálja. Nézzük meg néhányat részletesebben:

a) Sqrt: Ez a függvény kiszámítja egy szám vagy numerikus vektor négyzetgyökét.

R-kód és kimenet:

Látható, hogyan lehet kiszámítani egy szám, komplex szám és a numerikus vektor sorozatának négyzetgyökét.

b) Exp: Ez a funkció kiszámítja egy szám vagy numerikus vektor exponenciális értékét.

R-kód és kimenet:

c) Cos, Sin, Tan: Ezek itt R-ben megvalósított trigonometria függvények.

R-kód és kimenet:

d) Abs: Ez a függvény egy szám abszolút pozitív értékét adja vissza.

Mint láthatja, egy szám negatív vagy pozitív visszatér abszolút formájában. Nézzük meg egy komplex számhoz:

e) Napló: Ennek célja egy szám logaritmusának megkeresése.

Az alábbiakban bemutatott példa:

Itt rugalmasságot kap az alap megváltoztatása, a követelményeknek megfelelően.

f) Cumsum: Ez egy matematikai függvény, amely halmozott összegeket ad. Itt van az alábbi példa:

g) Cumprod: A Cumsum matematikai függvényéhez hasonlóan olyan cumprod van, ahol kumulatív szorzás történik.

Kérjük, olvassa el az alábbi példát:

h) Max, Min: Ez segít megtalálni a maximális / minimális értéket a számkészletben. Lásd alább az ehhez kapcsolódó példákat:

i) Mennyezet: A mennyezet egy matematikai függvény, amely a megadottnál nagyobb egész számot adja vissza.

Nézzünk egy példát:

mennyezet (2, 67)

Mint észrevehetjük, a felső határt számra és egy listára egyaránt alkalmazzuk, és a kimenő output a következő nagyobb egész szám közül a legkisebb.

j) Padló: A padló egy matematikai függvény, amely a megadott szám legkisebb egész számát adja vissza.

Az alább látható példa segít jobban megérteni:

Ugyanígy működik a negatív értékeknél is. Kérem nézze meg:

3) Statisztikai funkciók -

Ezek a függvények leírják a kapcsolódó valószínűség-eloszlást.

a) Medián: Ez számította a mediánt a számsorból.

Szintaxis

R-kód és kimenet:

b) Dnorm: Ez a normál eloszlásra vonatkozik. A dnor függvény a valószínűség-sűrűség függvény értékét adja vissza a normál eloszláshoz, megadva az x, μ és σ paramétereket.

R-kód és kimenet:

c) Cov: A kovariancia megmutatja, ha két vektor pozitív, negatív vagy teljesen nem rokon.

R kód

x_new = c(1., 5.5, 7.8, 4.2, -2.7, -5.5, 8.9)
y_new = c(0.1, 2.0, 0.8, -4.2, 2.7, -9.4, -1.9)
cov(x_new, y_new)

R kimenet:

Mint láthatja, két vektor pozitív kapcsolatban áll, ami azt jelenti, hogy mindkét vektor azonos irányba mozog. Ha a kovariancia negatív, az azt jelenti, hogy x és y fordítva vannak, és ellentétes irányba haladnak.

d) Cor: Ez a vektorok közötti korreláció megtalálásának funkciója. Valójában megadja a két vektor közötti asszociációs tényezőt, az úgynevezett „korrelációs együtthatót”. A korreláció fokozási tényezőt ad a kovariancia fölött. Ha két vektor pozitív korrelációban van, akkor a korreláció azt is megmutatja, mennyi kiterjedésük van pozitív kapcsolatban.

A három módszer típusa, amely felhasználható korreláció megállapítására két vektor között:

  1. Pearson-korreláció
  2. Kendall-korreláció
  3. A Spearman korreláció

Egyszerű R formátumban a következőképpen néz ki:

cor(x, y, method = c("pearson", "kendall", "spearman"))

Itt x és y vektorok.

Lássuk a beépített adatkészlet közötti korreláció gyakorlati példáját.

Tehát itt látható a „cor ()” függvény 0, 41 korrelációs együtthatót adva a „qsec” és az „mpg” között. Ugyanakkor bemutattak még egy függvényt, azaz „cor.test ()”, amely nemcsak a korrelációs együtthatót, hanem a hozzá tartozó p-értéket és t-értéket is megmutatja. Az értelmezés sokkal könnyebbé válik a cor.test funkcióval.

Hasonló lehet a másik két korrelációs módszerrel:

A Pearson-módszer R kódja:

my_data <- mtcars
cor(my_data$qsec, my_data$mpg, method = " pearson ")
cor.test(my_data$qsec, my_data$mpg, method = " pearson")

A Kendall-módszer R kódja:

my_data <- mtcars
cor(my_data$qsec, my_data$mpg, method = " kendall")
cor.test(my_data$qsec, my_data$mpg, method = " kendall")

R kód a Spearman módszerhez:

my_data <- mtcars
cor(my_data$qsec, my_data$mpg, method = "spearman")
cor.test(my_data$qsec, my_data$mpg, method = "spearman")

A korrelációs együttható -1 és 1 között van.

Ha a korrelációs együttható negatív, az azt jelenti, hogy amikor x növekszik, akkor az y csökken.

Ha a korrelációs együttható nulla, ez azt jelenti, hogy nincs kapcsolat x és y között.

Ha a korrelációs együttható pozitív, akkor ez azt jelenti, hogy amikor x növekszik, akkor az y szintén növekszik.

e) T-teszt: A T-teszt megmondja, hogy két adatkészlet ugyanazon (feltételezve) normál eloszlásból származik-e vagy sem.

Itt el kell utasítani a nulla hipotézist, miszerint a két átlag egyenlő, mivel a p-érték kisebb, mint 0, 05.

Ez a bemutatott példány típusa: páratlan adatkészletek egyenlőtlen eltérésekkel. Hasonlóképpen kipróbálható a páros adatkészlettel is.

f) Egyszerű lineáris regresszió: Ez megmutatja az előrejelző / független és a válasz / függő változó közötti kapcsolatot.

Egy egyszerű gyakorlati példa lehet egy ember súlyának előrejelzése, ha a magasság ismert.

R szintaxis

lm(formula, data)

A képlet a kimeneti, azaz y és az iex bemeneti változó közötti viszonyt ábrázolja. Az adatok azt az adatkészletet képviselik, amelyre a képletet alkalmazni kell.

Lássuk egy gyakorlati példát, ahol a alapterület a bemeneti változó, a bérleti díj pedig a kimeneti változó.

x <- c (1510, 1000, 600, 500, 1280, 136, 1790, 1630)

y <- c (15000, 10000, 6000, 5000, 12800, 13600, 17900, 16300)

Itt a P-érték legalább 5%. Ezért a nullhipotézist nem lehet elutasítani. A földterület és a bérleti kapcsolat kapcsolatának bizonyítására nincs jelentősége.

Itt az R-négyzet értéke 0, 4813. Ez azt jelenti, hogy a kimeneti változó varianciájának csak 48% -a magyarázható a bemeneti változóval.

Tegyük fel, hogy most meg kell becsülnünk a padlóterület értékét, a fent felszerelt modell alapján.

R kód

x_new <- data.frame(x = 1700)
result <- predict(relation, x_new)
print(result)

R kimenet:

A fenti R kód végrehajtása után a kimenet a következőképpen néz ki:

A regresszió illeszthető és megjeleníthető. Íme az R kód:

# Adjon nevet a png chart fájlnak.

png(file = "LinearRegressionSample.png.webp")

# Rajzolja meg a diagramot.

plot(y, x, col = "green", main = "Floor Area & Rent Regression",
abline(lm(x~y)), cex = 1.3, pch = 16, xlab = "Floor area in sq m", ylab = "Rent in Rs")

# Mentse el a fájlt.

dev.off()

Ezt a „LinearRegressionSample.png.webp” gráfot a jelenlegi munkakönyvtárban kell létrehozni.

g) Chi-négyzet teszt

Ez egy statisztikai függvény R-ben. Ez a teszt jelentősége annak bizonyítására szolgál, hogy fennáll-e korreláció két kategorikus változó között.

Ez a teszt ugyanúgy működik, mint bármely más statisztikai teszt, amely p-értéken alapult, elfogadható vagy elutasítható a nullhipotézis.

R szintaxis

chisq.test(data), /code>

Lássuk ennek egy gyakorlati példáját.

R kód

# Töltse be a könyvtárat.

library(datasets)
data(iris)

# Hozzon létre egy adatkeretet a fő adatkészletből.

iris.data <- data.frame(iris$Sepal.Length, iris$Sepal.Width)

# Készítsen egy táblát a szükséges változókkal.

iris.data = table(iris$Sepal.Length, iris$Sepal.Width)
print(iris.data)

# Végezze el a Chi-Square tesztet.

print(chisq.test(iris.data))

R kimenet:

Mint látható, a chi-négyzet teszt írisz adatkészlettel történt, figyelembe véve annak két változóját: „Sepal. Hossz ”és„ Sepal.Width ”.

A p-érték nem kevesebb, mint 0, 05, ezért a két változó között nincs korreláció. Vagy azt mondhatjuk, hogy ez a két változó nem függ egymástól.

Következtetés

Az R funkciók egyszerűek, könnyen illeszthetők, könnyen megfoghatók és mégis nagyon erősek. Számos olyan funkciót láthattunk, amelyeket az alapok részeként használunk R-ben. Ha egyszer megismerkednek ezekkel a fentebb tárgyalt funkciókkal, meg lehet vizsgálni a függvények más fajtáit is. A funkciók segítenek abban, hogy a kód egyszerűen és tömören futjon. A funkciók beépíthetők vagy felhasználó által definiálhatók, mindegyik a probléma megoldásának szükségességétől függ. A funkciók jó formát adnak a program számára.

Ajánlott cikkek

Ez egy útmutató az R. funkcióihoz. Itt megvitatjuk, hogyan kell írni a függvényeket R-ben és a különféle típusú funkciókat az R-ben szintaxissal és példákkal. A következő cikkben további információkat is megnézhet -

  1. R karakterlánc funkciók
  2. SQL karakterlánc-funkciók
  3. T-SQL karakterlánc funkciók
  4. PostgreSQL karakterlánc funkciók