Coursera Learner working on a presentation with Coursera logo and
Coursera Learner working on a presentation with Coursera logo and

La función apply() es absolutamente una de las capacidades más valiosas. Me asusté de ella durante algún tiempo y no la quise utilizar. Sin embargo, hace que el código sea tan rápido de componer y tan competente que no podemos soportar el coste de no utilizarlo. En el caso de que se parezca a mí, que no lo utilice, aplique sobre la base de que es alarmante, examinando las líneas que lo acompañan, lo apoyará. Tienes que darte cuenta de cómo utilizar “apply” cuando todo está dicho, con una capacidad casera o con unos pocos parámetros? En ese punto, ve a ver los modelos acompañantes.

La función apply() se conoce como increíblemente valiosa para mejorar la velocidad de nuestro código cuando necesitamos trabajar unas pocas capacidades en una red o un vector. La uso, pero generalmente no tengo la menor idea de cómo utilizarla.

¿Qué está pasando aquí?

apply() es un trabajo de R que permite hacer tareas rápidas en la red, vector o exposición. Las tareas deben ser posibles en las líneas, los segmentos o incluso en los dos.

¿Cómo puede funcionar?

El ejemplo es extremadamente básico: aplicar (variable, borde, trabajo).

– la variable es la variable a la que hay que aplicar la capacidad.

– edge determina en el off chance que se debe aplicar por empuje (edge = 1), por segmento (edge = 2), o por cada componente (edge = 1:2). El borde puede ser mucho más notable que 2, en el caso de que trabajemos con factores de medición más prominentes que dos.

– El trabajo es la capacidad que necesitas para aplicar a los componentes de tu variable.

Como creo que el modelo es más claro que todo lo demás, aquí está la guía más significativa para comprender la capacidad de aplicar()

Introducción:

#la matriz en la que trabajaremos:

a = matriz(c(1:15), nrow = 5 , ncol = 3)

#aplicará la función media a todos los elementos de cada fila -aplica
 (a, 1, media)
– [1] 6 7 8 9 10

#aplicará la función media a todos los elementos de cada columna (
a, 2, media)
 [1] 3 8 13

#Aplicará la función media a todos los elementos de cada columna y de cada fila, es decir, cada elemento (
a, 1:2, media)# [,1] [,2] [,
3]
# [1,] 1 6 11# [
2,] 2 7 12# [3,]
 3 8 13# [
4,] 4 9 14# [
5,] 5 10 15

Recientemente hemos hecho una toma de los diversos bordes para mostrar los resultados fundamentales concebibles. Sea como fuere, como dije, podemos igualmente tomar una foto de diferentes factores, por ejemplo, una variedad de la medida 3:

#apply() for array of other dimension :
a = array(1:8, dim = c(2,2,2))
apply(a, 3, sum)

# , , 1##    
  [,1] [,2]# [
1,]    1    3# [2,]
    2    4##
 , , 2##      
 [,1]
 [,2]# [1,]    5    7# [2,]
    6    8

Usa una función casera:

También podemos usar nuestra propia función. Por ejemplo, reproducimos la suma de las funciones (¡absolutamente inútil pero hagámoslo simple!).

f1 = función(x){
 retorno(suma(x))}aplicar
(a, 1, f1)


La función apply() se conoce como extremadamente útil para mejorar la velocidad de nuestro código cuando queremos operar algunas funciones en una matriz o un vector. Yo la uso, pero no sé realmente cómo usarla.

¿Qué es?

apply() es una función R que permite realizar operaciones rápidas en matrices, vectores o matrices. Las operaciones pueden hacerse sobre las líneas, las columnas o incluso sobre ambas.

¿Cómo funciona?

El patrón es muy simple: aplicar (variable, margen, función).
-variable es la variable a la que quieres aplicar la función.
-margin especifica si quieres aplicar por fila (margin = 1), por columna (margin = 2), o por cada elemento (margin = 1:2). El margen puede ser incluso mayor que 2, si trabajamos con variables de dimensión mayor que dos.
-función es la función que quieres aplicar a los elementos de tu variable.

Porque creo que el ejemplo es más claro que cualquier otra cosa, aquí está el ejemplo más importante para entender la función apply().

Introducción:

#la matriz en la que trabajaremos:

a = matriz(c(1:15), nrow = 5 , ncol = 3)

#aplicará la función media a todos los elementos de cada fila -aplica
 (a, 1, media)
– [1] 6 7 8 9 10

#aplicará la función media a todos los elementos de cada columna (
a, 2, media)
 [1] 3 8 13

#Aplicará la función media a todos los elementos de cada columna y de cada fila, es decir, cada elemento (
a, 1:2, media)# [,1] [,2] [,
3]
# [1,] 1 6 11# [
2,] 2 7 12# [3,]
 3 8 13# [
4,] 4 9 14# [
5,] 5 10 15

Acabamos de trabajar en los diferentes márgenes para mostrar las posibilidades básicas. Pero como he dicho, también podemos trabajar en otras variables como un conjunto de la dimensión 3:

#apply() for array of other dimension :
a = array(1:8, dim = c(2,2,2))
apply(a, 3, sum)

# , , 1##    
  [,1] [,2]# [
1,]    1    3# [2,]
    2    4##
 , , 2##      
 [,1]
 [,2]# [1,]    5    7# [2,]
    6    8

Unos pocos parámetros:

Capacidad con unos pocos parámetros. Aquí está la principal motivación detrás de por qué nunca estaba utilizando apply(), no tenía la menor idea de cómo hacerlo cuando tenía unos pocos parámetros en una capacidad. Esto es muy sencillo, sólo tenemos que especificar en el parámetro la variable que es consistente.

Usa una función casera:

También podemos usar nuestra propia función. Por ejemplo, reproducimos la suma de las funciones (¡absolutamente inútil pero hagámoslo simple!).

f1 = función(x){
 retorno(suma(x))}

aplicar(a, 1, f1)

Varios parámetros:
 Una función con varios parámetros. Esta es la principal razón por la que nunca usé apply(), que no sabía hacer cuando tenía varios parámetros en una función. Esto es bastante simple, sólo tenemos que especificar en el parámetro la variable que es constante.

f2 = función(x1,x2){
 x1-x2}b
 = 2

#con el segundo parámetro como opciónaplicar
(a,1,f2,x2=b)

#       [,1] [,2] [,3] [,4] [,5]
# [1,]   -1    0    1    2    3#
 [2,]    4    5    6    7    8# [3,]
    9   10   11   12   13# [3,]
   22   24   26   28   30

#con el primer parámetro como opciónaplicar
(a,1,f2,x1=b)

# [,1] [,2] [,3] [,4] [,5]
# [1,]    1    0   -1   -2   -3#
 [2,]   -4   -5   -6   -7   -8# [3,]
   -9  -10  -11  -12  -13

Confío en que estas modelos te apoyen. A medida que utilizo la capacidad de aplicación desde que experimenté este par de modelos. Obviamente hay numerosas sutilezas diferentes que pueden ser valiosas, sin embargo, estos primeros modelos manejan los resultados primarios útiles concebibles de apply().