V tomto článku sa dozvieme o funkciách apply(), lapply(), sapply() a tapply() v R Programovací jazyk.
Kolekcia apply() je súčasťou balíka R essential. Táto rodina funkcií nám pomáha aplikovať určitú funkciu na určitý dátový rámec, zoznam alebo vektor a vrátiť výsledok ako zoznam alebo vektor v závislosti od funkcie, ktorú používame. V rodine funkcií apply() sú tieto štyri typy funkcií:
funkciu apply().
Funkcia apply() nám umožňuje aplikovať funkciu na riadky alebo stĺpce matice alebo dátového rámca. Táto funkcia berie maticu alebo dátový rámec ako argument spolu s funkciou a či sa má použiť riadkom alebo stĺpcom a vráti výsledok vo forme vektora alebo poľa alebo zoznamu získaných hodnôt.
Syntax: použiť (x, okraj, funkcia)
Parametre:
x: určuje vstupné pole vrátane matice. margin: Ak je okraj 1, funkcia sa použije na celý riadok, ak je okraj 2, použije sa na celý stĺpec. funkcia: určuje funkciu, ktorá sa má použiť na vstupné dáta.
Príklad:
Tu je základný príklad, ktorý ukazuje použitie funkcie apply() pozdĺž riadkov, ako aj stĺpcov.
R
# create sample data> sample_matrix <->matrix>(C<-(1:10),nrow=3, ncol=10)> > print>(>'sample matrix:'>)> sample_matrix> > # Use apply() function across row to find sum> print>(>'sum across rows:'>)> apply>( sample_matrix, 1, sum)> > # use apply() function across column to find mean> print>(>'mean across columns:'>)> apply>( sample_matrix, 2, mean)> |
>
b+ strom
>
Výkon:
funkcia lapply().
Funkcia lapply() nám pomáha pri aplikácii funkcií na objekty zoznamu a vracia objekt zoznamu rovnakej dĺžky. Funkcia lapply() v jazyku R berie zoznam, vektor alebo dátový rámec ako vstup a poskytuje výstup vo forme objektu zoznamu. Keďže funkcia lapply() aplikuje určitú operáciu na všetky prvky zoznamu, nepotrebuje MARGIN.
Syntax: lapply( x, zábava)
Parametre:
x: určuje vstupný vektor alebo objekt. fun: určuje funkciu, ktorá sa má použiť na vstupné dáta.
Príklad:
Tu je základný príklad, ktorý ukazuje použitie funkcie lapply() pre vektor.
R
inicializovať zoznam python
# create sample data> names <->c>(>'priyank'>,>'abhiraj'>,>'pawananjani'>,> >'sudhanshu'>,>'devraj'>)> print>(>'original data:'>)> names> > # apply lapply() function> print>(>'data after lapply():'>)> lapply>(names, toupper)> |
>
>
Výkon:
funkcia sapply().
Funkcia sapply() nám pomáha pri aplikácii funkcií na zoznam, vektor alebo dátový rámec a vracia pole alebo maticový objekt rovnakej dĺžky. Funkcia sapply() v jazyku R berie ako vstup zoznam, vektor alebo dátový rámec a poskytuje výstup vo forme poľa alebo maticového objektu. Keďže funkcia sapply() aplikuje určitú operáciu na všetky prvky objektu, nepotrebuje MARGIN. Je to rovnaké ako lapply() s jediným rozdielom v type vráteného objektu.
Syntax: sappy (x, zábava)
Parametre:
x: určuje vstupný vektor alebo objekt. fun: určuje funkciu, ktorá sa má použiť na vstupné dáta.
Príklad:
Tu je základný príklad, ktorý ukazuje použitie funkcie sapply() pre vektor.
jtlačidlo
R
# create sample data> sample_data<->data.frame>( x=>c>(1,2,3,4,5,6),> >y=>c>(3,2,4,2,34,5))> print>(>'original data:'>)> sample_data> > # apply sapply() function> print>(>'data after sapply():'>)> sapply>(sample_data, max)> |
>
>
Výkon:
funkcia tapply().
Tapply() nám pomáha vypočítať štatistické miery (priemer, medián, min, max, atď.) alebo samostatne napísanú funkčnú operáciu pre každú faktorovú premennú vo vektore. Pomáha nám vytvoriť podmnožinu vektora a potom aplikovať niektoré funkcie na každú z podmnožín. Napríklad v organizácii, ak máme údaje o mzdách zamestnancov a chceme nájsť strednú mzdu pre mužov a ženy, môžeme použiť funkciu tapply() s mužom a ženou ako faktor premennej pohlavie.
znak na int java
Syntax: tapply( x, index, fun)
Parametre:
x: určuje vstupný vektor alebo objekt. index: určuje vektor faktora, ktorý nám pomáha rozlíšiť údaje. fun: určuje funkciu, ktorá sa má použiť na vstupné dáta.
Príklad:
Tu je základný príklad, ktorý ukazuje použitie funkcie tapply() na súbore údajov diamonds, ktorý poskytuje knižnica balíkov tidyverse.
R
# load library tidyverse> library>(tidyverse)> > # print head of diamonds dataset> print>(>' Head of data:'>)> head>(diamonds)> > # apply tapply function to get average price by cut> print>(>'Average price for each cut of diamond:'>)> tapply>(diamonds$price, diamonds$cut, mean)> |
>
>
Výkon: