apply(), lapply(), sapply() e tapply() in R

In questo articolo impareremo le funzioni apply(), lapply(), sapply() e tapply() nella Linguaggio di programmazione R.

La raccolta apply() fa parte del pacchetto R Essential. Questa famiglia di funzioni ci aiuta ad applicare una determinata funzione a un determinato frame di dati, elenco o vettore e restituire il risultato come elenco o vettore a seconda della funzione che utilizziamo. Ci sono i seguenti quattro tipi di funzioni nella famiglia di funzioni apply():

funzione applica()

La funzione apply() ci consente di applicare una funzione alle righe o alle colonne di una matrice o di un frame di dati. Questa funzione accetta matrice o frame di dati come argomento insieme alla funzione e se deve essere applicata per riga o colonna e restituisce il risultato sotto forma di un vettore o di un array o di un elenco di valori ottenuti.

Sintassi: applica( x, margine, funzione )

parametri:

    x: determina l'array di input inclusa la matrice. margine: se il margine è 1 la funzione viene applicata su tutta la riga, se il margine è 2 viene applicata su tutta la colonna. funzione: determina la funzione da applicare ai dati di input.

Esempio:

Ecco un esempio di base che mostra l'uso della funzione apply() lungo righe e colonne.

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

Produzione:

lapply() funzione

La funzione lapply() ci aiuta ad applicare funzioni sugli oggetti della lista e restituisce un oggetto della lista della stessa lunghezza. La funzione lapply() nel linguaggio R accetta una lista, un vettore o un frame di dati come input e fornisce l'output sotto forma di un oggetto lista. Poiché la funzione lapply() applica una determinata operazione a tutti gli elementi della lista non ha bisogno di un MARGINE.

Sintassi: lapply(x, divertente)

parametri:

    x: determina il vettore di input o un oggetto. fun: determina la funzione da applicare ai dati di input.

Esempio:

Ecco un esempio di base che mostra l'uso della funzione lapply() su un vettore.

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

Produzione:

funzione sapply()

La funzione sapply() ci aiuta ad applicare funzioni su una lista, un vettore o un frame di dati e restituisce un oggetto array o matrice della stessa lunghezza. La funzione sapply() nel linguaggio R accetta come input una lista, un vettore o un frame di dati e fornisce l'output sotto forma di un oggetto array o matrice. Poiché la funzione sapply() applica una determinata operazione a tutti gli elementi dell'oggetto, non ha bisogno di un MARGINE. È uguale a lapply() con l'unica differenza che è il tipo di oggetto restituito.

Sintassi: sapply( x, divertente )

parametri:

    x: determina il vettore di input o un oggetto. fun: determina la funzione da applicare ai dati di input.

Esempio:

Ecco un esempio di base che mostra l'uso della funzione sapply() su un vettore.

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

Produzione:

funzione tapply()

Tapply() ci aiuta a calcolare misure statistiche (media, mediana, minimo, massimo, ecc.) o un'operazione di funzione autoscritta per ciascuna variabile fattore in un vettore. Ci aiuta a creare un sottoinsieme di un vettore e quindi ad applicare alcune funzioni a ciascuno dei sottoinsiemi. Ad esempio, in un'organizzazione, se disponiamo di dati sullo stipendio dei dipendenti e vogliamo trovare lo stipendio medio per uomini e donne, allora possiamo utilizzare la funzione tapply() con maschio e femmina come fattore variabile genere.

Sintassi: tapply( x, indice, divertimento )

parametri:

    x: determina il vettore di input o un oggetto. indice: determina il vettore dei fattori che ci aiuta a distinguere i dati. fun: determina la funzione da applicare ai dati di input.

Esempio:

Ecco un esempio di base che mostra l'uso della funzione tapply() sul set di dati di diamanti fornito dalla libreria di pacchetti 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)>

Produzione: