Calcula la media de datos numéricos, lógicos y ponderados utilizando las funciones de media incorporadas en R. Comprende cómo tratar los valores perdidos y aplica la función a vectores y marcos de datos.
Cuando se trata de resumir datos numéricos en R, calcular la media suele ser el primer paso. De todos modos, suele ser lo primero que hago.
Ahora bien, "media" no tiene por qué referirse necesariamente a la media, pero en este artículo asumo que sí porque voy a mostrarte cómo trabajar con la función mean() de R, que es la herramienta estándar de R para este fin.
¿Qué hace mean() en R?
La función mean() calcula la media aritmética de datos numéricos. En otras palabras, suma todos los valores de tu vector o columna y divide por el número total de valores presentes. Como mean() forma parte de R base, no es necesario cargar paquetes adicionales. Así estará lista para usar en cuanto abras R.
Sintaxis de la función mean()
Así que ya sabemos lo que consigue mean(), pero veamos su sintaxis básica para que puedas empezar a aplicarla:
na.rm: Lógico. Si TRUE, mean() ignorará los valores de NA.
A medida que avancemos, debes saber que el manejo de los datos que faltan y el trabajo con diferentes estructuras de datos introducen algunos matices, así que estate atento.
Calcular la media de un vector numérico en R
Probablemente lo más básico sea calcular la media de un vector:
daily_temperatures <- c(72,68,75,70,69)
mean(daily_temperatures)Con la tecnología de
Esta línea devuelve la media de 72, 68, 75, 70 y 69, que es 70,8.
Manejo de valores perdidos con na.rm en R
Los conjuntos de datos reales tienen valores perdidos. Si tus datos contienen algún elemento que falta, mean() devolverá, como comportamiento por defecto, NA. Esto puede sorprenderte si no te lo esperas, por eso nos tomamos el tiempo de conocer el argumento na.rm.
Ahora, mean() calcula la media utilizando sólo las cifras disponibles.
Utilizar mean() con marcos de datos en R
Extendamos su uso a los marcos de datos, que son una estructura típica de los conjuntos de datos en R. Si quieres la media de una columna concreta, basta con referirte a ella mediante el operador $:
student_scores <- data.frame(
student_name = c("Amir","Bianca","Carlos"),
math_score = c(92,85,88))
mean(student_scores$math_score)Con la tecnología de
Calcula la puntuación media de todos los alumnos de tu marco de datos. Puedes aplicar este enfoque a cualquier columna numérica (pero tiene que ser una columna numérica).
Media de los valores lógicos en R
Hasta ahora nos hemos centrado en los datos numéricos, pero quizá te sorprenda saber que mean() también funciona con vectores lógicos. Éste es un detalle pequeño pero importante que he pasado por alto hasta ahora.
Puedes utilizar mean() con valores lógicos porque, en R, TRUE se trata como 1 y FALSE como 0, por lo que al tomar la media de un vector lógico se obtendrá la proporción de valores de TRUE. Esto puede ser útil si tienes que resumir resultados binarios.
quiz_passed_flags <- c(TRUE,FALSE,TRUE,TRUE)
mean(quiz_passed_flags)Con la tecnología de
Aquí, el resultado es 0,75, ya que 3 de cada 4 valores son TRUE.
Encontrar la media ponderada en R
A veces necesitas una media ponderada, cuando piensas que distintos valores contribuyen de forma desigual al resultado. Entra en weighted.mean():
course_grades <- c(88,92,75)
assignment_weights <- c(0.3,0.4,0.3)
weighted.mean(course_grades, assignment_weights)Con la tecnología de
Si utilizas weighted.mean(), podrás tener en cuenta la importancia o frecuencia variable entre tus valores. mean() no lo hará por sí solo.
Algunas cosas a tener en cuenta
Hasta ahora he mencionado la mayoría de estas cosas, pero permíteme apuntar posibles problemas o notas en un solo lugar:
Datos no numéricos: Si tu vector o columna no es numérico o lógico, mean() arrojará un error.
NA manipulación: Olvidarte de utilizar na.rm = TRUE cuando te faltan datos te hará tropezar siempre.
Vectores vacíos: mean(numeric(0)) devuelve NA con una advertencia.
Funciones similares en R
R proporciona varias funciones relacionadas que te ayudan a explorar tus datos desde distintos ángulos. Todas ellas están también en R base, lo que significa que puedes utilizar estas funciones sin importar bibliotecas.
Cuando se trata de resumir datos numéricos en R, calcular la media suele ser el primer paso. De todos modos, suele ser lo primero que hago.
Ahora bien, "media" no tiene por qué referirse necesariamente a la media, pero en este artículo asumo que sí porque voy a mostrarte cómo trabajar con la función
mean()de R, que es la herramienta estándar de R para este fin.¿Qué hace mean() en R?
La función
mean()calcula la media aritmética de datos numéricos. En otras palabras, suma todos los valores de tu vector o columna y divide por el número total de valores presentes. Comomean()forma parte de R base, no es necesario cargar paquetes adicionales. Así estará lista para usar en cuanto abras R.Sintaxis de la función mean()
Así que ya sabemos lo que consigue
mean(), pero veamos su sintaxis básica para que puedas empezar a aplicarla:x: Un vector u objeto numérico.na.rm: Lógico. SiTRUE,mean()ignorará los valores deNA.A medida que avancemos, debes saber que el manejo de los datos que faltan y el trabajo con diferentes estructuras de datos introducen algunos matices, así que estate atento.
Calcular la media de un vector numérico en R
Probablemente lo más básico sea calcular la media de un vector:
Esta línea devuelve la media de 72, 68, 75, 70 y 69, que es 70,8.
Manejo de valores perdidos con na.rm en R
Los conjuntos de datos reales tienen valores perdidos. Si tus datos contienen algún elemento que falta,
mean()devolverá, como comportamiento por defecto,NA. Esto puede sorprenderte si no te lo esperas, por eso nos tomamos el tiempo de conocer el argumentona.rm.Si lo ejecutas, obtendrás
NA. Para indicar a R que ignore los valores que faltan, sólo tienes que ponerna.rm = TRUE:Ahora,
mean()calcula la media utilizando sólo las cifras disponibles.Utilizar mean() con marcos de datos en R
Extendamos su uso a los marcos de datos, que son una estructura típica de los conjuntos de datos en R. Si quieres la media de una columna concreta, basta con referirte a ella mediante el operador
$:Calcula la puntuación media de todos los alumnos de tu marco de datos. Puedes aplicar este enfoque a cualquier columna numérica (pero tiene que ser una columna numérica).
Media de los valores lógicos en R
Hasta ahora nos hemos centrado en los datos numéricos, pero quizá te sorprenda saber que
mean()también funciona con vectores lógicos. Éste es un detalle pequeño pero importante que he pasado por alto hasta ahora.Puedes utilizar
mean()con valores lógicos porque, en R,TRUEse trata como1yFALSEcomo0, por lo que al tomar la media de un vector lógico se obtendrá la proporción de valores deTRUE. Esto puede ser útil si tienes que resumir resultados binarios.Aquí, el resultado es 0,75, ya que 3 de cada 4 valores son
TRUE.Encontrar la media ponderada en R
A veces necesitas una media ponderada, cuando piensas que distintos valores contribuyen de forma desigual al resultado. Entra en
weighted.mean():Si utilizas
weighted.mean(), podrás tener en cuenta la importancia o frecuencia variable entre tus valores.mean()no lo hará por sí solo.Algunas cosas a tener en cuenta
Hasta ahora he mencionado la mayoría de estas cosas, pero permíteme apuntar posibles problemas o notas en un solo lugar:
Datos no numéricos: Si tu vector o columna no es numérico o lógico,
mean()arrojará un error.NA manipulación: Olvidarte de utilizar
na.rm = TRUEcuando te faltan datos te hará tropezar siempre.Vectores vacíos:
mean(numeric(0))devuelveNAcon una advertencia.Funciones similares en R
R proporciona varias funciones relacionadas que te ayudan a explorar tus datos desde distintos ángulos. Todas ellas están también en R base, lo que significa que puedes utilizar estas funciones sin importar bibliotecas.
median(): Para el valor medianosd(): Para la desviación estándarsum(): Para la suma de valoresSi quieres saber más sobre la importancia de las distintas medidas del centro, consulta nuestro completísimo tutorial, Media vs. Centro. Mediana: Conocer la diferencia.
Conclusión
En la mayoría de las tareas básicas de análisis de datos,
mean()es tu primera parada para resumir números.Sigue aprendiendo con nuestros cursos, como Introducción a R y Análisis Exploratorio de Datos en R.