R

Operaciones por filas o columnas con apply en R

A la hora de trabajar con R puede ser interesante obtener el mínimo o máximo de cada una de las columnas de una matriz. En otras ocasiones puede ser interesante obtener por ejemplo la media, mediana o desviación estándar. Las funciones nativas de R no funcionan de esta manera, ya que generalmente trabajan sobre todo la matriz. Por lo que en estas situaciones se ha de utilizar el método apply en R para obtener este tipo de resultados.

En esta entrada se repasa el funcionamiento básico del método apply en R. Una herramienta muy potente.

Mínimo de una columna con apply en R

La forma de aplicar una misma función sobre una columna o una fila de una matriz en R es mediante la función apply. A esta función se le ha de indicar como primer parámetro la matriz sobre la que se va a trabajar, el segundo será el eje y el tercero la función a aplicar. Por ejemplo, para obtener el mínimo de en cada una de las columnas de una matriz se puede utilizar:

apply(z, 1, min)

Por otro lado, el mínimo de cada columna se puede obtener mediante la expresión:

apply(z, 2, min)

En este segundo código solamente se ha modificado el valor del eje. En estos se puede ver que el valor 1 indica filas, mientras que el valor 2 indica columnas. El funcionamiento de estas funciones se puede ver en el siguiente ejemplo:

> z <- matrix(1:6,nrow=2) > z
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

> apply(z, 1, min)
[1] 1 2

> apply(z, 2, min)
[1] 1 3 5

# Eliminación de valores nulos

En el caso de que la matriz contenga valores nulos y se deseen omitir se le puede indicar a apply. Simplemente se ha de pasar como cuarto parámetro la opción na.rm = TRUE). En el siguiente ejemplo se puede ver el funcionamiento de esta opción:

> z[2,2] <- NA
> z
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2   NA    6

> apply(z, 2, min)
[1]  1 NA  5

> apply(z, 2, min, na.rm = TRUE)
[1] 1 3 5

Conclusiones

En esta entrada se ha visto el funcionamiento básico de la función apply. Gracias a ella se puede operar sobre las filas o columnas de las matrices en R facilitando bastantes análisis de datos.

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

Interés compuesto: la fuerza que multiplica tu dinero (y los errores que la anulan)

“El interés compuesto es la octava maravilla del mundo. El que lo entiende lo gana…

3 días ago

Cómo comparar datos con barras en Matplotlib: agrupadas, apiladas y porcentuales

Tienes los datos de ventas de tres productos en dos años distintos y quieres saber…

5 días ago

Costes hundidos en ciencia de datos: cuándo mantener un modelo y cuándo migrar

Imagina la situación. Tu equipo lleva tres años con un modelo en producción. No es…

1 semana ago

WOE e IV: La Base Matemática del Credit Scoring

Cuando un banco evalúa una solicitud de crédito necesita responder a una pregunta aparentemente simple:…

2 semanas ago

Lanzamiento de la versión 1.0 del laboratorio de Analytics Lane con nuevas herramientas de scoring

En el octavo aniversario de Analytics Lane seguimos ampliando nuestro laboratorio de aplicaciones interactivas y,…

2 semanas ago

¡Analytics Lane cumple ocho años!

Hoy, 2 de mayo de 2026, Analytics Lane cumple exactamente ocho años. Todo empezó con…

2 semanas ago

This website uses cookies.