V tem članku bomo spoznali funkcije apply(), lapply(), sapply() in tapply() v Programski jezik R.
Zbirka apply() je del osnovnega paketa R. Ta družina funkcij nam pomaga uporabiti določeno funkcijo za določen podatkovni okvir, seznam ali vektor in vrniti rezultat kot seznam ali vektor, odvisno od funkcije, ki jo uporabljamo. V družini funkcij apply() obstajajo naslednje štiri vrste funkcij:
markdown prečrtano
funkcijo apply().
Funkcija apply() nam omogoča, da funkcijo uporabimo za vrstice ali stolpce matrike ali podatkovnega okvira. Ta funkcija vzame matriko ali podatkovni okvir kot argument skupaj s funkcijo in ali jo je treba uporabiti po vrstici ali stolpcu ter vrne rezultat v obliki vektorja ali matrike ali seznama dobljenih vrednosti.
Sintaksa: uporabi (x, rob, funkcija)
Parametri:
x: določa vhodno polje, vključno z matriko. rob: Če je rob 1, se funkcija uporabi čez vrstico, če je rob 2, se uporabi čez stolpec. funkcija: določa funkcijo, ki bo uporabljena na vhodnih podatkih.
primer:
Tukaj je osnovni primer, ki prikazuje uporabo funkcije apply() v vrsticah in stolpcih.
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)> |
>
>
Izhod:
funkcija lapply().
Funkcija lapply() nam pomaga pri uporabi funkcij na objektih seznama in vrne predmet seznama enake dolžine. Funkcija lapply() v jeziku R sprejme seznam, vektor ali podatkovni okvir kot vhod in poda izhod v obliki predmeta seznama. Ker funkcija lapply() uporabi določeno operacijo za vse elemente seznama, ne potrebuje MARGIN.
Sintaksa: lapply (x, zabavno)
Parametri:
x: določa vhodni vektor ali objekt. zabava: določa funkcijo, ki bo uporabljena za vhodne podatke.
primer:
Tukaj je osnovni primer, ki prikazuje uporabo funkcije lapply() za 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)> |
>
>
Izhod:
funkcijo sapply().
Funkcija sapply() nam pomaga pri uporabi funkcij na seznamu, vektorju ali podatkovnem okviru in vrne matrični ali matrični objekt enake dolžine. Funkcija sapply() v jeziku R kot vhod sprejme seznam, vektor ali podatkovni okvir in poda izhod v obliki matričnega ali matričnega objekta. Ker funkcija sapply() uporabi določeno operacijo za vse elemente predmeta, ne potrebuje MARGIN. Je enak kot lapply() z edino razliko v vrsti vrnjenega objekta.
Sintaksa: sapply (x, zabavno)
Parametri:
x: določa vhodni vektor ali objekt. zabava: določa funkcijo, ki bo uporabljena za vhodne podatke.
primer:
Tukaj je osnovni primer, ki prikazuje uporabo funkcije sapply() za vektor.
R
kaj je objekt java
# 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)> |
>
>
Izhod:
funkcijo tapply().
Tapply() nam pomaga izračunati statistične mere (povprečje, mediana, min, maks itd.) ali operacijo samonapisane funkcije za vsako faktorsko spremenljivko v vektorju. Pomaga nam ustvariti podmnožico vektorja in nato uporabiti nekaj funkcij za vsako od podmnožic. Na primer, če imamo v organizaciji podatke o plačah zaposlenih in želimo najti povprečno plačo za moške in ženske, lahko uporabimo funkcijo tapply() z moškim in ženskim kot faktorsko spremenljivko spol.
Sintaksa: tapply(x, indeks, zabavno)
Parametri:
x: določa vhodni vektor ali objekt. indeks: določa faktorski vektor, ki nam pomaga razlikovati podatke. zabava: določa funkcijo, ki bo uporabljena za vhodne podatke.
primer:
Tukaj je osnovni primer, ki prikazuje uporabo funkcije tapply() na naboru podatkov o diamantih, ki ga zagotavlja knjižnica paketa tidyverse.
R
usedelimiter java
# 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)> |
>
>
Izhod: