In dit artikel leren we over de functies apply(), lapply(), sapply() en tapply() in de R-programmeertaal.
De collectie apply() maakt deel uit van het essentiƫle R-pakket. Deze familie van functies helpt ons een bepaalde functie toe te passen op een bepaald dataframe, lijst of vector en het resultaat terug te geven als een lijst of vector, afhankelijk van de functie die we gebruiken. Er zijn de volgende vier soorten functies in de functiefamilie apply():
apply() functie
Met de functie apply() kunnen we een functie toepassen op de rijen of kolommen van een matrix of dataframe. Deze functie neemt matrix of dataframe als argument, samen met de functie en of deze moet worden toegepast per rij of kolom, en retourneert het resultaat in de vorm van een vector of array of lijst met verkregen waarden.
Syntaxis: apply( x, marge, functie )
Parameters:
x: bepaalt de invoerarray inclusief matrix. marge: Als de marge 1 is, wordt de functie over de hele rij toegepast, als de marge 2 is, wordt deze over de hele kolom toegepast. functie: bepaalt de functie die moet worden toegepast op invoergegevens.
Voorbeeld:
Hier is een eenvoudig voorbeeld dat het gebruik van de functie apply() langs zowel rijen als kolommen laat zien.
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)> |
>
>
Uitgang:
lapply() functie
De functie lapply() helpt ons bij het toepassen van functies op lijstobjecten en retourneert een lijstobject van dezelfde lengte. De functie lapply() in de R-taal neemt een lijst, vector of dataframe als invoer en geeft uitvoer in de vorm van een lijstobject. Omdat de functie lapply() een bepaalde bewerking op alle elementen van de lijst toepast, heeft deze geen MARGE nodig.
Syntaxis: lapply( x, leuk )
Parameters:
x: bepaalt de invoervector of een object. fun: bepaalt de functie die moet worden toegepast op invoergegevens.
Voorbeeld:
Hier is een eenvoudig voorbeeld dat het gebruik van de functie lapply() voor een vector laat zien.
R
java als anders
# create sample data> names <->c>(>'priyank'>,>'abhiraj'>,>'pawananjani'>,> >'sudhanshu'>,>'devraj'>)> print>(>'original data:'>)> names> > # apply lapply() function> print>(>'data after lapply():'>)> lapply>(names, toupper)> |
>
>
Uitgang:
sapply()-functie
De functie sapply() helpt ons bij het toepassen van functies op een lijst, vector of dataframe en retourneert een array- of matrixobject van dezelfde lengte. De functie sapply() in de R-taal neemt een lijst, vector of dataframe als invoer en geeft uitvoer in de vorm van een array- of matrixobject. Omdat de functie sapply() een bepaalde bewerking op alle elementen van het object toepast, heeft deze geen MARGE nodig. Het is hetzelfde als lapply() met als enige verschil het type retourobject.
Syntaxis: sapply( x, leuk )
Parameters:
x: bepaalt de invoervector of een object. fun: bepaalt de functie die moet worden toegepast op invoergegevens.
Voorbeeld:
Hier is een eenvoudig voorbeeld dat het gebruik van de functie sapply() voor een vector laat zien.
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)> |
>
tcp versus udp
>
Uitgang:
tapply() functie
De tapply() helpt ons bij het berekenen van statistische metingen (gemiddelde, mediaan, min, max, enz.) of een zelfgeschreven functiebewerking voor elke factorvariabele in een vector. Het helpt ons een subset van een vector te maken en vervolgens enkele functies op elk van de subsets toe te passen. Als we in een organisatie bijvoorbeeld salarisgegevens van werknemers hebben en we het gemiddelde salaris voor mannen en vrouwen willen vinden, kunnen we de functie tapply() gebruiken met mannen en vrouwen als factorvariabele geslacht.
Syntaxis: tapply( x, index, leuk )
Parameters:
x: bepaalt de invoervector of een object. index: bepaalt de factorvector waarmee we de gegevens kunnen onderscheiden. fun: bepaalt de functie die moet worden toegepast op invoergegevens.
Voorbeeld:
Hier is een eenvoudig voorbeeld dat het gebruik van de functie tapply() op de dataset diamanten laat zien die wordt geleverd door de pakketbibliotheek van riddverse.
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)> |
>
>
Uitgang: