En aquest article, aprendrem sobre les funcions apply(), lapply(), sapply() i tapply() a la Llenguatge de programació R.
La col·lecció apply() és una part del paquet essencial de R. Aquesta família de funcions ens ajuda a aplicar una determinada funció a un determinat marc de dades, llista o vector i a retornar el resultat com a llista o vector en funció de la funció que utilitzem. Hi ha aquests quatre tipus de funcions a la família de funcions apply():
funció aplicar().
La funció apply() ens permet aplicar una funció a les files o columnes d'una matriu o marc de dades. Aquesta funció pren la matriu o el marc de dades com a argument juntament amb la funció i si s'ha d'aplicar per fila o columna i retorna el resultat en forma de vector o matriu o llista de valors obtinguts.
Sintaxi: aplicar (x, marge, funció)
Paràmetres:
x: determina la matriu d'entrada inclosa la matriu. marge: si el marge és 1, la funció s'aplica a través de la fila, si el marge és 2 s'aplica a través de la columna. funció: determina la funció que s'ha d'aplicar a les dades d'entrada.
Exemple:
Aquí hi ha un exemple bàsic que mostra l'ús de la funció apply() al llarg de les files i les columnes.
R
conversió de int a cadena en java
# 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)> |
>
>
Sortida:
funció lapply().
La funció lapply() ens ajuda a aplicar funcions als objectes llista i retorna un objecte llista de la mateixa longitud. La funció lapply() del llenguatge R pren una llista, un vector o un marc de dades com a entrada i dóna sortida en forma d'objecte de llista. Com que la funció lapply() aplica una determinada operació a tots els elements de la llista, no necessita un MARGE.
Sintaxi: solapa (x, divertit)
Paràmetres:
x: determina el vector d'entrada o un objecte. fun: determina la funció que s'ha d'aplicar a les dades d'entrada.
Exemple:
Aquí hi ha un exemple bàsic que mostra l'ús de la funció lapply() a un vector.
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)> |
la roda de desplaçament no funciona
>
>
Sortida:
funció sapply().
La funció sapply() ens ajuda a aplicar funcions en una llista, vector o marc de dades i retorna un objecte matriu o matriu de la mateixa longitud. La funció sapply() del llenguatge R pren una llista, un vector o un marc de dades com a entrada i dóna sortida en forma d'un objecte matriu o matriu. Com que la funció sapply() aplica una determinada operació a tots els elements de l'objecte, no necessita un MARGE. És el mateix que lapply() amb l'única diferència que és el tipus d'objecte de retorn.
Sintaxi: sapply (x, diversió)
Paràmetres:
x: determina el vector d'entrada o un objecte. fun: determina la funció que s'ha d'aplicar a les dades d'entrada.
Exemple:
Aquí hi ha un exemple bàsic que mostra l'ús de la funció sapply() a un vector.
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)> |
>
>
Sortida:
funció tapply().
El tapply() ens ajuda a calcular mesures estadístiques (mitjana, mediana, mínima, màxima, etc.) o una operació de funció autoescrita per a cada variable factor en un vector. Ens ajuda a crear un subconjunt d'un vector i després aplicar algunes funcions a cadascun dels subconjunts. Per exemple, en una organització, si tenim dades de salari dels empleats i volem trobar el salari mitjà per a homes i dones, podem utilitzar la funció tapply() amb homes i dones com a variable de gènere.
Sintaxi: taply (x, índex, diversió)
Paràmetres:
llista d'estatsx: determina el vector d'entrada o un objecte. índex: determina el vector factor que ens ajuda a distingir les dades. fun: determina la funció que s'ha d'aplicar a les dades d'entrada.
Exemple:
Aquí hi ha un exemple bàsic que mostra l'ús de la funció tapply() al conjunt de dades de diamants que proporciona la biblioteca de paquets 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)> |
>
>
Sortida: