# Supongamos que tenemos un conjunto de 10 valores numéricos
valores <- c(72, 88, 65, 90, 78, 82, 75, 95, 87, 70)
# Calculamos la media aritmética
media_aritmetica <- mean(valores)
media_aritmetica[1] 80.2
Medidas de tendencia central y percentiles
SEMESTRE 2023 II
Facultad: Facultad de Ciencias Matemáticas
Integrantes:
Chávez Altamirano, Erik
Huaman Llanos, Felix Moises
Sarmiento Arriaga, Rich Albert
Berrospi Aedo, Nicolle Dayanna
Arapa Lazo, Julio Cesar
Las medidas de tendencia central y los percentiles son herramientas fundamentales en la estadística descriptiva que nos permiten comprender y resumir la información contenida en conjuntos de datos. Estas medidas proporcionan una visión general de la distribución de datos y son esenciales para la toma de decisiones, análisis y presentación de resultados en una amplia variedad de campos, desde la investigación científica hasta el mundo empresarial.
Las medidas de tendencia central, como la media, la mediana y la moda, nos brindan información sobre el valor central o típico de un conjunto de datos. Estas medidas nos ayudan a responder preguntas como: “¿Cuál es el valor promedio de una variable?” o “¿Cuál es el valor que se encuentra en el centro de la distribución?”.
Por otro lado, los percentiles son una forma de dividir los datos en partes iguales, lo que nos permite comprender cómo se distribuyen los valores en un conjunto de datos y cómo se comparan con valores específicos de referencia. Los percentiles son particularmente útiles para analizar la posición relativa de un valor en relación con otros valores y para identificar valores atípicos o extremos en la distribución.
En esta exposición, exploraremos en detalle las medidas de tendencia central, incluyendo cómo calcular y usar la media, la mediana y la moda en RStudio. También exploraremos cómo calcular percentiles y su aplicación en la comprensión de datos. A lo largo de esta presentación, aprenderemos cómo estas herramientas estadísticas pueden ayudarnos a tomar decisiones informadas y a obtener información valiosa de nuestros conjuntos de datos.
Las medidas de tendencia central son medidas estadísticas que pretenden resumir en un solo valor a un conjunto de valores. Representan un centro en torno al cual se encuentra ubicado el conjunto de los datos. Las medidas de tendencia central más utilizadas son: media, mediana y moda. Las medidas de dispersión en cambio miden el grado de dispersión de los valores de la variable. Dicho en otros términos las medidas de dispersión pretenden evaluar en qué medida los datos difieren entre sí. De esta forma, ambos tipos de medidas usadas en conjunto permiten describir un conjunto de datos entregando información acerca de su posición y su dispersión. Los procedimientos para obtener las medidas estadísticas difieren levemente dependiendo de la forma en que se encuentren los datos. Si los datos se encuentran ordenados en una tabla estadística diremos que se encuentran “agrupados” y si los datos no están en una tabla hablaremos de datos “no agrupados”. Según este criterio, haremos primero el estudio de las medidas estadísticas para datos no agrupados y luego para datos agrupados.
La “media aritmética” es una medida de tendencia central utilizada para calcular el valor promedio de un conjunto de datos. Se obtiene sumando todos los valores en el conjunto y luego dividiendo la suma por el número de valores. La media aritmética proporciona una estimación del valor central de los datos y se utiliza ampliamente en estadísticas para resumir la distribución de datos.
Media Aritmética (Datos no Agrupados)
La “media aritmética para datos no agrupados” es una medida de tendencia central utilizada cuando se tienen valores individuales sin categorizar. Se obtiene sumando todos los valores y dividiendo la suma por la cantidad total de valores. Esta medida es la forma más común de calcular el valor promedio y se utiliza cuando se dispone de datos puntuales en lugar de intervalos o categorías y se expresa como:
Media de la población:
\[\begin{equation} u = \frac{\sum_{i=1}^{n} X_i}{N} \end{equation}\]Media de una muestra:
\[\begin{equation} \overline{x} = \frac{\sum_{i=1}^{n} X_i}{n} \end{equation}\]Donde:
Por ejemplo:
Supongamos que tenemos un conjunto de 10 valores numéricos:
\(72,88,65,90,78,82,75,95,87,70\)
Para calcular la media aritmética de estos 10 valores, simplemente sumamos todos los valores y luego dividimos la suma por la cantidad de valores (en este caso, 10):
\[\begin{equation} \overline{x} = \frac{\sum_{i=1}^{10} X_i}{10} = \frac{802}{10} = {80.2} \end{equation}\]EJEMPLO USANDO CODIGO R
# Supongamos que tenemos un conjunto de 10 valores numéricos
valores <- c(72, 88, 65, 90, 78, 82, 75, 95, 87, 70)
# Calculamos la media aritmética
media_aritmetica <- mean(valores)
media_aritmetica[1] 80.2
Media Aritmética (Datos Agrupados)
La “media aritmética para datos agrupados” es una medida de tendencia central utilizada cuando los datos se presentan en forma de intervalos o clases en lugar de valores individuales. Se calcula sumando el producto de los puntos medios de los intervalos y sus frecuencias, y luego dividiendo por el número total de datos en el conjunto. Esta medida es útil cuando se trabaja con datos categóricos o discretos agrupados en intervalos.
\[\begin{equation} \overline{x} = \frac{\sum_{i=1}^{n} (X_i \cdot f_i)}{N} \end{equation}\]Donde:
La fórmula implica sumar el producto de los puntos medios de los intervalos y sus respectivas frecuencias y luego dividir esta suma por el número total de datos. Esta fórmula es útil para calcular la media aritmética cuando se trabaja con datos agrupados en intervalos o clases en lugar de valores individuales.
Ejemplo:
Supongamos que tenemos los siguientes datos de calificaciones de un grupo de estudiantes agrupados en intervalos de 10 puntos:
| Intervalo de Calificaciones | Frecuencia (Cantidad de Estudiantes) |
|---|---|
| 40 - 49 | 5 |
| 50 - 59 | 12 |
| 60 - 69 | 20 |
| 70 - 79 | 18 |
| 80 - 89 | 15 |
| 90 - 99 | 10 |
Para calcular la media aritmética de estas calificaciones agrupadas, primero debes determinar el punto medio (marca de clase) de cada intervalo, usando la fórmula:
\[\begin{equation} X = \frac{L_i + L_s}{2} \end{equation}\]y luego aplicar la fórmula de la media aritmética para datos agrupados:
Calcular los puntos medios de los intervalos:
Punto medio del intervalo \(40-49 = (40 + 49) / 2 = 44.5\)
Punto medio del intervalo \(50-59 = (50 + 59) / 2 = 54.5\)
Punto medio del intervalo \(60-69 = (60 + 69) / 2 = 64.5\)
Punto medio del intervalo \(70-79 = (70 + 79) / 2 = 74.5\)
Punto medio del intervalo \(80-89 = (80 + 89) / 2 = 84.5\)
Punto medio del intervalo \(90-99 = (90 + 99) / 2 = 94.5\)
Aplicar la fórmula de la media aritmética para datos agrupados:
\[\begin{equation} \overline{x} = \frac{(44.5⋅5)+(54.5⋅12)+(64.5⋅20)+(74.5⋅18)+(84.5⋅15)+(94.5⋅10)}{80} \end{equation}\] \[\begin{equation} \overline{x} = \frac{222.5+654+1290+1341+1267.5+945}{80} = 75.2375 \end{equation}\]Por lo tanto, la media aritmética de las calificaciones de los estudiantes en estos intervalos agrupados es aproximadamente 71.5. Esto significa que, en promedio, los estudiantes obtuvieron una calificación de alrededor de 71.5.
EJEMPLO USANDO CODIGO R
# Crear un vector con las frecuencias de calificaciones
frecuencias <- c(5, 12, 20, 18, 15, 10)
# Crear un vector con los límites inferiores y superiores de los intervalos
limites_inferiores <- c(40, 50, 60, 70, 80, 90)
limites_superiores <- c(49, 59, 69, 79, 89, 99)
# Calcular los puntos medios de los intervalos
puntos_medios <- (limites_inferiores + limites_superiores) / 2
# Calcular el número total de estudiantes
N <- sum(frecuencias)
# Calcular la suma de (puntos medios * frecuencias)
suma_productos <- sum(puntos_medios * frecuencias)
# Calcular la media aritmética para datos agrupados
media_aritmetica_agrupados <- suma_productos / N
media_aritmetica_agrupados[1] 71.5
Otra forma de hallar la media aritmética:
#install.packages("dplyr")
library(dplyr)
Attaching package: 'dplyr'
The following objects are masked from 'package:stats':
filter, lag
The following objects are masked from 'package:base':
intersect, setdiff, setequal, union
# Crear un data frame con los datos agrupados
data <- data.frame(
Intervalo = c("40-49", "50-59", "60-69", "70-79", "80-89", "90-99"),
Frecuencia = c(5, 12, 20, 18, 15, 10),
LimiteInferior = c(40, 50, 60, 70, 80, 90),
LimiteSuperior = c(49, 59, 69, 79, 89, 99)
)
# Calcular el punto medio para cada intervalo y la suma ponderada
media_aritmetica <- data %>%
mutate(PuntoMedio = (LimiteInferior + LimiteSuperior) / 2) %>%
summarise(MediaAritmetica = sum(PuntoMedio * Frecuencia) / sum(Frecuencia))
media_aritmetica MediaAritmetica
1 71.5
En el ámbito de la estadística, la mediana representa el valor de la variable de posición central en un conjunto de datos ordenados. Se le denota mediana. Si la serie tiene un número par de puntuaciones, la mediana es la media entre las dos puntuaciones centrales.
La mediana se puede dividir en dos tipos principales según el tipo de datos:
Mediana (Datos no Agrupados)
Se define como aquella medida de un conjunto de observaciones que no es superado ni supera a más de la mitad de las observaciones, arregladas en orden de magnitud #creciente o decreciente. Esta medida se calcula de la siguiente forma:
\[\begin{equation} {M_e} = x_ \frac{(n+1)}{2} \ \end{equation}\]Por ejemplo, considera el siguiente conjunto de datos: 5, 7, 9, 11, 13, 15, 17
Como hay un número impar de datos (7 en total), la mediana es el valor que se encuentra en el medio de la distribución, que en este caso es 11. Entonces, la mediana de este conjunto de datos no agrupados es 11.
*EJEMPLO USANDO CODIGO R
#Datos no agrupados
datos <- c(5, 7, 9, 11, 13, 15, 17)
# Calcular la mediana
mediana <- median(datos)
# Imprimir la mediana
print(mediana)[1] 11
Mediana (Datos Agrupados)
Cuando sólo se disponga de información resumida en una tabla de frecuencias, se puede hacer el cálculo de la Mediana, mediante la siguiente expresión:
\[\begin{equation} \text{Me}= L + c (\frac{n/2 - F_j-1}{(f_j)}) \end{equation}\]Donde:
Ejemplo:
| CLASES | FRECUENCIA | FRECUENCIA ACUMULADA |
|---|---|---|
| 10 - 20 | 4 | 4 |
| 20 - 30 | 5 | 9 |
| 30 - 40 | 9 | 18 |
| 40 - 50 | 11 | 29 |
| 50 - 60 | 13 | 42 |
Con la información de las frecuencias, podemos calcular la mediana utilizando la fórmula específica para datos agrupados.
\[\begin{equation} \text{Me}= L + c (\frac{n/2 - F_j-1}{(f_j)})\ \end{equation}\] \[\begin{equation} \text{Me}= 40 + 10(\frac{42/2 - 18}{(11)})\ \end{equation}\] \[\begin{equation} \text{Me}= 40 + 10(\frac{3}{11})\ \end{equation}\] \[\begin{equation} \text{Me}= 40 + 2.72\ \end{equation}\] \[\begin{equation} \text{Me}= 42.72\ \end{equation}\]En este ejemplo, la mediana sería aproximadamente 42.72 para los datos agrupados dados.
*EJEMPLO USANDO CODIGO R
# Definir los datos agrupados
intervalos <- c("10 - 20", "20 - 30", "30 - 40", "40 - 50", "50 - 60")
frecuencia <- c(4, 5, 9, 11, 13)
frecuencia_acumulada <- c(4, 9, 18, 29, 42)
# Calcular el número total de datos (N)
N <- sum(frecuencia)
# Encontrar el intervalo que contiene la mediana
intervalo_mediana <- intervalos[which(frecuencia_acumulada >= N/2)[1]]
# Extraer el límite inferior y superior del intervalo de la mediana
limites_mediana <- as.numeric(unlist(strsplit(intervalo_mediana, " - ")))
limite_inferior_mediana <- limites_mediana[1]
limite_superior_mediana <- limites_mediana[2]
# Calcular la amplitud del intervalo (I)
I <- limite_superior_mediana - limite_inferior_mediana
# Calcular la frecuencia del intervalo de la mediana (f)
f <- frecuencia[which(intervalos == intervalo_mediana)]
# Calcular la mediana
mediana <- limite_inferior_mediana + ((N/2 - frecuencia_acumulada[which(intervalos == intervalo_mediana) - 1]) * I) / f
# Imprimir la mediana
print(paste("La mediana es:", round(mediana, 2)))[1] "La mediana es: 42.73"
La moda es una medida de tendencia central que representa el valor más frecuente en un conjunto de datos. En general, la moda se utiliza para identificar el valor que aparece con mayor frecuencia y puede ser aplicada a conjuntos de datos numéricos o categóricos. Es particularmente útil para comprender la distribución de datos y encontrar valores representativos dentro de un conjunto.
La moda se puede dividir en dos tipos principales según el tipo de datos:
Moda (Datos no Agrupados)
La moda para datos no agrupados se refiere al valor que aparece con mayor frecuencia en un conjunto de datos sin que estos estén organizados en clases. En este caso, se puede identificar simplemente observando cuál es el valor que se repite con mayor frecuencia. Por ejemplo, considera el siguiente conjunto de datos:
2,4,4,5,6,6,6,7,8,9
En este caso, la moda sería 6, ya que es el valor que más se repite en el conjunto de datos proporcionado.
EJEMPLO USANDO CODIGO R
# Datos no agrupados
datos <- c(2, 4, 4, 5, 6, 6, 6, 7, 8, 9)
# Calcular la moda
moda_result <- as.numeric(names(table(datos))[table(datos) == max(table(datos))])
# Imprimir la moda
print(moda_result)[1] 6
Otra forma:
# install.packages("DescTools")
library(DescTools)Warning: package 'DescTools' was built under R version 4.3.2
#creamos nuestro vector
datos <- c(2, 4, 4, 5, 6, 6, 6, 7, 8, 9)
#Calculamos la moda con la herramienta mode
moda<- Mode(datos)
#Imprimimos resultado
cat("la moda de los datos es:", moda)la moda de los datos es: 6
Como observamos al imprimir la moda obtenemos el mismo resultado que el encontrado anteriormente.
Moda (Datos Agrupados)
en el contexto de datos agrupados, la moda se refiere al valor o rango de valores que tiene la mayor frecuencia en un conjunto de datos que ha sido agrupado en clases. La clase modal es aquella que tiene la frecuencia más alta entre todas las clases y representa el valor más frecuente en el conjunto de datos. El valor o el rango de valores dentro de la clase modal se considera la moda en el contexto de datos agrupados.
Formula: \(\text{Moda} = L + \frac{f_1 - f_0}{(f_1 - f_0) + (f_1 - f_2)} \times h\)
Donde:
Ejemplo:
| CLASES | FRECUENCIA |
|---|---|
| 50 - 60 | 4 |
| 60 - 70 | 7 |
| 70 - 80 | 9 |
| 80 - 90 | 13 |
| 90 - 100 | 10 |
Aplicando la fórmula para datos agrupados, primero necesitamos identificar la clase modal, que en este caso es 80-90. Luego, con la información de las frecuencias, podemos calcular la moda utilizando la fórmula específica para datos agrupados.
\(\text{Moda} = L + \frac{f_1 - f_0}{(f_1 - f_0) + (f_1 - f_2)} \times h\)
\(\text{Moda} = 80 + \frac{13 - 9}{(13-9) + (13-10)} \times 10\)
\(\text{Moda} = 80 + \frac{4}{7} \times 10\)
\(\text{Moda} = 85.71\)
En este ejemplo, la moda sería aproximadamente 85.71 para los datos agrupados dados.
*EJEMPLO USANDO CODIGO R
# Datos agrupados
clases <- c("50-60", "60-70", "70-80", "80-90", "90-100")
frecuencias <- c(4, 7, 9, 13, 10)
# Crear un dataframe con las clases y frecuencias
df <- data.frame(Clases = clases, Frecuencia = frecuencias)
# Calcular la moda exacta para datos agrupados
h <- 10
index_moda <- which.max(frecuencias)
limite_inferior <- as.numeric(sub("-.*", "", df$Clases[index_moda]))
frecuencia_moda <- df$Frecuencia[index_moda]
frecuencia_anterior <- ifelse(index_moda - 1 > 0, df$Frecuencia[index_moda - 1], 0)
frecuencia_siguiente <- ifelse(index_moda + 1 <= length(frecuencias), df$Frecuencia[index_moda + 1], 0)
moda_exacta <- limite_inferior + ((frecuencia_moda - frecuencia_anterior) / ((frecuencia_moda - frecuencia_anterior) + (frecuencia_moda - frecuencia_siguiente))) * h
# Imprimir el resultado
print(paste("La moda exacta para datos agrupados es:", round(moda_exacta, 2)))[1] "La moda exacta para datos agrupados es: 85.71"
Los percentiles son, tal vez, las medidas más utilizadas para propósitos de ubicación o clasificación de las personas cuando atienden características tales como peso, estatura, etc. Los percentiles son ciertos números que dividen la sucesión de datos ordenados en cien partes porcentualmente iguales. Estos son los valores que dividen en cien partes iguales el conjunto de datos ordenados.
El percentil 50 del data set es la mediana, el percentil 25 es el primer cuartil y el percentil 75 es el tercer cuartil.
Percentiles (Datos no Agrupados)
Si se tienen una serie de valores \(X_1, X_2, X_3 … X_n\), se localiza mediante las siguientes fórmulas:
Para los percentiles, n es par cuando: \(\frac{(K * (n + 1))}{100}\)
en R studio:
calcular_valor <- function(K, n) {
resultado <- (K * (n + 1)) / 100
return(resultado)}NOTA: para hallar los Percentiles se sigue el mismo procedimiento que los Cuartiles.
Ejemplo:
Datos: 12, 15, 18, 20, 22, 25, 28, 30, 35, 40
Posición del \({P_(25)}\)
\(\frac{(K * (n + 1))}{100}\) = \(\frac{(25 * (10 + 1))}{100}\) = \(\frac{(25 * (11))}{100}\) = \(\frac{(275)}{100}\) = \({2.75}\)
Posición del \({P_(75)}\)
\(\frac{(K * (n + 1))}{100}\) = \(\frac{(75 * (11))}{100}\) = \(\frac{(825)}{100}\) = \({8.25}\)
Aplicación R studio:
datos <- c(12, 15, 18, 20, 22, 25, 28, 30, 35, 40)
# Ordena los datos de menor a mayor
datos_ordenados <- sort(datos)
# Calcula la posición del percentil 25
n <- length(datos_ordenados)
posicion_P25 <- (25 / 100) * (n + 1)
# Identifica las posiciones inferior y superior
posicion_inf <- floor(posicion_P25)
posicion_sup <- ceiling(posicion_P25)
# Realiza la interpolación lineal para encontrar el percentil 25
P25 <- datos_ordenados[posicion_inf] + (posicion_P25 - posicion_inf) * (datos_ordenados[posicion_sup] - datos_ordenados[posicion_inf])
P25[1] 17.25
Ejemplo 02:
Datos: 10, 15, 18, 20, 25, 28, 30, 35, 38, 42, 45, 50, 55
Posición del \({P_(90)}\)
\(\frac{(90 * (13+1))}{100}\) = \(\frac{(90* (14))}{100}\) = \(\frac{(1260)}{100}\) = \({12.6}\)
Aplicación en R studio:
# Datos
datos <- c(10, 15, 18, 20, 25, 28, 30, 35, 38, 42, 45, 50, 55)
# Ordena los datos de menor a mayor
datos_ordenados <- sort(datos)
# Calcula la posición del percentil 90
n <- length(datos_ordenados)
posicion_P90 <- (90 / 100) * (n + 1)
# Identifica las posiciones inferior y superior
posicion_inf <- floor(posicion_P90)
posicion_sup <- ceiling(posicion_P90)
# Realiza la interpolación lineal para encontrar el percentil 90
P90 <- datos_ordenados[posicion_inf] + (posicion_P90 - posicion_inf) * (datos_ordenados[posicion_sup] - datos_ordenados[posicion_inf])
P90[1] 53
Fórmula para percentiles (Datos Agrupados)
\(P_k=L_i+c\left(\frac{\frac{(k \cdot n)}{100}-F_{j-1}}{f_j}\right)\), \(P=\frac{k.n}{100}\)
Usando la siguiente tabla de frecuencia que agrupa la longitud del pétalo de 150 flores iris (iris$Petal.Length)
| INTERVALOS | FRECUENCIA | FRECUENCIA ACUMULADA |
|---|---|---|
| 0.95 - 2.15 | 50 | 50 |
| 2.15 - 3.35 | 3 | 53 |
| 3.35 - 4.55 | 34 | 87 |
| 4.55 - 5.75 | 47 | 134 |
| 5.75 - 6.95 | 16 | 150 |
\(\text{p36} = (3.35+ 1.2*(\frac{54-53}{34})\)
\(\text{p36} = (3.35+ 1.2*(0.02941176)\)
\(\text{p36} = (3.35+ 0.03529412)\)
\(\text{p36} = 3.385\)
Usando data set importados desde github
url <- "https://raw.githubusercontent.com/JulioArapa/mypackage/main/ds_salaries.csv"
data1 <- read.csv(url)
dim(data1)[1] 607 12
names(data1) [1] "X" "work_year" "experience_level"
[4] "employment_type" "job_title" "salary"
[7] "salary_currency" "salary_in_usd" "employee_residence"
[10] "remote_ratio" "company_location" "company_size"
# Para encontrar los cuartiles de la variable slary_in_usd
quantile(data1$salary_in_usd) 0% 25% 50% 75% 100%
2859 62726 101570 150000 600000
# Para encontrar un percentil de la variable slary_in_usd
quantile(data1$salary_in_usd, 0.36) 36%
80000
# Podemos obtener múltiples percentiles usando un vector.
quantile(data1$salary_in_usd, probs = c(0.3,0.5,0.7,0.9)) 30% 50% 70% 90%
71337.6 101570.0 140000.0 200000.0
# Para obtener el percentil correspondiente a un valor determinado.
ecdf(data1$salary_in_usd)(160589)[1] 0.8039539
# Tambien podemos obtener los cuatiles de la columna salary_in_usd basado en los grupos de la columna job_title
# install.packages("dplyr")
library(dplyr)
do.call("rbind",
tapply(data1$salary_in_usd,
data1$job_title,
quantile)) 0% 25% 50% 75%
3D Computer Vision Researcher 5409 5409.00 5409.0 5409.00
AI Scientist 12000 15026.50 45896.0 87500.00
Analytics Engineer 135000 165000.00 179850.0 189850.00
Applied Data Scientist 54238 110037.00 157000.0 177000.00
Applied Machine Learning Scientist 31875 36768.75 56700.0 162000.00
BI Data Analyst 9272 40944.25 76500.0 99500.00
Big Data Architect 99703 99703.00 99703.0 99703.00
Big Data Engineer 5882 17557.00 41305.5 79756.00
Business Data Analyst 18442 59102.00 70912.0 100000.00
Cloud Data Engineer 89294 106970.50 124647.0 142323.50
Computer Vision Engineer 10000 20180.25 26304.5 52152.25
Computer Vision Software Engineer 70000 82873.00 95746.0 122873.00
Data Analyst 6072 62000.00 90320.0 116150.00
Data Analytics Engineer 20000 42500.00 64598.5 86897.75
Data Analytics Lead 405000 405000.00 405000.0 405000.00
Data Analytics Manager 105400 114640.00 120000.0 142500.00
Data Architect 90700 148900.00 180000.0 200669.50
Data Engineer 4000 70039.50 105500.0 154600.00
Data Engineering Manager 59303 79833.00 150000.0 153000.00
Data Science Consultant 5707 66786.00 76833.0 83416.50
Data Science Engineer 40189 50094.50 60000.0 93610.50
Data Science Manager 54094 142285.25 155750.0 178050.00
Data Scientist 2859 54724.00 103691.0 140850.00
Data Specialist 165000 165000.00 165000.0 165000.00
Director of Data Engineering 113476 135107.00 156738.0 178369.00
Director of Data Science 130026 147756.50 168000.0 223489.50
ETL Developer 54957 54957.00 54957.0 54957.00
Finance Data Analyst 61896 61896.00 61896.0 61896.00
Financial Data Analyst 100000 187500.00 275000.0 362500.00
Head of Data 32974 102839.00 200000.0 230000.00
Head of Data Science 85000 103750.00 138937.5 181906.25
Head of Machine Learning 79039 79039.00 79039.0 79039.00
Lead Data Analyst 19609 53304.50 87000.0 128500.00
Lead Data Engineer 56000 106916.75 121593.5 151250.00
Lead Data Scientist 40570 77785.00 115000.0 152500.00
Lead Machine Learning Engineer 87932 87932.00 87932.0 87932.00
Machine Learning Developer 78791 78791.00 78791.0 89395.50
Machine Learning Engineer 20000 51064.00 87932.0 150000.00
Machine Learning Infrastructure Engineer 50180 54217.50 58255.0 126627.50
Machine Learning Manager 117104 117104.00 117104.0 117104.00
Machine Learning Scientist 12000 118075.00 156500.0 225000.00
Marketing Data Analyst 88654 88654.00 88654.0 88654.00
ML Engineer 15966 32415.00 70537.5 211341.00
NLP Engineer 37236 37236.00 37236.0 37236.00
Principal Data Analyst 75000 98750.00 122500.0 146250.00
Principal Data Engineer 185000 192500.00 200000.0 400000.00
Principal Data Scientist 148261 156837.00 173762.0 227500.00
Product Data Analyst 6072 9554.00 13036.0 16518.00
Research Scientist 42000 62176.00 76263.5 105000.00
Staff Data Scientist 105000 105000.00 105000.0 105000.00
100%
3D Computer Vision Researcher 5409
AI Scientist 200000
Analytics Engineer 205300
Applied Data Scientist 380000
Applied Machine Learning Scientist 423000
BI Data Analyst 150000
Big Data Architect 99703
Big Data Engineer 114047
Business Data Analyst 135000
Cloud Data Engineer 160000
Computer Vision Engineer 125000
Computer Vision Software Engineer 150000
Data Analyst 200000
Data Analytics Engineer 110000
Data Analytics Lead 405000
Data Analytics Manager 150260
Data Architect 266400
Data Engineer 324000
Data Engineering Manager 174000
Data Science Consultant 103000
Data Science Engineer 127221
Data Science Manager 241000
Data Scientist 412000
Data Specialist 165000
Director of Data Engineering 200000
Director of Data Science 325000
ETL Developer 54957
Finance Data Analyst 61896
Financial Data Analyst 450000
Head of Data 235000
Head of Data Science 224000
Head of Machine Learning 79039
Lead Data Analyst 170000
Lead Data Engineer 276000
Lead Data Scientist 190000
Lead Machine Learning Engineer 87932
Machine Learning Developer 100000
Machine Learning Engineer 250000
Machine Learning Infrastructure Engineer 195000
Machine Learning Manager 117104
Machine Learning Scientist 260000
Marketing Data Analyst 88654
ML Engineer 270000
NLP Engineer 37236
Principal Data Analyst 170000
Principal Data Engineer 600000
Principal Data Scientist 416000
Product Data Analyst 20000
Research Scientist 450000
Staff Data Scientist 105000
Realizando el análisis de las medidas de tendencia central y percentiles usando una base de datos predeterminada de R.
# Cargar el conjunto de datos "iris"
data(iris)
# Calcular la media de la longitud del sépalo
media <- mean(iris$Sepal.Length)
# Calcular la mediana de la longitud del sépalo
mediana <- median(iris$Sepal.Length)
# Calcular la moda de la longitud del sépalo
tab <- table(iris$Sepal.Length)
moda_value <- as.numeric(names(tab[which.max(tab)]))
# Calcular los percentiles 25, 50 y 75 de la longitud del sépalo
percentiles <- quantile(iris$Sepal.Length, c(0.25, 0.50, 0.75))
# Imprimir los resultados
cat("Media:", media, "\n")Media: 5.843333
cat("Mediana:", mediana, "\n")Mediana: 5.8
cat("Moda:", moda_value, "\n")Moda: 5
cat("Percentil 25:", percentiles[1], "\n")Percentil 25: 5.1
cat("Percentil 50:", percentiles[2], "\n")Percentil 50: 5.8
cat("Percentil 75:", percentiles[3], "\n")Percentil 75: 6.4
Realizando el análisis de las medidas de tendencia central y percentiles usando una base de datos externa.
# Instala y carga la librería "readr" para leer datos CSV
#install.packages("readr")
library(readr)
# Descargar y leer los datos desde el enlace
url <- "https://raw.githubusercontent.com/JulioArapa/mypackage/main/ds_salaries.csv"
datos <- read.csv(url)
# Calcular la media aritmética de la columna "salario" en el conjunto de datos
media <- mean(datos$salary)
print(paste("Media aritmética:", media))[1] "Media aritmética: 324000.062602965"
# Calcular la mediana de la columna "salario" en el conjunto de datos
mediana <- median(datos$salary)
print(paste("Mediana:", mediana))[1] "Mediana: 115000"
# Calcular la moda de la columna "salario" en el conjunto de datos
tabla_frecuencia <- table(datos$salary)
moda <- as.numeric(names(tabla_frecuencia[which.max(tabla_frecuencia)]))
print(paste("Moda:", moda))[1] "Moda: 80000"
Meraz F. (10 de marzo de 2021). Caso 5. Rpubs. https://rpubs.com/FRANCIAMERAZ75/736745
Webster, Estadistica Aplicada a Los Negocios y La Economia (2001).pdf
Tellez, G. (11 de enero de 2022). Ejercicio: un script para calcular la tabla de frecuencias con datos agrupados.
Veliz, Estadística para la administración y los negocios (2011).pdf