Contenido de este artículo
- 0
- 0
- 0
- 0
Este tutorial explica las diferencias entre las funciones integradas de R apply () , sapply () , lapply () y tapply () junto con ejemplos de cuándo y cómo usar cada función.
solicitar()
Utilice la función apply () cuando desee aplicar una función a las filas o columnas de una matriz o marco de datos.
La sintaxis básica de la función apply () es la siguiente:
aplicar (X, MARGIN, FUN)
- X es el nombre de la matriz o marco de datos
- MARGEN indica en qué dimensión realizar una operación (1 = fila, 2 = columna)
- DIVERSIÓN es la operación específica que desea realizar (por ejemplo, mínimo, máximo, suma, media, etc.)
El siguiente código ilustra varios ejemplos de apply () en acción.
#crea un marco de datos con tres columnas y cinco filas data <- data.frame (a = c (1, 3, 7, 12, 9), b = c (4, 4, 6, 7, 8), c = c (14, 15, 11, 10, 6)) datos # a B C # 1 1 4 14 # 2 3 4 15 # 3 7 6 11 # 4 12 7 10 # 5 9 8 6 # encontrar la suma de cada fila aplicar (datos, 1, suma) # [1] 19 22 24 29 23 # encontrar la suma de cada columna aplicar (datos, 2, suma) # a B C # 32 29 56 # encontrar la media de cada fila aplicar (datos, 1, media) # [1] 6.333333 7.333333 8.000000 9.666667 7.666667 # encontrar la media de cada columna, redondeada a un decimal redondo (aplicar (datos, 2, media), 1) # a B C # 6,4 5,8 11,2 # encontrar la desviación estándar de cada fila aplicar (datos, 1, sd) # [1] 6.806859 6.658328 2.645751 2.516611 1.527525 # encontrar la desviación estándar de cada columna aplicar (datos, 2, sd) # a B C # 4.449719 1.788854 3.563706
lapply ()
Utilice la función lapply () cuando desee aplicar una función a cada elemento de una lista, vector o marco de datos y obtener una lista como resultado.
La sintaxis básica de la función lapply () es la siguiente:
lapply (X, FUN)
- X es el nombre de la lista, vector o marco de datos
- DIVERSIÓN es la operación específica que desea realizar
El siguiente código ilustra varios ejemplos del uso de lapply () en las columnas de un marco de datos.
#crear un marco de datos con tres columnas y cinco filas data <- data.frame (a = c (1, 3, 7, 12, 9), b = c (4, 4, 6, 7, 8), c = c (14, 15, 11, 10, 6)) datos # a B C # 1 1 4 14 # 2 3 4 15 # 3 7 6 11 # 4 12 7 10 # 5 9 8 6 # encontrar la media de cada columna y devolver los resultados como una lista lapply (datos, media) # $ a # [1] 6,4 # # $ b # [1] 5.8 # # $ c # [1] 11,2 #multiplica los valores de cada columna por 2 y devuelve los resultados como una lista lapply (datos, función (datos) datos * 2) # $ a # [1] 2 6 14 24 18 # # $ b # [1] 8 8 12 14 16 # # $ c # [1] 28 30 22 20 12
También podemos usar lapply () para realizar operaciones en listas. Los siguientes ejemplos muestran cómo hacerlo.
#crear una lista x <- lista (a = 1, b = 1: 5, c = 1:10 ) X # $ a # [1] 1 # # $ b # [1] 1 2 3 4 5 # # $ c # [1] 1 2 3 4 5 6 7 8 9 10 # encontrar la suma de cada elemento en la lista lapply (x, suma) # $ a # [1] 1 # # $ b # [1] 15 # # $ c # [1] 55 # encontrar la media de cada elemento en la lista lapply (x, mean) # $ a # [1] 1 # # $ b # [1] 3 # # $ c # [1] 5.5 #multiplica los valores de cada elemento por 5 y devuelve los resultados como una lista lapply (x, función (x) x * 5) # $ a # [15 # # $ b # [1] 5 10 15 20 25 # # $ c # [1] 5 10 15 20 25 30 35 40 45 50
sapply ()
Utilice la función sapply () cuando desee aplicar una función a cada elemento de una lista, vector o marco de datos y obtener un vector en lugar de una lista como resultado.
La sintaxis básica de la función sapply () es la siguiente:
sapply (X, DIVERSIÓN)
- X es el nombre de la lista, vector o marco de datos
- DIVERSIÓN es la operación específica que desea realizar
El siguiente código ilustra varios ejemplos del uso de sapply () en las columnas de un marco de datos.
#crear un marco de datos con tres columnas y cinco filas data <- data.frame (a = c (1, 3, 7, 12, 9), b = c (4, 4, 6, 7, 8), c = c (14, 15, 11, 10, 6)) datos # a B C # 1 1 4 14 # 2 3 4 15 # 3 7 6 11 # 4 12 7 10 # 5 9 8 6 # encontrar la media de cada columna y devolver los resultados como una aplicación vectorial (datos, media) # a B C # 6,4 5,8 11,2 #multiplica los valores en cada columna por 2 y devuelve los resultados como una matriz sapply (datos, función (datos) datos * 2) # a B C # [1,] 2 8 28 # [2,] 6 8 30 # [3,] 14 12 22 # [4,] 24 14 20 # [5,] 18 16 12
También podemos usar sapply () para realizar operaciones en listas. Los siguientes ejemplos muestran cómo hacerlo.
#crear una lista x <- lista (a = 1, b = 1: 5, c = 1:10 ) X # $ a # [1] 1 # # $ b # [1] 1 2 3 4 5 # # $ c # [1] 1 2 3 4 5 6 7 8 9 10 # encontrar la suma de cada elemento en la lista sapply (x, suma) # a B C # 1 15 55 # encontrar la media de cada elemento en la lista sapply (x, mean) # a B C # 1.0 3.0 5.5
tapply ()
Utilice la función tapply () cuando desee aplicar una función a subconjuntos de un vector y los subconjuntos están definidos por algún otro vector, generalmente un factor.
La sintaxis básica de la función tapply () es la siguiente:
toque (X, ÍNDICE, DIVERSIÓN)
- X es el nombre del objeto, típicamente un vector
- ÍNDICE es una lista de uno o más factores
- DIVERSIÓN es la operación específica que desea realizar
El siguiente código ilustra un ejemplo del uso de tapply () en el iris del conjunto de datos R incorporado .
#ver las primeras seis líneas del conjunto de datos de iris cabeza (iris) # Sepal.Length Sepal.Width Petal.Length Petal.Width Especies # 1 5,1 3,5 1,4 0,2 setosa # 2 4,9 3,0 1,4 0,2 setosa # 3 4,7 3,2 1,3 0,2 setosa # 4 4,6 3,1 1,5 0,2 setosa # 5 5.0 3.6 1.4 0.2 setosa # 6 5,4 3,9 1,7 0,4 setosa #Encuentre la máxima longitud de sépalo de cada una de las tres especies tapply (iris $ Sepal.Length, iris $ Species, máx.) #setosa versicolor virginica # 5,8 7,0 7,9 # encontrar la media Sepal.Width de cada una de las tres especies tapply (iris $ Sepal.Width, iris $ Species, media) # setosa versicolor virginica # 3.428 2.770 2.974 #encuentre el mínimo de Petal.Width de cada una de las tres Especies tapply (iris $ Petal.Width, iris $ Species, min) # setosa versicolor virginica # 0,1 1,0 1,4
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/
¿Te hemos ayudado?
Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:La ayuda no cuesta nada
Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo: