logo

aplicar(), lapply(), sapply() y tapply() en R

En este artículo, aprenderemos sobre las funciones apply(), lapply(), sapply() y tapply() en el Lenguaje de programación R.

La colección apply() es parte del paquete esencial de R. Esta familia de funciones nos ayuda a aplicar una determinada función a un determinado marco de datos, lista o vector y devolver el resultado como una lista o vector dependiendo de la función que utilicemos. Existen los siguientes cuatro tipos de funciones en la familia de funciones apply():



función aplicar()

La función apply() nos permite aplicar una función a las filas o columnas de una matriz o marco de datos. Esta función toma una matriz o un marco de datos como argumento junto con la función y si debe aplicarse por fila o columna y devuelve el resultado en forma de vector, matriz o lista de valores obtenidos.

Sintaxis: aplicar (x, margen, función)

Parámetros:



    x: determina la matriz de entrada, incluida la matriz. margen: si el margen es 1, la función se aplica en toda la fila, si el margen es 2, se aplica en toda la columna. función: determina la función que se aplicará a los datos de entrada.

Ejemplo:

A continuación se muestra un ejemplo básico que muestra el uso de la función apply() en filas y columnas.

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

>

>

Producción:

función aplicar()

La función lapply() nos ayuda a aplicar funciones en objetos de lista y devuelve un objeto de lista de la misma longitud. La función lapply() en el lenguaje R toma una lista, un vector o un marco de datos como entrada y proporciona una salida en forma de un objeto de lista. Dado que la función lapply() aplica una determinada operación a todos los elementos de la lista, no necesita un MARGEN.

Sintaxis: aplicar (x, diversión)

Parámetros:

descanso java
    x: determina el vector de entrada o un objeto. fun: determina la función que se aplicará a los datos de entrada.

Ejemplo:

A continuación se muestra un ejemplo básico que muestra el uso de la función lapply() en 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)>

>

>

Producción:

función sapply()

La función sapply() nos ayuda a aplicar funciones en una lista, vector o marco de datos y devuelve una matriz o un objeto de matriz de la misma longitud. La función sapply() en el lenguaje R toma una lista, un vector o un marco de datos como entrada y proporciona una salida en forma de matriz u objeto de matriz. Dado que la función sapply() aplica una determinada operación a todos los elementos del objeto, no necesita un MARGEN. Es lo mismo que lapply() con la única diferencia que es el tipo de objeto devuelto.

Sintaxis: sapply (x, divertido)

Parámetros:

    x: determina el vector de entrada o un objeto. fun: determina la función que se aplicará a los datos de entrada.

Ejemplo:

A continuación se muestra un ejemplo básico que muestra el uso de la función sapply() en un vector.

CSS flotante

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

>

>

Producción:

función tapply()

tapply() nos ayuda a calcular medidas estadísticas (media, mediana, mínimo, máximo, etc.) o una operación de función autoescrita para cada variable de factor en un vector. Nos ayuda a crear un subconjunto de un vector y luego aplicar algunas funciones a cada uno de los subconjuntos. Por ejemplo, en una organización, si tenemos datos del salario de los empleados y queremos encontrar el salario medio para hombres y mujeres, entonces podemos usar la función tapply() con hombre y mujer como factor de género variable.

recorrido del árbol

Sintaxis: tapply(x, índice, diversión)

Parámetros:

    x: determina el vector de entrada o un objeto. índice: determina el vector de factores que nos ayuda a distinguir los datos. fun: determina la función que se aplicará a los datos de entrada.

Ejemplo:

A continuación, se muestra un ejemplo básico que muestra el uso de la función tapply() en el conjunto de datos de diamantes proporcionado por la biblioteca de paquetes 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)>

>

>

Producción: