Población: Es el conjunto completo de elementos o individuos que poseen una característica en común y que son objeto de estudio.
Ejemplo: Si estás interesado en estudiar el rendimiento académico de los estudiantes de una institución, la población sería todos los estudiantes de dicha institución.
En el diagrama de Venn:
Población: Representa el conjunto completo de datos (el círculo azul).
Muestra: Representa un subconjunto de la población (el círculo rojo).
El área de intersección (si se dibuja) muestra que la muestra es una parte de la población. Este diagrama visualiza cómo una muestra forma parte del conjunto total de la población.
library(VennDiagram)
## Loading required package: grid
## Loading required package: futile.logger
library(grid)
# Crear un diagrama de Venn
venn.plot <- venn.diagram(
x = list(
Poblacion = 1:1000,
Muestra = sample(1:1000, 100)
),
category.names = c("Población", "Muestra"),
filename = NULL,
output = TRUE,
col = c("blue", "red"),
fill = c("blue", "red"),
alpha = 0.5,
cex = 1.5,
cat.cex = 1.5,
cat.col = c("blue", "red"),
cat.pos = 0,
cat.dist = 0.05,
main = "Diagrama de Venn: Población y Muestra"
)
# Mostrar el diagrama
grid.draw(venn.plot)
Muestra: Es un subconjunto de la población que se selecciona para realizar el estudio. La muestra debe ser representativa para que los resultados puedan ser generalizados a la población.
Ejemplo: De los 1,000 estudiantes de una institución, seleccionas una muestra aleatoria de 100 estudiantes para evaluar su rendimiento académico.
library(ggplot2)
library(plotly)
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
set.seed(123) # Para reproducibilidad
# Generar datos de la población
poblacion <- data.frame(
id = 1:1000,
valor = rnorm(1000, mean = 50, sd = 10)
)
# Seleccionar una muestra aleatoria de la población
muestra <- poblacion[sample(nrow(poblacion), 100), ]
# Crear el gráfico
g<-ggplot() +
# Graficar la población
geom_point(data = poblacion, aes(x = id, y = valor), color = "blue", alpha = 0.3) +
# Graficar la muestra
geom_point(data = muestra, aes(x = id, y = valor), color = "red", size = 3) +
labs(
title = "Población y Muestra",
x = "ID",
y = "Valor"
) +
theme_minimal() +
scale_color_manual(values = c("Población" = "blue", "Muestra" = "red")) +
theme(legend.position = "none")
ggplotly(g)
En el gráfico:
Población: Los puntos azules representan todos los datos de la población. Muestra: Los puntos rojos representan la muestra seleccionada aleatoriamente de la población. Este gráfico muestra cómo se puede visualizar la relación entre una población completa y una muestra extraída de ella.
Variables: Son características o propiedades que pueden tomar diferentes valores en distintos elementos de una población o muestra. Las variables pueden ser cualitativas o cuantitativas.
Ejemplo: En un estudio sobre el rendimiento académico, las variables pueden incluir el promedio de notas (cuantitativa) y la carrera (cualitativa).
Datos: Son los valores específicos que se observan o se miden para cada variable en la muestra o población.
Ejemplo: Si el promedio de notas para un estudiante es 85 y su carrera es “Ingeniería”, estos son datos específicos relacionados con las variables mencionadas.
Las variables se pueden clasificar en diferentes tipos según su naturaleza:
# Cargar librerías necesarias
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 dataframe con datos ficticios
datos <- data.frame(
ID = 1:10,
Edad = c(22, 25, 30, 29, 35, 40, 23, 31, 27, 33),
Carrera = c("Ingeniería", "Medicina", "Economía", "Arquitectura", "Ingeniería",
"Medicina", "Economía", "Arquitectura", "Ingeniería", "Medicina"),
Satisfaccion = c("Alta", "Media", "Alta", "Baja", "Alta", "Media", "Baja",
"Alta", "Media", "Baja")
)
# Mostrar el dataframe
print(datos)
## ID Edad Carrera Satisfaccion
## 1 1 22 Ingeniería Alta
## 2 2 25 Medicina Media
## 3 3 30 Economía Alta
## 4 4 29 Arquitectura Baja
## 5 5 35 Ingeniería Alta
## 6 6 40 Medicina Media
## 7 7 23 Economía Baja
## 8 8 31 Arquitectura Alta
## 9 9 27 Ingeniería Media
## 10 10 33 Medicina Baja
# Clasificación de las variables
variables <- list(
ID = "Identificador (Cualitativa Nominal)",
Edad = "Edad (Cuantitativa Continua)",
Carrera = "Carrera (Cualitativa Nominal)",
Satisfaccion = "Satisfacción (Cualitativa Ordinal)"
)
# Imprimir clasificación de variables
print(variables)
## $ID
## [1] "Identificador (Cualitativa Nominal)"
##
## $Edad
## [1] "Edad (Cuantitativa Continua)"
##
## $Carrera
## [1] "Carrera (Cualitativa Nominal)"
##
## $Satisfaccion
## [1] "Satisfacción (Cualitativa Ordinal)"
# Descripción básica de las variables cuantitativas
summary(datos$Edad)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 22.0 25.5 29.5 29.5 32.5 40.0
# Descripción de variables cualitativas
table(datos$Carrera)
##
## Arquitectura Economía Ingeniería Medicina
## 2 2 3 3
table(datos$Satisfaccion)
##
## Alta Baja Media
## 4 3 3
Datos: Se crea un data.frame llamado datos que contiene cuatro columnas:
ID: Un identificador numérico para cada registro (variable cualitativa nominal).
Edad: La edad de cada persona (variable cuantitativa continua).
Carrera: La carrera que estudian (variable cualitativa nominal).
Satisfaccion: El nivel de satisfacción con los estudios (variable cualitativa ordinal).
Clasificación de Variables: Se define una lista variables que clasifica cada variable del data.frame según su tipo.
Descripción Básica:
Para la variable cuantitativa Edad, se utiliza la función summary() para obtener estadísticas descriptivas básicas.
Para las variables cualitativas (Carrera y Satisfaccion), se utiliza la función table() para obtener frecuencias de cada categoría.
El data.frame se imprime mostrando los datos.
La clasificación de variables se imprime, indicando el tipo de cada variable.
Se obtiene un resumen estadístico de la variable Edad.
Se muestran las frecuencias de las categorías en Carrera y Satisfaccion.
Este código te permitirá ver cómo se ingresan y se clasifican las variables en R, así como obtener información básica sobre los datos.
Las escalas de medición definen el tipo de información que una variable puede proporcionar. Las escalas principales son:
El agrupamiento de valores se refiere a la organización de los datos en categorías o intervalos para facilitar su análisis.
Ejemplo: Para analizar las edades de un grupo de personas, podrías agrupar los datos en intervalos de 10 años (0-10, 11-20, 21-30, etc.).
Los datos deben ser analizados para obtener información útil. Esto incluye la recopilación, organización, y análisis de los datos para identificar patrones o tendencias.
Ejemplo: Al analizar los datos de una encuesta sobre hábitos de compra, podrías calcular la frecuencia de compra de diferentes productos para entender cuáles son los más populares.
# Cargar librerías necesarias
library(dplyr)
# Crear un dataframe con datos ficticios
datos <- data.frame(
ID = 1:10,
Edad = c(22, 25, 30, 29, 35, 40, 23, 31, 27, 33),
Carrera = c("Ingeniería", "Medicina", "Economía", "Arquitectura", "Ingeniería",
"Medicina", "Economía", "Arquitectura", "Ingeniería", "Medicina"),
Satisfaccion = factor(c("Alta", "Media", "Alta", "Baja", "Alta", "Media", "Baja",
"Alta", "Media", "Baja"), levels = c("Baja", "Media", "Alta")),
Temperatura = c(20, 22, 23, 21, 20, 19, 24, 25, 22, 21),
Peso = c(55.5, 60.0, 70.2, 68.3, 72.0, 65.5, 62.0, 75.5, 67.0, 64.0)
)
# Mostrar el dataframe
print(datos)
## ID Edad Carrera Satisfaccion Temperatura Peso
## 1 1 22 Ingeniería Alta 20 55.5
## 2 2 25 Medicina Media 22 60.0
## 3 3 30 Economía Alta 23 70.2
## 4 4 29 Arquitectura Baja 21 68.3
## 5 5 35 Ingeniería Alta 20 72.0
## 6 6 40 Medicina Media 19 65.5
## 7 7 23 Economía Baja 24 62.0
## 8 8 31 Arquitectura Alta 25 75.5
## 9 9 27 Ingeniería Media 22 67.0
## 10 10 33 Medicina Baja 21 64.0
# Clasificación de las variables por escalas de medición
escalas <- list(
ID = "Nominal: Identificador sin un orden específico",
Edad = "Razón: Variable continua con un cero absoluto",
Carrera = "Nominal: Categorías sin un orden específico",
Satisfaccion = "Ordinal: Niveles de satisfacción con un orden específico",
Temperatura = "Intervalo: Diferencias significativas sin un cero absoluto",
Peso = "Razón: Variable continua con un cero absoluto"
)
# Imprimir clasificación de escalas
print(escalas)
## $ID
## [1] "Nominal: Identificador sin un orden específico"
##
## $Edad
## [1] "Razón: Variable continua con un cero absoluto"
##
## $Carrera
## [1] "Nominal: Categorías sin un orden específico"
##
## $Satisfaccion
## [1] "Ordinal: Niveles de satisfacción con un orden específico"
##
## $Temperatura
## [1] "Intervalo: Diferencias significativas sin un cero absoluto"
##
## $Peso
## [1] "Razón: Variable continua con un cero absoluto"
# Descripción de las variables por tipo de escala
summary(datos$Edad) # Razón
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 22.0 25.5 29.5 29.5 32.5 40.0
table(datos$Carrera) # Nominal
##
## Arquitectura Economía Ingeniería Medicina
## 2 2 3 3
table(datos$Satisfaccion) # Ordinal
##
## Baja Media Alta
## 3 3 4
summary(datos$Temperatura) # Intervalo
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 19.00 20.25 21.50 21.70 22.75 25.00
summary(datos$Peso) # Razón
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 55.50 62.50 66.25 66.00 69.72 75.50
Datos: Se crea un data.frame
llamado
datos
con las siguientes columnas:
Clasificación de Escalas: Se define una lista
escalas
que clasifica cada variable según su escala de
medición.
Descripción Básica:
summary()
para obtener un resumen estadístico de las
variables continuas.table()
para obtener frecuencias de cada categoría.table()
para obtener frecuencias y levels()
para mostrar el orden de las categorías.summary()
para obtener un resumen estadístico de la
temperatura.data.frame
se imprime mostrando los datos.Este ejemplo te ayudará a entender cómo se pueden clasificar las variables según las escalas de medición y cómo se puede realizar un análisis básico de cada tipo de variable en R.
La estadística descriptiva es una rama de la estadística que se encarga de la organización, resumen y presentación de los datos de manera que sea fácil de entender y analizar.
Ejemplo: Calcular la media, la mediana y la desviación estándar de las notas de un examen es parte de la estadística descriptiva. Estos cálculos proporcionan una visión general del desempeño del grupo.
Defina con la mayor precisión posible una población adecuada en el caso de que se desee llevar a cabo un estudio estadístico sobre los siguientes temas. En cada caso, determine una unidad de observación.
Clasifique las siguientes variables en cualitativas o cuantitativas. En caso de ser cualitativas, indique si son nominales u ordinales; y en caso de ser cuantitativas, indique si son discretas o continuas.
En las variables del punto anterior, indique la escala de medición de cada una.
Clasifique las siguientes variables en cualitativas o cuantitativas. En caso de ser cualitativas, indique si son nominales u ordinales; y en caso de ser cuantitativas, indique si son discretas o continuas. Usa el siguiente código para crear un data.frame y clasificar las variables.
# Crear un data.frame con las variables para clasificación
variables <- data.frame(
Variable = c("Nivel de felicidad", "Tiempo de vida útil de un foco", "Número de hijos en las familias",
"Cantidad de agua en una presa", "Cantidad de dinero en una cuenta bancaria",
"Estado civil de una persona", "Nivel de contaminación en el aire de una ciudad",
"Precipitación pluvial en una región", "Preferencia sexual de una persona",
"Tiempo necesario para llevar a cabo un trabajo", "Temperatura en un cierto lugar en un cierto día",
"Número de mascotas por familia", "Causa de muerte de una persona",
"Nivel de dominio de un idioma extranjero", "Coeficiente intelectual de una persona",
"Nivel adquisitivo de una persona", "Lugares de residencia de una persona previos al actual",
"Actividad u oficio de una persona", "Capacidad de ahorro de una persona",
"Capital de una persona en el momento de su retiro laboral", "Resultado de un examen de matemáticas",
"Estado de salud de una persona", "Estatura promedio de un equipo de baloncesto"),
Clasificacion = NA
)
# Imprimir el data.frame para completar las clasificaciones
print(variables)
## Variable Clasificacion
## 1 Nivel de felicidad NA
## 2 Tiempo de vida útil de un foco NA
## 3 Número de hijos en las familias NA
## 4 Cantidad de agua en una presa NA
## 5 Cantidad de dinero en una cuenta bancaria NA
## 6 Estado civil de una persona NA
## 7 Nivel de contaminación en el aire de una ciudad NA
## 8 Precipitación pluvial en una región NA
## 9 Preferencia sexual de una persona NA
## 10 Tiempo necesario para llevar a cabo un trabajo NA
## 11 Temperatura en un cierto lugar en un cierto día NA
## 12 Número de mascotas por familia NA
## 13 Causa de muerte de una persona NA
## 14 Nivel de dominio de un idioma extranjero NA
## 15 Coeficiente intelectual de una persona NA
## 16 Nivel adquisitivo de una persona NA
## 17 Lugares de residencia de una persona previos al actual NA
## 18 Actividad u oficio de una persona NA
## 19 Capacidad de ahorro de una persona NA
## 20 Capital de una persona en el momento de su retiro laboral NA
## 21 Resultado de un examen de matemáticas NA
## 22 Estado de salud de una persona NA
## 23 Estatura promedio de un equipo de baloncesto NA
Reemplaza los valores NA
en la columna
Clasificacion
del data.frame variables
con la
clasificación correcta para cada variable. La clasificación debe indicar
si la variable es cualitativa (y si es
nominal u ordinal) o
cuantitativa (y si es discreta o
continua).
Actualiza el data.frame con las clasificaciones correctas y luego imprime el resultado para verificar tus respuestas.
Al completar este ejercicio, obtendrás una visión más clara de cómo clasificar diferentes tipos de variables y cómo estas clasificaciones afectan el análisis estadístico.
Las medidas de centralización son estadísticas que describen el centro o el punto de referencia de una distribución de datos. Estas medidas nos ayudan a comprender el valor típico o central de un conjunto de datos.
La media (o promedio) de un conjunto de datos es el valor que se obtiene al sumar todos los datos y dividir el resultado entre el número total de datos. Matemáticamente, si \(x_1, x_2, \ldots, x_n\) son los datos, la media \(\bar{x}\) se calcula como:
\[ \bar{x} = \frac{1}{n} \sum_{i=1}^n x_i \]
Consideremos los siguientes datos: 4, 8, 6, 5, 7.
La media se calcula como:
\[ \bar{x} = \frac{4 + 8 + 6 + 5 + 7}{5} = \frac{30}{5} = 6 \]
La media se calcula sumando todos los valores y dividiendo entre el número de valores. Aquí tienes un ejemplo en R:
# Datos de ejemplo
datos <- c(4, 8, 6, 5, 7)
# Calcular la media
media <- mean(datos)
# Mostrar el resultado
media
## [1] 6
datos <- c(4, 8, 6, 5, 7): Define un vector de datos. mean(datos): Calcula la media de los datos. media: Almacena y muestra el resultado de la media. El resultado será la media de los datos, que en este caso es 6.
La moda es el valor que aparece con mayor frecuencia en un conjunto de datos. Un conjunto de datos puede tener una sola moda, más de una moda (si varios valores tienen la misma frecuencia máxima), o ninguna moda (si todos los valores tienen la misma frecuencia).
Consideremos los siguientes datos: 3, 7, 3, 2, 8, 3.
La moda es el valor que aparece con mayor frecuencia, que en este caso es 3.
# Función para calcular la moda
calcular_moda <- function(x) {
tab <- table(x) # Crea una tabla de frecuencias
moda <- as.numeric(names(tab[tab == max(tab)])) # Encuentra el valor o valores con mayor frecuencia
return(moda)
}
# Datos de ejemplo
datos <- c(3, 7, 3, 2, 8, 3)
# Calcular la moda
moda <- calcular_moda(datos)
# Mostrar el resultado
moda
## [1] 3
calcular_moda <- function(x) { … }: Define una función para calcular la moda. table(x): Crea una tabla de frecuencias para los datos. tab[tab == max(tab)]: Encuentra los valores con la frecuencia máxima. names(): Obtiene los nombres (valores) correspondientes a la frecuencia máxima. datos <- c(3, 7, 3, 2, 8, 3): Define un vector de datos. moda <- calcular_moda(datos): Calcula la moda usando la función personalizada. moda: Almacena y muestra el resultado de la moda.
El resultado será el valor que aparece con mayor frecuencia, que en este caso es 3.
La mediana es el valor que divide un conjunto de datos en dos mitades iguales. Para calcular la mediana, primero se ordenan los datos en forma ascendente. Si el número de datos \(n\) es impar, la mediana es el valor en la posición central. Si \(n\) es par, la mediana es el promedio de los dos valores centrales. Matemáticamente:
Consideremos los siguientes datos: 2, 7, 3, 5, 8.
Primero, ordenamos los datos: 2, 3, 5, 7, 8. Dado que el número de datos es impar (5), la mediana es el valor en la posición central, que es 5.
Para un conjunto con un número par de datos, por ejemplo: 2, 3, 5, 7, 8, 9.
Ordenamos los datos: 2, 3, 5, 7, 8, 9. Dado que el número de datos es par (6), la mediana es el promedio de los dos valores centrales, que son 5 y 7. Por lo tanto:
\[ \text{Mediana} = \frac{5 + 7}{2} = 6 \]
# Datos de ejemplo
datos <- c(2, 3, 5, 7, 8, 9)
# Calcular la mediana
mediana <- median(datos)
# Mostrar el resultado
mediana
## [1] 6
En este caso, el conjunto tiene un número par de datos, por lo que la mediana es el promedio de los dos valores centrales (5 y 7), que da como resultado 6.
Ahora exploraremos algunas cantidades que nos permiten evaluar el grado de dispersión en un conjunto de datos numéricos. En la mayoría de estas medidas de dispersión, es necesario tener en cuenta un valor central de los datos como punto de referencia. En nuestro caso, utilizaremos la media \(\bar{x }\) como este valor central. Aunque otras medidas de centralización podrían emplearse como punto de referencia, optaremos por la media, siguiendo la práctica más común en el análisis estadístico.
La varianza es una medida que indica el promedio de las distancias al cuadrado de cada dato \(x_i\) respecto a la media \(\bar{x}\). Es una de las medidas de dispersión más utilizadas en estadística. Se calcula de la siguiente manera:
\[\text{Var}(x)=s^2(x)=\frac{1}{n}\sum_{i=1}^{n}(\bar{x}-x_i)^2\]
Para especificar que se trata de la varianza de un conjunto de datos denotado por \(x\), utilizamos los símbolos \(s^2\), \(s^2(x)\), o también \(\text{var}(x)\). Es evidente que para calcular la varianza, primero es necesario determinar la media \(\bar{x}\).
Consideremos el siguiente conjunto de datos: \(x = \{4, 8, 6, 5, 3\}\).
Calcular la media \(\bar{x}\): \[ \bar{x} = \frac{4 + 8 + 6 + 5 + 3}{5} = \frac{26}{5} = 5.2 \]
Calcular la diferencia de cada valor respecto a la media: \[ x_1 - \bar{x} = 4 - 5.2 = -1.2 \] \[ x_2 - \bar{x} = 8 - 5.2 = 2.8 \] \[ x_3 - \bar{x} = 6 - 5.2 = 0.8 \] \[ x_4 - \bar{x} = 5 - 5.2 = -0.2 \] \[ x_5 - \bar{x} = 3 - 5.2 = -2.2 \]
Elevar al cuadrado cada una de las diferencias: \[ (x_1 - \bar{x})^2 = (-1.2)^2 = 1.44 \] \[ (x_2 - \bar{x})^2 = (2.8)^2 = 7.84 \] \[ (x_3 - \bar{x})^2 = (0.8)^2 = 0.64 \] \[ (x_4 - \bar{x})^2 = (-0.2)^2 = 0.04 \] \[ (x_5 - \bar{x})^2 = (-2.2)^2 = 4.84 \]
Sumar todos los valores cuadrados: \[ \text{Suma} = 1.44 + 7.84 + 0.64 + 0.04 + 4.84 = 14.8 \]
Calcular la varianza \(s^2\): \[ s^2 = \frac{1}{n-1} \sum_{i=1}^{n} (x_i - \bar{x})^2 = \frac{14.8}{4} = 3.7 \]
La varianza de los datos \(x = \{4, 8, 6, 5, 3\}\) es \(3.7\). Este valor indica el grado de dispersión de los datos respecto a la media.
A continuación, calcularemos la varianza de un conjunto de datos usando R.
# Definimos un vector de datos
datos <- c(4, 8, 6, 5, 3)
# Calculamos la media de los datos
media <- mean(datos)
# Calculamos la varianza
varianza <- var(datos)
# Mostramos la media y la varianza
media
## [1] 5.2
varianza
## [1] 3.7
Definición de datos:
Creamos un vector llamado datos
que contiene los valores
4, 8, 6, 5, 3.
Cálculo de la media:
Utilizamos la función mean(datos)
para calcular la media
del conjunto de datos. La media es 5.2.
Cálculo de la varianza:
La función var(datos)
calcula la varianza de los datos.
En este caso, la varianza es 4.7. Nota: La función var()
en
R utiliza el divisor \(n-1\) (donde
\(n\) es el número de datos) para
calcular la varianza muestral.
Resultados:
Se imprimen tanto la media como la varianza calculadas.
La desviación estándar, también conocida como desviación típica, se
representa por la letra s
y se define como la raíz cuadrada
positiva de la varianza. Para calcularla, se utiliza la siguiente
fórmula:
\[ s = \sqrt{\text{var}(x)}=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(\bar{x}-x_i)^2} \] #### Ejemplo: Cálculo Manual de la Desviación Estándar
Consideremos el mismo conjunto de datos: \(x = \{4, 8, 6, 5, 3\}\).
Calcular la media \(\bar{x}\): \[ \bar{x} = \frac{4 + 8 + 6 + 5 + 3}{5} = \frac{26}{5} = 5.2 \]
Calcular la diferencia de cada valor respecto a la media: \[ x_1 - \bar{x} = 4 - 5.2 = -1.2 \] \[ x_2 - \bar{x} = 8 - 5.2 = 2.8 \] \[ x_3 - \bar{x} = 6 - 5.2 = 0.8 \] \[ x_4 - \bar{x} = 5 - 5.2 = -0.2 \] \[ x_5 - \bar{x} = 3 - 5.2 = -2.2 \]
Elevar al cuadrado cada una de las diferencias: \[ (x_1 - \bar{x})^2 = (-1.2)^2 = 1.44 \] \[ (x_2 - \bar{x})^2 = (2.8)^2 = 7.84 \] \[ (x_3 - \bar{x})^2 = (0.8)^2 = 0.64 \] \[ (x_4 - \bar{x})^2 = (-0.2)^2 = 0.04 \] \[ (x_5 - \bar{x})^2 = (-2.2)^2 = 4.84 \]
Sumar todos los valores cuadrados: \[ \text{Suma} = 1.44 + 7.84 + 0.64 + 0.04 + 4.84 = 14.8 \]
Calcular la varianza \(s^2\): \[ s^2 = \frac{1}{n-1} \sum_{i=1}^{n} (x_i - \bar{x})^2 = \frac{14.8}{4} = 3.7 \]
Calcular la desviación estándar \(s\): \[ s = \sqrt{s^2} = \sqrt{3.7} \approx 1.92 \]
La desviación estándar de los datos \(x = \{4, 8, 6, 5, 3\}\) es aproximadamente \(1.92\). Este valor proporciona una medida de la dispersión de los datos alrededor de la media.
Calcularemos la desviación estándar de un conjunto de datos usando R.
# Definimos un vector de datos
datos <- c(4, 8, 6, 5, 3)
# Calculamos la media de los datos
media <- mean(datos)
# Calculamos la varianza
varianza <- var(datos)
# Calculamos la desviación estándar usando sqrt y la varianza
desviacion_estandar_sqrt <- sqrt(varianza)
# Calculamos la desviación estándar usando la función sd()
desviacion_estandar_sd <- sd(datos)
# Mostramos la media, la varianza y las desviaciones estándar
media
## [1] 5.2
varianza
## [1] 3.7
desviacion_estandar_sqrt
## [1] 1.923538
desviacion_estandar_sd
## [1] 1.923538
datos
que contiene los
valores \(4, 8, 6, 5, 3\).mean(datos)
para calcular la
media del conjunto de datos. La media es \(5.2\).var(datos)
calcula la varianza de los datos.
La varianza es \(4.7\).sqrt(varianza)
para calcular la raíz cuadrada de
la varianza, que es la desviación estándar. Esta medida es
aproximadamente \(2.17\).sd(datos)
, que calcula
directamente la desviación estándar. Esta medida también es
aproximadamente \(2.17\), confirmando
que ambas formas de cálculo son equivalentes.El rango de una colección de números \(x_1, x_2, \ldots, x_n\) se define como la diferencia entre el valor más grande y el valor más pequeño en el conjunto de datos. Para calcular el rango, se identifican el dato más pequeño \(x_{(1)}\) y el dato más grande \(x_{(n)}\). La fórmula para el rango \(r\) es:
\[ r = x_{(n)} - x_{(1)} \]
El rango es una medida de dispersión que indica la distancia máxima entre cualesquiera dos datos en el conjunto. También puede interpretarse como la longitud del intervalo más pequeño en el que se encuentran todos los datos observados.
El rango proporciona una idea general de la dispersión de los datos, aunque no considera la distribución de los datos entre el valor mínimo y máximo.
Consideremos el siguiente conjunto de datos: \(x = \{7, 2, 9, 5, 3\}\).
El rango del conjunto de datos \(x = \{7, 2, 9, 5, 3\}\) es 7. Esto indica que la distancia máxima entre el valor más grande y el valor más pequeño en el conjunto de datos es 7.
Aquí tienes el ejemplo del cálculo del rango usando R en formato RMarkdown:
# Definimos un vector de datos
datos <- c(7, 2, 9, 5, 3)
# Calculamos el rango utilizando min() y max()
valor_minimo <- min(datos)
valor_maximo <- max(datos)
rango_calculado <- valor_maximo - valor_minimo
# Calculamos el rango utilizando range()
rango_funcion <- range(datos)
rango_funcion_calculado <- diff(rango_funcion)
# Mostramos los resultados
valor_minimo
## [1] 2
valor_maximo
## [1] 9
rango_calculado
## [1] 7
rango_funcion
## [1] 2 9
rango_funcion_calculado
## [1] 7
datos
que contiene los
valores \(7, 2, 9, 5, 3\).min(datos)
para encontrar el
valor más pequeño en el conjunto de datos. En este caso, el valor mínimo
es \(2\).max(datos)
para encontrar el
valor más grande en el conjunto de datos. En este caso, el valor máximo
es \(9\).rango_calculado <- valor_maximo - valor_minimo
. Así, el
rango es \(7\).range()
:
range(datos)
devuelve un vector con dos
elementos: el valor mínimo y el valor máximo del conjunto de datos. Para
el conjunto de datos dado, el resultado es \(2\) y \(9\).diff(rango_funcion)
para calcular
la diferencia entre el valor máximo y el valor mínimo obtenidos con
range()
. Esta diferencia es el rango, que también es \(7\).min()
y
max()
) y automáticamente (usando range()
y
diff()
). Ambos métodos deberían proporcionar el mismo valor
de rango, confirmando la precisión del cálculo.\(1, 5, 0, 3, 3, 2, 1, 0\)
\(2.5, 3.2, 2.7, 2.0, 3.4, 3.7, 5.2, 2.0, 2.5, 4.0, 2.3\)
\(20, 32, 25, 27, 30, 28, 31, 20, 30\)
\(0, 1, -1, 0, 1, 1, 0, 0, 1\)
\(12, 15, 30, 23, 10\)
\(23, 10, 15, 30, 12\)
\(30, 15, 12, 10, 23\)
\(15, 30, 23, 10, 12\)
Considere el conjunto de cinco datos como aparece abajo. Determine el valor del dato faltante \(x_5\) si la media es 6.
Calcule la media de los siguientes conjuntos de datos. La primera columna corresponde al conjunto de datos original. El resto de las columnas se obtienen según la operación indicada en el encabezado.
\(x\) | \(x^2\) | \(x^4\) | \(2x\) | \(10x\) |
---|---|---|---|---|
4 | 16 | 256 | 8 | 40 |
7 | 49 | 2401 | 14 | 70 |
3 | 9 | 81 | 6 | 30 |
2 | 4 | 16 | 4 | 20 |
Valor | Frecuencia |
---|---|
-2 | 7 |
-1 | 2 |
0 | 1 |
1 | 4 |
2 | 3 |
Calificación | Frecuencia |
---|---|
6 | 0 |
7 | 2 |
8 | 3 |
9 | 5 |
10 | 3 |
# Cargar la librería ggplot2 y plotly
library(ggplot2)
library(plotly)
# Datos para el primer gráfico de barras
data1 <- data.frame(
Valor = factor(c(1, 2, 3, 4)),
Frecuencia = c(3, 2, 2, 3)
)
# Primer gráfico de barras
g1<-ggplot(data1, aes(x = Valor, y = Frecuencia)) +
geom_bar(stat = "identity", fill = "skyblue") +
labs(title = "Gráfico de Barras: Valores 1 a 4", x = "Valor", y = "Frecuencia") +
theme_minimal()
ggplotly(g1)
# Datos para el segundo gráfico de barras
data2 <- data.frame(
Valor = factor(c(-2, -1, 0, 1, 2)),
Frecuencia = c(2, 1, 3, 1, 2)
)
# Segundo gráfico de barras
g2<-ggplot(data2, aes(x = Valor, y = Frecuencia)) +
geom_bar(stat = "identity", fill = "lightgreen") +
labs(title = "Gráfico de Barras: Valores -2 a 2", x = "Valor", y = "Frecuencia") +
theme_minimal()
ggplotly(g2)
# Cargar la librería ggplot2
library(ggplot2)
# Datos para el primer gráfico de barras
data1 <- data.frame(
Valor = factor(c(0, 2, 4, 6, 8, 10)),
Frecuencia = c(8, 18, 12, 10, 8, 6)
)
# Primer gráfico de barras
g1<-ggplot(data1, aes(x = Valor, y = Frecuencia)) +
geom_bar(stat = "identity", fill = "skyblue") +
labs(title = "Gráfico de Barras: Valores 0 a 10", x = "Valor", y = "Frecuencia") +
theme_minimal()
ggplotly(g1)
# Datos para el segundo gráfico de barras
data2 <- data.frame(
Valor = factor(c(-1, 0, 1, 2, 3, 4)),
Frecuencia = c(20, 15, 10, 5, 5, 5)
)
# Segundo gráfico de barras
g2<-ggplot(data2, aes(x = Valor, y = Frecuencia)) +
geom_bar(stat = "identity", fill = "lightgreen") +
labs(title = "Gráfico de Barras: Valores -1 a 4", x = "Valor", y = "Frecuencia") +
theme_minimal()
ggplotly(g2)
a) Un único dato.
b) Dos datos idénticos.
c) Dos datos distintos.
d) Mil datos idénticos.
Diga falso o verdadero:
La media puede ser cero.
Dos conjuntos de datos distintos pueden tener la misma media.
Si se añade un cero a un conjunto de datos, la media no cambia.
Si se añade un valor positivo a un conjunto de datos, la media aumenta.
Si se añade un valor negativo a un conjunto de datos, la media disminuye.
Calcule la media del siguiente conjunto de datos usando R:
a) `c(1, 5, 0, 3, 3, 2, 1, 0)`
b) `c(2.5, 3.2, 2.7, 2.0, 3.4, 3.7, 5.2, 2.0, 2.5, 4.0, 2.3)`
c) `c(20, 32, 25, 27, 30, 28, 31, 20, 30)`
d) `c(0, 1, -1, 0, 1, 1, 0, 0, 1)`
Utilizando R, calcule la media de los siguientes conjuntos de datos y verifique la consistencia:
c(12, 15, 30, 23, 10)
c(23, 10, 15, 30, 12)
c(30, 15, 12, 10, 23)
c(15, 30, 23, 10, 12)
En R, determine el valor del dato faltante \(x_5\) si la media del conjunto \(c(3, 8, 4, 7, x_5)\) es 6.
Para el siguiente conjunto de datos .
\(x=\{4, 7, 3, 2,9, 10\}\)
Calcule la media de:
\(x,x^2,2x,x+2,(x+2)^2\)
en R.
Valor | Frecuencia |
---|---|
-2 | 7 |
-1 | 2 |
0 | 1 |
1 | 4 |
2 | 3 |
Calificación | Frecuencia |
---|---|
6 | 0 |
7 | 2 |
8 | 3 |
9 | 5 |
10 | 3 |
Suponga que \(a, b, c, d\) son los valores de una variable cualitativa. Encuentre las posibles modas del siguiente conjunto de datos.
a, a, a, a, b, b, b, c, c, c, c, d, d, d
a, b, c, a, b, c, a, b, c, a, b, c, a, b, c
a, b, b, b, b, b, c, d, d, d, d, d
a, b, c, d
Calcule la moda de los siguientes conjuntos de datos.
x1 = 3, 5, 4, 3, 5, 1, 4, 3, 2, 1, 2, 3
x2 = 3, 6, 8, 7, 6, 4, 7, 5, 4, 5, 6
x3 = 2, 3, 2, 2, 2, 3, 2, 2, 1, 2, 1
x4 = 0, 1, 1, 0, 1, 2, 1, 2, 1, 3, 2, 1
x5 = 6, 10, 8, 6, 10, 2, 8, 6, 4, 2, 4, 6
x6 = 10, 30, 50, 40, 30, 50, 10, 40, 30, 20, 10, 20, 30
¿Notas algo extraño?
Diga falso o verdadero: si se le añaden ceros a un conjunto de datos, la moda, si existe, no cambia.
datos <- c(7, 5, 7, 8, 5, 7, 9, 8, 7)
# Crea un data.frame para calcular la moda
df <- data.frame(valor = datos)
# Calcular la moda
datos1 <- c(3, 3, 4, 5, 5, 5, 6, 7, 8)
datos2 <- c(-1, 0, 0, 1, 1, 2, 2, 2, 2, 3)
datos <- c(10, 20, 20, 30, 30, 30, 40, 40, 50)
Calcule la mediana del siguiente conjunto de datos.
1, 5, 0, 3, 3, 2, 1, 0
2.5, 3.2, 2.7, 2.0, 3.4, 3.7, 5.2, 2.0, 2.5, 4.0, 2.3
20, 32, 25, 27, 30, 28, 31, 20, 30
0, 1, 1, 0, 1, 1, 0, 0, 1
Calcule la mediana del siguiente conjunto de datos.
12, 15, 30, 23, 10
23, 10, 15, 30, 12
30, 15, 12, 10, 23
15, 30, 23, 10, 12
Calcule la mediana de los siguientes conjuntos de datos.
x1 = 4, 6, 8, 1, 2, 20, 7, 9, 11, 4, 7, 2, 35, 3, 5, 7, 0, 3, 2, 15, 2, 4, 6
x2 = 1, 1, 10, 7, 9, 11, 4, 7, 2, 35, 3, 5, 7, 0, 3, 2, 15, 2, 4, 6
x3 = 3, 5, 7, 0, 2, 20, 4, 6, 8, 9, 11, 7, 35, 2, 4, 2, 15, 6
¿ Notas algo extraño?
¿Cuál es la mediana de un conjunto que consta de:
un único dato?
dos datos idénticos?
dos datos distintos?
tres datos idénticos?
tres datos distintos?
mil datos idénticos?
A un conjunto de datos se le añade un dato adicional y resulta que la mediana no cambia. ¿Cuál es el dato que se añadió?
Considere un conjunto de datos cuya mediana es \(\tilde{x}\). Diga falso o verdadero:
Si se añade un dato a la izquierda de \(\tilde{x}\) y otro dato a la derecha de \(\tilde{x}\), entonces la mediana no cambia.
Si se omite un dato a la izquierda de \(\tilde{x}\) y se omite otro dato a la derecha de \(\tilde{x}\), entonces la mediana no cambia.
Calcule la mediana de los dos conjuntos de datos que aparecen en la figura del punto 8. Considere que se tienen tantos datos como puntos aparezcan sobre el valor numérico.
Diga falso o verdadero: si se le añaden ceros a un conjunto de datos, la mediana no cambia.
Considere el conjunto de cinco números: 3, 5, 1, 8, 4
.
Suponga que el valor 4
se cambia por el valor
8
. Diga si cada una de las siguientes cantidades aumenta,
disminuye o no cambia.
La media.
La moda.
La mediana.
Calcule la mediana del siguiente conjunto de datos usando R:
10, 23, 5, 12, 7, 15, 19, 8, 11
45, 32, 48, 39, 41, 35, 50, 42, 47
Determine la mediana para los siguientes conjuntos de datos utilizando R.
x1 = 7, 12, 5, 18, 14, 9, 11
x2 = x + 5
x3 = 2 * x
¿Notas algo en particular?
Dado el siguiente conjunto de datos, calcule la mediana y verifique el resultado utilizando R:
x = 3, 7, 2, 8, 4, 6
¿Qué ocurre si se añade el valor 7
al
conjunto?
Utilice R para calcular la mediana de los datos en la tabla de
frecuencias siguiente. Además, compruebe cómo la mediana cambia si se
agrega un dato con frecuencia 1
.
Valor | Frecuencia |
---|---|
2 | 5 |
4 | 8 |
6 | 7 |
8 | 4 |
10 | 6 |
Calcule la varianza del siguiente conjunto de datos.
2, 4, 4, 4, 5, 5, 7, 9
1, 3, 5, 7, 9, 11, 13, 15
10, 20, 30, 40, 50
6, 6, 6, 6, 6
Calcule la varianza del siguiente conjunto de datos.
15, 22, 24, 18, 30, 25
9, 13, 18, 22, 27, 31
50, 55, 60, 65, 70
7, 5, 8, 6, 9
Considere el siguiente conjunto de datos. Determine la varianza para cada uno de los siguientes casos.
x = 5, 10, 15, 20, 25, 30, 35
x1 = x - 5
x2 = 2 * x
¿ Notas algo extraño?
Dado el conjunto de datos x = 4, 7, 8, 10, 12
, calcule
la varianza y compare el resultado con la varianza obtenida para el
conjunto y = 2 * x
. ¿Cómo afecta la multiplicación por un
escalar a la varianza?
Un conjunto de datos tiene la siguiente distribución de frecuencias:
Valor | Frecuencia |
---|---|
1 | 4 |
2 | 5 |
3 | 7 |
4 | 6 |
5 | 3 |
Calcule la varianza de estos datos.
Dado el conjunto de datos 3, 7, 2, 8, 4, 6
, calcule la
varianza y luego determine cómo cambia la varianza si se añade el valor
7
al conjunto de datos.
Determine la varianza del siguiente conjunto de datos utilizando la fórmula manualmente:
x = 12, 15, 18, 20, 25
Diga si cada una de las siguientes afirmaciones es falsa o verdadera:
La varianza siempre es un número positivo o cero.
Si se añade un valor muy alto a un conjunto de datos, la varianza aumentará.
La varianza es sensible a los valores extremos (outliers) en un conjunto de datos.
La varianza de un conjunto de datos es igual a la desviación estándar al cuadrado.
Calcule la varianza de los siguientes datos utilizando R.
x=10, 15, 20, 25, 30
x1=100, 225, 400, 625, 900
x2=20, 30, 40, 50, 60
x3=100, 150, 200, 250, 300
¿ Notas alfo extraño?
Considere el siguiente conjunto de datos y calcule la varianza usando R. Luego, calcule la varianza si se añade un valor adicional igual a la media del conjunto.
5, 7, 8, 9, 10
Utilice R para calcular la varianza de un conjunto de datos generados aleatoriamente. Genere 100 datos con una distribución normal con media 50 y desviación estándar 10.
Dado el siguiente conjunto de datos con sus frecuencias, calcule la varianza en R:
Valor | Frecuencia |
---|---|
2 | 4 |
4 | 5 |
6 | 6 |
8 | 3 |
Calcule la varianza de los datos de la siguiente tabla, utilizando R. La tabla muestra el número de observaciones para cada valor dado.
Valor | Frecuencia |
---|---|
3 | 7 |
5 | 3 |
7 | 5 |
9 | 2 |
Utilice R para calcular la varianza de un conjunto de datos generado a partir de una distribución uniforme entre 0 y 20. Genere 50 datos.
Ejercicio 1
Calcule la desviación estándar del siguiente conjunto de datos:
5, 7, 8, 9, 10
Ejercicio 2
Dado el siguiente conjunto de datos, calcule la desviación estándar:
12, 15, 20, 22, 28
Ejercicio 3
Calcule la desviación estándar del conjunto de datos con las siguientes frecuencias:
Valor | Frecuencia |
---|---|
3 | 5 |
6 | 8 |
9 | 7 |
12 | 4 |
Ejercicio 4
Dado el conjunto de datos: 1, 3, 4, 6, 8
, calcule la
desviación estándar. Luego, calcule la desviación estándar si se añade
un valor igual a la media del conjunto.
Ejercicio 5
Calcule la desviación estándar del siguiente conjunto de datos utilizando R:
datos <- c(4, 8, 6, 5, 3)
Utilice R para calcular la desviación estándar de un conjunto de datos generado aleatoriamente. Genere 100 datos con una distribución normal con media 50 y desviación estándar 10.
datos <- c(10, 15, 20, 25, 30)
de una conclusión.
Ejercicio 1
Calcule el rango del siguiente conjunto de datos:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0
Ejercicio 2
Calcule el rango de los siguientes conjuntos de datos:
15, 22, 31, 40, 50
8, 6, 4, 2, 0
100, 105, 110, 115, 120
-15, -10, -5, 0, 5
Ejercicio 3
Calcule el rango del conjunto de datos con las siguientes frecuencias:
Valor | Frecuencia |
---|---|
5 | 3 |
10 | 4 |
15 | 2 |
20 | 5 |
Ejercicio 4
Dado el conjunto de datos: 2, 5, 8, 12, 15
, calcule el
rango. Luego, calcule el rango si se añade un valor igual al valor
mínimo del conjunto.
Calcule el rango del siguiente conjunto de datos del punto 1 utilizando R.
Utilice R para calcular el rango de un conjunto de datos generado aleatoriamente. Genere 50 datos con una distribución uniforme entre 0 y 100.
Utilice R para calcular el rango de los datos del punto 2 multiplicados por un factor de escala. Primero, calcule el rango de los datos originales y luego de los datos multiplicados por 10.
Las medidas de dispersión son fundamentales para comprender la variabilidad en un conjunto de datos numéricos. Estas medidas complementan las medidas de tendencia central al describir cuán dispersos o concentrados están los datos alrededor de un valor central, típicamente la media \(\bar{x}\). A continuación, se presentan las principales medidas de dispersión junto con sus propiedades y ejemplos ilustrativos.
Definición: La varianza mide la dispersión de los datos respecto a la media, calculando el promedio de las diferencias al cuadrado entre cada valor y la media. Al elevar las diferencias al cuadrado, se da mayor peso a las desviaciones grandes.
\[ \sigma^2 = \frac{1}{n} \sum_{i=1}^{n} (x_i - \bar{x})^2 \]
Propiedades:
Código en R:
datos <- c(3, 3, 3, 3)
varianza <- var(datos)
print(varianza)
## [1] 0
**Explicación**: En este código, `var(datos)` calcula la varianza del conjunto de datos `datos`. La función `var()` en R devuelve la varianza muestral, que en este caso es 0 ya que todos los valores son iguales.
Código en R:
datos <- c(10, 12, 14, 100)
varianza <- var(datos)
print(varianza)
## [1] 1938.667
**Explicación**: Aquí, `var(datos)` calcula la varianza del conjunto `datos`. La función `var()` devuelve 1454, que es la varianza calculada.
Código en R:
datos <- c(7, 7, 7, 7)
varianza <- var(datos)
print(varianza)
## [1] 0
**Explicación**: `var(datos)` devuelve la varianza del conjunto `datos`, que es 0 porque todos los valores son iguales.
Ejemplos:
datos <- c(2, 4, 4, 4, 5, 5, 7, 9)
varianza <- var(datos)
print(varianza)
## [1] 4.571429
datos <- c(10, 10, 10, 10)
varianza <- var(datos)
print(varianza)
## [1] 0
Definición: La desviación estándar es la raíz cuadrada de la varianza, proporcionando una medida de dispersión en las mismas unidades que los datos originales.
\[ \sigma = \sqrt{\sigma^2} \]
Propiedades:
datos <- c(15, 15, 15)
desviacion_estandar <- sd(datos)
print(desviacion_estandar)
## [1] 0
Explicación: El código usa sd(datos)
para calcular la desviación estándar del conjunto datos, que es 0 porque
todos los valores son iguales.
datos <- c(150, 175, 151, 185, 210)
desviacion_estandar <- sd(datos)
print(desviacion_estandar)
## [1] 25.11374
Explicación: sd(datos)
calcula la
desviación estándar del conjunto datos
, mostrando un valor
en las mismas unidades que los datos.
datos1 <- c(8, 9, 10, 11, 12)
desviacion_estandar1 <- sd(datos1)
print(desviacion_estandar1)
## [1] 1.581139
datos2 <- c(2, 6, 6, 6, 10)
desviacion_estandar2 <- sd(datos2)
print(desviacion_estandar2)
## [1] 2.828427
Explicación: sd(datos1)
y
sd(datos2)
calculan la desviación estándar para los dos
conjuntos de datos, mostrando que el segundo conjunto tiene mayor
dispersión. Ejemplos:
datos <- c(2, 4, 4, 4, 5, 5, 7, 9)
desviacion_estandar <- sd(datos)
print(desviacion_estandar)
## [1] 2.13809
Explicación: sd(datos)
calcula la
desviación estándar como 2, que es la raíz cuadrada de la varianza.
datos <- c(10, 10, 10, 10)
desviacion_estandar <- sd(datos)
print(desviacion_estandar)
## [1] 0
Explicación: La desviación estándar calculada con
sd(datos)
es 0, reflejando la falta de dispersión en los
datos.
Definición: La desviación media es el promedio de las desviaciones absolutas de cada valor con respecto a la media. Es una medida menos común pero útil en ciertas aplicaciones.
\[ \text{Desviación Media} = \frac{1}{n} \sum_{i=1}^{n} |x_i - \bar{x}| \]
Propiedades:
datos <- c(4, 5, 6, 7)
media <- mean(datos)
desviacion_media <- mean(abs(datos - media))
print(desviacion_media)
## [1] 1
Explicación: mean(datos - media)
calcula las diferencias absolutas respecto a la media, y
mean(abs(...))
toma el promedio de estas diferencias.
datos <- c(10, 10, 10, 100)
media <- mean(datos)
desviacion_media <- mean(abs(datos - media))
print(desviacion_media)
## [1] 33.75
Explicación: Similar al cálculo anterior, se usa
mean(abs(datos - media))
para calcular la desviación media
del conjunto.
datos <- c(1, 2, 3, 4, 5)
media <- mean(datos)
desviacion_media <- mean(abs(datos - media))
print(desviacion_media)
## [1] 1.2
Las medidas de posición son herramientas fundamentales en estadística descriptiva que permiten identificar la ubicación de un dato dentro de un conjunto de datos ordenados. Estas medidas dividen los datos en partes iguales y proporcionan información sobre cómo se distribuyen los datos en una muestra o población.
Los percentiles dividen un conjunto de datos ordenados en 100 partes iguales. Cada percentil indica el valor debajo del cual se encuentra un cierto porcentaje de observaciones. Por ejemplo, el percentil 25 (P25) es el valor debajo del cual se encuentra el 25% de los datos. El percentil 50 corresponde a la mediana, que divide los datos en dos partes iguales.
Los deciles dividen los datos en 10 partes iguales, por lo que cada decil representa un 10% de la distribución de los datos. Por ejemplo, el primer decil (D1) indica el valor debajo del cual se encuentra el 10% de los datos, mientras que el noveno decil (D9) indica el valor debajo del cual se encuentra el 90% de los datos.
Los cuartiles son una medida más común, que divide el conjunto de datos en cuatro partes iguales:
Para calcular estas medidas, se sigue un procedimiento similar: primero se ordenan los datos, luego se utiliza una fórmula para encontrar la posición del percentil, decil o cuartil deseado. Por ejemplo, para calcular un percentil \(P_k\), se usa la fórmula:
\[ P_k = \left(\frac{k}{100}\right) \times (n + 1) \]
donde \(k\) es el percentil que se desea calcular y \(n\) es el número total de datos. Una vez identificada la posición, se interpola o se toma el valor correspondiente en el conjunto de datos ordenados.
Las medidas de posición son útiles para:
Comparar valores específicos con el resto de la distribución: Por ejemplo, un estudiante puede querer saber si su puntuación está por encima del percentil 75 en un examen, lo que indicaría que su rendimiento es mejor que el de la mayoría de sus compañeros.
Detectar sesgos en la distribución de los datos: Si los cuartiles muestran que la mayoría de los datos están concentrados en un extremo de la distribución, esto puede indicar un sesgo.
Tomar decisiones basadas en la posición relativa de los datos: Por ejemplo, en economía, los deciles de ingreso se utilizan para analizar la distribución de la riqueza en una población.
Consideremos el siguiente conjunto de datos que representa las puntuaciones de un examen:
60, 65, 70, 75, 80, 85, 90, 95, 100
Los cuartiles serían:
# Datos
puntuaciones <- c(60, 65, 70, 75, 80, 85, 90, 95, 100)
# Cuartiles
cuartiles <- quantile(puntuaciones, probs = c(0.25, 0.5, 0.75))
# Mostrar resultados
cuartiles
## 25% 50% 75%
## 70 80 90
50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100
y calcula Q1,
Q2, y Q3.# Datos
datos <- c(50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100)
# Cuartiles
cuartiles <- quantile(datos, probs = c(0.25, 0.5, 0.75))
# Mostrar resultados
cuartiles
## 25% 50% 75%
## 62.5 75.0 87.5
Dado el mismo conjunto de datos
50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100
, calculemos el
percentil 90.
# Datos
datos <- c(50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100)
# Percentil 90
percentil_90 <- quantile(datos, probs = 0.9)
# Mostrar resultado
percentil_90
## 90%
## 95
El boxplot o gráfico de caja y bigotes es una herramienta visual que resume y describe la distribución de un conjunto de datos a través de sus principales medidas de tendencia central y dispersión. Es especialmente útil para identificar la forma de la distribución, la presencia de valores atípicos, y la simetría o asimetría de los datos.
Un boxplot está compuesto por los siguientes elementos:
Caja: La caja central representa el rango intercuartílico (IQR), que abarca el 50% de los datos. Los bordes de la caja están definidos por el primer cuartil (Q1) y el tercer cuartil (Q3).
Línea dentro de la caja: La línea horizontal dentro de la caja indica la mediana (Q2), que es el valor que divide la mitad inferior de la mitad superior de los datos.
Bigotes: Los “bigotes” se extienden desde los bordes de la caja hasta los valores mínimos y máximos que no se consideran atípicos. La longitud de los bigotes varía, pero generalmente cubren los valores que se encuentran dentro de 1.5 veces el IQR desde Q1 y Q3.
Valores atípicos: Los puntos que se encuentran fuera de los bigotes se consideran valores atípicos o outliers. Estos valores se muestran como puntos individuales en el gráfico.
El boxplot permite hacer varias observaciones clave sobre la distribución de los datos:
Simetría y asimetría: Si la mediana está en el centro de la caja y los bigotes son de longitud similar, la distribución es aproximadamente simétrica. Si la mediana está más cerca de Q1 o Q3, o si uno de los bigotes es mucho más largo que el otro, la distribución es asimétrica.
Valores atípicos: Los valores atípicos son puntos que se encuentran fuera de los bigotes. La presencia de valores atípicos puede indicar variabilidad inusual en los datos o errores de medición.
Concentración de datos: La densidad de los datos en diferentes partes de la distribución se puede inferir de la longitud de la caja y los bigotes. Por ejemplo, una caja estrecha indica que la mitad de los datos está concentrada en un rango estrecho, mientras que bigotes largos sugieren que hay más dispersión.
Supongamos que tienes un conjunto de datos que representa las puntuaciones de un examen:
# Datos
puntuaciones <- c(60, 65, 70, 75, 80, 85, 90, 95, 100)
# Crear un boxplot
boxplot(puntuaciones, main = "Gráfico de Caja de las Puntuaciones",
ylab = "Puntuaciones",
col = "lightblue")
En este gráfico:
-1, 0, 1
1, 2, 2, 2, 2, 3
-1, 5, 0, 3, 3, 2, 1, 0
2.5, 3.2, 2.7, 2.0, 3.4, 3.7, 5.2, 2.0, 2.5, 4.0, 2.3
20, 32, 25, 27, 30, 28, 31, 20, 30
12, 15, 14, 10, 18, 17, 14, 16, 19, 20
50, 55, 52, 60, 58, 57, 62, 65, 70, 72, 75
10, 12, 14, 16, 18, 20, 22, 24, 26, 28
5, 7, 9, 11, 13, 15, 17, 19, 21, 23
Las medidas de forma permiten entender la distribución de los datos más allá de las medidas de tendencia central y dispersión. Dos medidas importantes de forma son el coeficiente de asimetría y la curtosis. Estas medidas proporcionan información sobre la simetría y la forma de la distribución de los datos.
El coeficiente de asimetría (o asimetría) cuantifica la falta de simetría en la distribución de un conjunto de datos. Indica si los datos están sesgados hacia la derecha o hacia la izquierda en relación con la media.
El coeficiente de asimetría se calcula usando la fórmula:
\[ \text{Asimetría} = \frac{n}{(n-1)(n-2)} \sum_{i=1}^{n} \left(\frac{X_i - \bar{X}}{s}\right)^3 \]
Donde: - \(X_i\) son los valores individuales del conjunto de datos. - \(\bar{X}\) es la media del conjunto de datos. - \(s\) es la desviación estándar del conjunto de datos. - \(n\) es el tamaño de la muestra.
Asimetría Positiva (Derecha): Si el coeficiente es mayor que 0, la distribución tiene una cola más larga a la derecha. Esto indica que la mayoría de los datos están agrupados a la izquierda de la media, con algunos valores extremos a la derecha.
Asimetría Negativa (Izquierda): Si el coeficiente es menor que 0, la distribución tiene una cola más larga a la izquierda. Esto sugiere que la mayoría de los datos están agrupados a la derecha de la media, con algunos valores extremos a la izquierda.
Distribución Simétrica: Si el coeficiente es cercano a 0, la distribución es aproximadamente simétrica alrededor de la media.
La curtosis mide la “apuntalamiento” o la concentración de los datos en torno a la media. Indica cuán pesadas o ligeras son las colas de la distribución comparadas con una distribución normal.
La fórmula para calcular la curtosis es:
\[ \text{Curtosis} = \frac{n(n+1)}{(n-1)(n-2)(n-3)} \sum_{i=1}^{n} \left(\frac{X_i - \bar{X}}{s}\right)^4 - \frac{3(n-1)^2}{(n-2)(n-3)} \]
Donde: - \(X_i\) son los valores individuales del conjunto de datos. - \(\bar{X}\) es la media del conjunto de datos. - \(s\) es la desviación estándar del conjunto de datos. - \(n\) es el tamaño de la muestra.
Curtosis Positiva (Leptocúrtica): Si la curtosis es mayor que 0, la distribución tiene colas más largas y estrechas que una distribución normal. Esto indica una mayor probabilidad de valores extremos y una mayor concentración de datos cerca de la media.
Curtosis Negativa (Platicúrtica): Si la curtosis es menor que 0, la distribución tiene colas más cortas y anchas. Esto indica una menor probabilidad de valores extremos y una distribución de datos más dispersa alrededor de la media.
Curtosis Normal (Mesocúrtica): Si la curtosis es aproximadamente 0, la distribución tiene colas de longitud similar a una distribución normal, indicando una forma de distribución “normal”.
Para calcular el coeficiente de asimetría y la curtosis en R, puedes utilizar el siguiente código:
# Instalar el paquete 'moments' si no está instalado
# install.packages("moments")
# Cargar el paquete
library(moments)
# Datos de ejemplo
datos <- c(3, 7, 8, 5, 12, 14, 21, 13, 18, 20, 22, 24, 25, 30, 31)
# Calcular el coeficiente de asimetría
asimetria <- skewness(datos)
print(paste("Coeficiente de asimetría:", asimetria))
## [1] "Coeficiente de asimetría: 0.003815560401266"
# Calcular la curtosis
curtosis <- kurtosis(datos)
print(paste("Curtosis:", curtosis))
## [1] "Curtosis: 1.87298055267315"
# Gráfico del histograma con una curva de densidad
ggplot(data.frame(datos), aes(x = datos)) +
geom_histogram(aes(y = ..density..), binwidth = 2, fill = "lightblue", color = "black") +
geom_density(alpha = 0.2, fill = "blue") +
labs(title = "Histograma con Curva de Densidad",
x = "Datos",
y = "Densidad") +
theme_minimal()
# Gráfico de la densidad
ggplot(data.frame(datos), aes(x = datos)) +
geom_density(fill = "lightblue", color = "blue") +
labs(title = "Curva de Densidad",
x = "Datos",
y = "Densidad") +
theme_minimal()
Dado el siguiente conjunto de datos:
\[ \{5, 7, 8, 9, 10, 12, 14, 16, 18, 20\} \]
Considera los siguientes conjuntos de datos:
\[ \{1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6\} \]
\[ \{2, 3, 5, 8, 12, 15, 20, 25, 30, 35, 40\} \]
Calcula el coeficiente de asimetría y la curtosis para cada conjunto de datos.
Compara las distribuciones y clasifica cada una según:
Utiliza el siguiente conjunto de datos:
\[ \{45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100\} \]
La visualización de datos es una parte fundamental de la estadística descriptiva. Los gráficos permiten identificar patrones, tendencias y anomalías en los datos, y son una herramienta poderosa para comunicar resultados de manera efectiva. En esta sección, aprenderemos a crear gráficos básicos en R para describir diferentes tipos de datos.
barplot()
)Un gráfico de barras es ideal para representar la frecuencia de categorías en una variable cualitativa. Cada barra en el gráfico representa una categoría, y la altura de la barra indica la frecuencia o proporción.
# Datos categóricos
categorias <- c("A", "B", "C", "D")
frecuencias <- c(10, 20, 15, 5)
# Crear gráfico de barras
barplot(frecuencias, names.arg=categorias, col="skyblue", main="Gráfico de Barras", ylab="Frecuencia")
Este código genera un gráfico de barras donde las categorías están representadas en el eje \(x\), y las frecuencias en el eje \(y\).
pie()
)El gráfico de sectores es útil para mostrar proporciones relativas de un conjunto de categorías.
# Crear gráfico de sectores
pie(frecuencias, labels=categorias, col=rainbow(length(categorias)), main="Gráfico de Sectores")
Este gráfico muestra la proporción de cada categoría respecto al total.
hist()
)El histograma es una herramienta útil para visualizar la distribución de una variable cuantitativa. Agrupa los datos en intervalos (bins) y muestra la frecuencia de los datos en cada intervalo.
# Datos cuantitativos
datos <- rnorm(100, mean=50, sd=10)
# Crear histograma
hist(datos, col="lightgreen", main="Histograma de Datos", xlab="Valor", ylab="Frecuencia", breaks=10)
Este código genera un histograma que muestra cómo se distribuyen los datos alrededor de la media.
El diagrama de caja es útil para resumir la distribución de datos, mostrando la mediana, cuartiles, y posibles valores atípicos.
# Crear diagrama de caja
boxplot(datos, col="orange", main="Diagrama de Caja", ylab="Valor")
Este diagrama muestra la mediana (línea central), el rango intercuartílico (la caja), y cualquier valor atípico (puntos fuera de los bigotes).
plot()
)Un gráfico de dispersión se utiliza para visualizar la relación entre dos variables cuantitativas.
# Crear datos
x <- rnorm(100)
y <- 2*x + rnorm(100)
# Crear gráfico de dispersión
plot(x, y, col="blue", main="Gráfico de Dispersión", xlab="X", ylab="Y", pch=19)
Este gráfico muestra cómo se relacionan las variables x e y, donde cada punto representa un par de valores.
Para comparar distribuciones entre dos grupos, podemos superponer dos histogramas.
# Datos de dos grupos
grupo1 <- rnorm(100, mean=50, sd=10)
grupo2 <- rnorm(100, mean=60, sd=15)
# Crear histogramas superpuestos
hist(grupo1, col=rgb(1,0,0,0.5), xlim=c(20, 100), ylim=c(0, 30), breaks=15, main="Histogramas Superpuestos")
hist(grupo2, col=rgb(0,0,1,0.5), add=TRUE, breaks=15)
legend("topright", legend=c("Grupo 1", "Grupo 2"), fill=c(rgb(1,0,0,0.5), rgb(0,0,1,0.5)))
En este gráfico, los histogramas de dos grupos se superponen, permitiendo una comparación directa de sus distribuciones.
Para comparar la distribución de una variable entre varios grupos, los diagramas de caja son muy útiles.
# Crear datos para varios grupos
grupoA <- rnorm(100, mean=50, sd=10)
grupoB <- rnorm(100, mean=55, sd=15)
grupoC <- rnorm(100, mean=60, sd=20)
# Crear diagramas de caja comparativos
boxplot(grupoA, grupoB, grupoC, col=c("red", "green", "blue"), names=c("Grupo A", "Grupo B", "Grupo C"), main="Diagramas de Caja Comparativos")
Este gráfico permite comparar la mediana, la dispersión y los valores atípicos de los tres grupos.
plot()
con
type="l"
)Los gráficos de líneas son ideales para mostrar cómo una variable cambia con el tiempo.
# Crear datos de serie temporal
tiempo <- 1:100
valores <- cumsum(rnorm(100))
# Crear gráfico de líneas
plot(tiempo, valores, type="l", col="darkgreen", main="Gráfico de Líneas", xlab="Tiempo", ylab="Valor")
Este gráfico de líneas muestra la tendencia de los valores a lo largo del tiempo.
Un pequeño negocio registra las ventas diarias de cuatro productos
diferentes durante una semana. Los productos son A
,
B
, C
, y D
, y las ventas (en
unidades) fueron 35, 50, 25, y 40 respectivamente.
Se registra la altura (en centímetros) de 100 estudiantes de una universidad. Los datos se distribuyen normalmente con una media de 170 cm y una desviación estándar de 10 cm.
Una tienda registra las horas trabajadas y las ventas realizadas por sus empleados durante una semana. Los datos son:
c(40, 35, 30, 25, 20)
c(500, 450, 300, 250, 200)
Se tienen las calificaciones finales de los estudiantes en tres cursos diferentes. Los datos son:
c(80, 85, 88, 90, 75, 95, 89)
c(70, 78, 82, 85, 80, 77, 85)
c(60, 65, 70, 72, 68, 75, 70)
Se registran las temperaturas diarias (en grados Celsius) durante 10
días consecutivos. Los datos son:
c(20, 22, 23, 25, 24, 26, 27, 25, 24, 23)
.
ggplot2
en Rggplot2
es uno de los paquetes más
populares y poderosos en R para la creación de gráficos. Es parte del
universo tidyverse
, una colección de paquetes diseñados
para la manipulación y visualización de datos. ggplot2
se
destaca por su enfoque en la gramática de los gráficos, lo que permite
construir gráficos complejos de manera intuitiva y flexible.
La gramática de los gráficos, en la que se basa ggplot2
,
es un sistema que describe y organiza los componentes de un gráfico de
manera estructurada. Estos componentes incluyen:
data
): El conjunto de datos que
quieres visualizar.aes
): La relación
entre las variables de los datos y los aspectos visuales del gráfico,
como la posición, el color, el tamaño, etc.geom
): El tipo de gráfico
que quieres crear (puntos, líneas, barras, etc.).facet
): La capacidad de
dividir el gráfico en subgráficos según una variable.theme
): Elementos de diseño
como el fondo, las etiquetas y la leyenda.ggplot2
se
construyen capa por capa, lo que permite agregar y combinar diferentes
tipos de visualizaciones en un solo gráfico.ggplot2
ggplot2
son visualmente atractivos y fáciles de
interpretar.ggplot2
se vuelve muy
eficiente una vez que entiendes sus principios básicos.Para ilustrar cómo funciona ggplot2
, veamos un ejemplo
simple de un gráfico de dispersión:
# Cargar el paquete ggplot2
library(ggplot2)
# Crear un conjunto de datos
data <- data.frame(
x = rnorm(100),
y = rnorm(100)
)
# Crear un gráfico de dispersión
ggplot(data, aes(x = x, y = y)) +
geom_point() +
labs(title = "Gráfico de Dispersión",
x = "Variable X",
y = "Variable Y")
Desglose del código:
ggplot(data, aes(x = x, y = y))
: Especifica los datos y
el mapeo estético (qué variables se muestran en los ejes).
geom_point()
: Añade una capa de puntos, creando un
gráfico de dispersión.
labs(title = "Gráfico de Dispersión", x = "Variable X", y = "Variable Y")
:
Añade títulos y etiquetas a los ejes.
Supongamos que quieres crear subgráficos para diferentes grupos
dentro de tu conjunto de datos. Puedes hacerlo fácilmente con la función
facet_wrap()
.
# Añadir una variable categórica
data$group <- rep(c("A", "B"), each = 50)
# Crear un gráfico de dispersión con facetas
ggplot(data, aes(x = x, y = y)) +
geom_point() +
facet_wrap(~ group) +
labs(title = "Gráfico de Dispersión con Facetas",
x = "Variable X",
y = "Variable Y")
Un pequeño negocio registra las ventas diarias de cuatro productos
diferentes durante una semana. Los productos son A
,
B
, C
, y D
, y las ventas (en
unidades) fueron 35, 50, 25, y 40 respectivamente.
Se tienen las calificaciones finales de los estudiantes en tres cursos diferentes. Los datos son:
Curso A:c(80, 85, 88, 90, 75, 95, 89)
Curso B: c(70, 78, 82, 85, 80, 77, 85)
Curso C: c(60, 65, 70, 72, 68, 75, 70)
Genera un boxplot que compare las calificaciones entre los diferentes cursos.