V tomto článku se dozvíme o funkcích apply(), lapply(), sapply() a tapply() v Programovací jazyk R.
Kolekce apply() je součástí balíčku R essential. Tato rodina funkcí nám pomáhá aplikovat určitou funkci na určitý datový rámec, seznam nebo vektor a vrátit výsledek jako seznam nebo vektor v závislosti na funkci, kterou používáme. V rodině funkcí apply() jsou následující čtyři typy funkcí:
funkce apply().
Funkce apply() nám umožňuje aplikovat funkci na řádky nebo sloupce matice nebo datového rámce. Tato funkce bere matici nebo datový rámec jako argument spolu s funkcí a zda má být aplikována na řádek nebo sloupec a vrací výsledek ve formě vektoru nebo pole nebo seznamu získaných hodnot.
Syntax: použít(x, okraj, funkce)
Parametry:
x: určuje vstupní pole včetně matice. margin: Pokud je okraj 1, použije se funkce přes řádek, pokud je okraj 2, použije se napříč sloupcem. funkce: určuje funkci, která má být aplikována na vstupní data.
Příklad:
Zde je základní příklad, který ukazuje použití funkce apply() podél řádků i sloupců.
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)> |
>
>
Výstup:
funkce lapply().
Funkce lapply() nám pomáhá při aplikaci funkcí na objekty seznamu a vrací objekt seznamu stejné délky. Funkce lapply() v jazyce R bere jako vstup seznam, vektor nebo datový rámec a poskytuje výstup ve formě objektu seznamu. Protože funkce lapply() aplikuje určitou operaci na všechny prvky seznamu, nepotřebuje MARGIN.
Syntax: laply (x, zábava)
java matematika náhodnáParametry:
x: určuje vstupní vektor nebo objekt. fun: určuje funkci, která má být aplikována na vstupní data.
Příklad:
Zde je základní příklad, který ukazuje použití funkce lapply() pro vektor.
R
# 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ýstup:
funkce sapply().
Funkce sapply() nám pomáhá při aplikaci funkcí na seznam, vektor nebo datový rámec a vrací pole nebo maticový objekt stejné délky. Funkce sapply() v jazyce R bere jako vstup seznam, vektor nebo datový rámec a poskytuje výstup ve formě pole nebo maticového objektu. Protože funkce sapply() aplikuje určitou operaci na všechny prvky objektu, nepotřebuje MARGIN. Je to stejné jako lapply() s jediným rozdílem v typu vráceného objektu.
Syntax: sappy (x, zábava)
Parametry:
x: určuje vstupní vektor nebo objekt. fun: určuje funkci, která má být aplikována na vstupní data.
Příklad:
Zde je základní příklad, který ukazuje použití funkce sapply() pro vektor.
R
strojopis pro každého
# 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ýstup:
funkce tapply().
Tapply() nám pomáhá vypočítat statistické míry (průměr, medián, min, max, atd..) nebo samostatně zapsanou funkční operaci pro každou faktorovou proměnnou ve vektoru. Pomáhá nám vytvořit podmnožinu vektoru a poté aplikovat některé funkce na každou z podmnožin. Například v organizaci, pokud máme údaje o platu zaměstnanců a chceme najít střední plat pro muže a ženy, můžeme použít funkci tapply() s mužem a ženou jako faktorem proměnné pohlaví.
Syntax: tapply(x, index, fun)
Parametry:
x: určuje vstupní vektor nebo objekt. index: určuje vektor faktoru, který nám pomáhá rozlišit data. fun: určuje funkci, která má být aplikována na vstupní data.
Příklad:
Zde je základní příklad, který ukazuje použití funkce tapply() na datové sadě diamonds, kterou poskytuje knihovna balíčků 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ýstup: