apply(), lapply(), sapply() i tapply() a R

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




# 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)>

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:

    x: 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: