Clase 1.4
Distribuciones de frecuencia y gráficas para datos cuantitativos
Universidad Tecnológica de Bolivar
2024-01-29
Se usa para datos cuantitativos. La idea es considerar los primeros dı́gitos del dato como una rama del tallo (“stem”) y el último dı́gito como una hoja (“leaf”) de dicha rama. Las ramas son ordenadas en forma creciente.
165, 195, 178, 200, 185, 183, 169, 191, 152, 197, 180, 208, 175, 179, 189
Hacer la gráfica de tallos y hojas (Stem and Leaf).
Ordenemos los datos 152, 165, 169 175 178,179, 180,183, 185, 189, 191, 195,197, 200, 208
Las ramas la forman los primeros dos dı́gitos de los dato, y las hojas serán dadas por los últimos dı́gitos de los datos. Entonces el diagrama de tallo y hoja queda de la siguiente manera.
Cuando los datos son de tipo discreto y el número de datos es pequeño podemos usar los valores de los datos para crear las clases (Similar a datos cualitativos). Si las clases son muchas, se puede proceder como en el caso continuo; el cual veremos a continuación.
El manager de “Wendys fast-food restaurant” quiere saber el número de clientes que llegan a la hora del almuerzo. Los datos representan el número de clientes que llegaron en 40 intervalos de 15 minutos cada uno, durante las horas de almuerzo.
| 7 | 6 | 6 | 6 | 4 | 6 | 2 | 6 |
| 5 | 6 | 6 | 11 | 4 | 5 | 7 | 6 |
| 2 | 7 | 1 | 3 | 4 | 8 | 2 | 6 |
| 6 | 5 | 5 | 3 | 7 | 5 | 4 | 6 |
| 2 | 2 | 9 | 7 | 5 | 9 | 8 | 5 |
| No. Clientes | f | fr | f% | F | Fr | F% |
|---|---|---|---|---|---|---|
| 1 | 1 | \(\frac{1}{40}=0.025\) | 0.025(100)=2.5% | 1 | 0.025 | 2.5% |
| 2 | 5 | \(\frac{5}{40}=0.125\) | 0.15(100)=12.5% | 1+5=6 | 0.025+0.125=00.150 | 15% |
| 3 | 2 | 0.050 | 5% | 6+2=8 | 0.150+0.050=0.2 | 20% |
| 4 | 4 | 0.100 | 10% | 12 | ||
| 5 | 7 | 0.175 | 17.5% | 19 | ||
| 6 | 11 | 0.275 | 27.5% | 30 | ||
| 7 | 5 | 0.125 | 35 | |||
| 8 | 2 | 0.050 | 37 | |||
| 9 | 2 | 0.050 | 39 | |||
| 10 | 0 | 0 | 39 | |||
| 11 | 1 | 0.025 | 40 | 1 | 100% | |
| Total | 40 | 1 | 100% |
# tamaño de los datos
x = c(7,5,2,6,2,6,6,7,5,2,6,6,1,5,9,6,11,3,3,7,4,4,4,7,5,6,5,8,5,9,2,7,2,4,8,6,6,6,6,5)
# longitud de los datos(cantidad)
n = length(x)
# frecuencia de cada categoria
frec_basica = table(x)
# tabla de frecuencia basica
tabla = data.frame(frec_basica)
# agregamos las demas columnas
tabla$fr = round(tabla$Freq/n, 3)
tabla$fp = round(tabla$fr*100, 3)
tabla$F = cumsum(tabla$Freq)
tabla$Fr = round(tabla$F/n, 3)
tabla$Fp = round(tabla$Fr*100, 3)
#Cambiamos los nombres de la tabla
names(tabla)[1] <- "Clase"
names(tabla)[2] <- "f"
names(tabla)[4] <- "f%"
names(tabla)[5] <- "F"
names(tabla)[7] <- "F%"
tablaPara la construcción de una tabla de distribución para datos continuos, usamos barras(columnas) horizontales o verticales de longitud proporcional a la frecuencia en cada categoría.
\[ \begin{align} \text{No. de clases} & \approx \begin{cases} 1 + 3.33 \log N \\ \sqrt{N}, \text{ si } N < 200 \end{cases} \end{align} \]
\[AC=\frac{X_{\text{máx}} - X_{\text{mín}}}{\text{No. de clases}}\] 3. Punto de partida: comience por elegir un número para el límite inferior de la primera clase. Elija el valor del dato mínimo o un valor conveniente que sea menor que el dato mínimo.
La acontinuación una lista de los niveles(mg/ml) de nicotina de 40 fumadores.
0,1,1,2,2,3,3,4,4,4,4,5,5,5,6,6,6,6,6,6,7,7, 7,7,7,7,8,8,8,9,9,9,11,11,14,14,16,17,22,26
Observación: La siguiente es la tabla de niveles de nicotina en la sangre.
# datos continuos niveles de nicotina
x = c(0,1,1,2,2,3,3,4,4,4,4,5,5,5,6,6,6,6,6,6,7,7,
7,7,7,7,8,8,8,9,9,9,11,11,14,14,16,17,22,26)
xmax = max(x)
xmin = min(x)
ancho = 5 #(xmax-xmin)/5 #ancho de clase
cortes = seq(from = xmin, to = 30, by = ancho)
#encontramos el intervalo al cual pertenece cada dato
interv = cut(x, include.lowest = TRUE, right = FALSE, breaks = cortes)
n = length(interv)
# frecuencia de cada intervalo
frec_basica = table(interv)
# tabla de frecuencia basica
tabla = data.frame(frec_basica)
# agregamos las demas columnas
tabla$fr = round(tabla$Freq/n, 3)
tabla$fp = round(tabla$fr*100, 3)
tabla$F = cumsum(tabla$Freq)
tabla$Fr = round(tabla$F/n, 3)
tabla$Fp = round(tabla$Fr*100, 3)
#Cambiamos los nombres de la tabla
names(tabla)[1] <- "Clase"
names(tabla)[2] <- "f"
names(tabla)[4] <- "f%"
names(tabla)[5] <- "F"
names(tabla)[7] <- "F%"
tablaEs una gráfica para datos agrupados, es la representación gráfica de una variable en forma de barras, donde la superficie de cada barra es proporcional a la frecuencia de los valores representados.
x = c(0,1,1,2,2,3,3,4,4,4,4,5,5,5,6,6,6,6,6,6,7,7,
7,7,7,7,8,8,8,9,9,9,11,11,14,14,16,17,22,26)
datos = data.frame(Nicotina = x)
library(ggplot2)
p <- ggplot(datos, aes(x=Nicotina)) +
geom_histogram(binwidth=5,
boundary = 5,
fill="lightblue",
color="black",
alpha=0.5) +
scale_x_continuous(breaks = cortes)+
labs(title="Histograma de niveles de nicotina",
x= "Nivel de nicotina",
y ="Frecuencia absoluta") +
theme(plot.title = element_text(hjust = 0.5))
p# histograma de frecuencias acumuladas
p2 <- ggplot(data = datos, aes(x = Nicotina)) +
geom_histogram(aes(y = cumsum(..count..)),
binwidth=5,
boundary = 5,
# center = 5,
fill="lightblue",
color="black",
alpha=0.5) +
scale_x_continuous(breaks = cortes)+
labs(title = "Histograma de la frecuencia acumulada\n de los niveles de nicotina",
x= "Nivel de nicotina",
y ="Frecuencia acumulada") +
theme(plot.title = element_text(hjust = 0.5))
p2Los gráficos de líneas son útiles para ilustrar datos que están ordenados en el tiempo.
Se tiene la temperatura en grados centígrados de dos ciudades aledañas A y B. Los datos se muestran en la tabla siguiente.
| Ene | Feb | Mar | Abr | May | Jun | Jul | Ago | Sep | Oct | Nov | dic | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | 10.2 | 8.4 | 14.2 | 16.1 | 18.2 | 23.2 | 31.4 | 33.5 | 28.4 | 23.1 | 19.2 | 14.1 |
| B | 9.3 | 10 | 13.7 | 20 | 25 | 28 | 32 | 38 | 26 | 25 | 18 | 10 |
# Diagrama de líneas y puntos
datos = data.frame(Mes = c("Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep" ,"Oct","Nov","Dic"),
A = c(10.2, 8.4, 14.2, 16.1, 18.2, 23.2, 31.4, 33.5, 28.4, 23.1,19.2, 14.1),
B = c(9.3, 10, 13.7, 20, 25, 28, 32, 38, 26, 25, 18, 10))
library(tidyr)
# trasnformar de formato corto(wide) a formato largo(long)
df = pivot_longer(data = datos,
cols = c("A", "B"),
names_to = "Ciudad",
values_to = "Temperatura")# Diagrama de lineas y puntos en R
library(ggplot2)
ggplot(df, aes(x = Mes, y = Temperatura, group = Ciudad)) +
geom_line(aes(color = Ciudad)) +
scale_x_discrete(limits = df$Mes) +
geom_point(color="black", size=0.7) +
labs(title = "Digarama de lineas y puntos") +
theme(plot.title = element_text(hjust = 0.5))Un estudio llevado a cabo por el Departamento de Salud de Puerto Rico. Tomaron una muestra de 40 mosquitos de Dengue, con el objetivo de estudiar la longevidad máxima en dı́as que estos alcanzan luego de ser sometidos a diferentes tratamientos. Los datos registrados son:
3, 15, 24, 28, 33, 35, 38, 42, 43, 38, 36, 34, 29, 25, 17, 7, 34, 36,39, 44, 31, 26, 20, 11, 13, 22, 27, 47, 39, 37, 34, 32, 35, 28, 38, 41, 48, 15, 32, 13