Distribución de Frecuencia
Tabla de frecuencias de la variable cualitativa Trabajo -
Job
#Tabla de frecuencia variables cuanlitativas
#Frecuencia
fi=-as.numeric(sort(-table(datos$job))) #Frecuencia absoluta
fac=cumsum(fi) #Frecuencia acumulada
fri=as.numeric(fi/sum(fi))*100 #Frecuencia relativa
frac=cumsum(fri) #Frecuencia relativa acumulada
job=c("admin.","unknown","unemployed","management","housemaid","entrepreneur","student",
"blue-collar","self-employed","retired","technician","services")
#Tabla
frec_job=data.frame(job,fi,fac,fri=round(fri,2),frac=round(frac,2))
#Visualización
knitr::kable(frec_job)
| admin. |
969 |
969 |
21.43 |
21.43 |
| unknown |
946 |
1915 |
20.92 |
42.36 |
| unemployed |
768 |
2683 |
16.99 |
59.35 |
| management |
478 |
3161 |
10.57 |
69.92 |
| housemaid |
417 |
3578 |
9.22 |
79.14 |
| entrepreneur |
230 |
3808 |
5.09 |
84.23 |
| student |
183 |
3991 |
4.05 |
88.28 |
| blue-collar |
168 |
4159 |
3.72 |
91.99 |
| self-employed |
128 |
4287 |
2.83 |
94.82 |
| retired |
112 |
4399 |
2.48 |
97.30 |
| technician |
84 |
4483 |
1.86 |
99.16 |
| services |
38 |
4521 |
0.84 |
100.00 |
Tabla de frecuencias de la variable cuantitativa Edad -
Age
#Frecuencia
fi=as.numeric(table(datos$age)) #Frecuencia absoluta
fac=cumsum(fi) #Frecuencia acumulada
fri=as.numeric(fi/sum(fi))*100 #Frecuencia relativa
frac=cumsum(fri) #Frecuencia relativa acumulada
#Tabla
edad=sort(unique(datos$age))
frec_edad=data.frame(edad,fi,fac,fri=round(fri,2),frac=round(frac,2))
#Visualización
knitr::kable(head(frec_edad,5))
| 19 |
4 |
4 |
0.09 |
0.09 |
| 20 |
3 |
7 |
0.07 |
0.15 |
| 21 |
7 |
14 |
0.15 |
0.31 |
| 22 |
9 |
23 |
0.20 |
0.51 |
| 23 |
20 |
43 |
0.44 |
0.95 |
knitr::kable(tail(frec_edad,5))
| 63 |
81 |
1 |
4514 |
0.02 |
99.85 |
| 64 |
83 |
4 |
4518 |
0.09 |
99.93 |
| 65 |
84 |
1 |
4519 |
0.02 |
99.96 |
| 66 |
86 |
1 |
4520 |
0.02 |
99.98 |
| 67 |
87 |
1 |
4521 |
0.02 |
100.00 |
Tabla de frecuencias de la variable cuantitativa Edad -
Age
#Tabla de frecuencia variables cuantitativas
#Frecuencia
edad=sort(unique(datos$age)) # Ordenar los datos
n = length(edad) # Número de elementos de edad
k = round(1 + 3.3 * log(n)) # Aplicamos regla de Sturges
h = round((max(edad)-min(edad))/k) # Cálculo de intervalo
#Crear intervalos
intervalos=hist(datos$age, plot=FALSE, breaks = k)$breaks
intervalos=paste("(",intervalos[1:(length(intervalos)-1)],"-",intervalos[2:(length(intervalos))],"]",sep="")
intervalos[1]="[0-5]"
#Cálculo de frecuencia
fi = hist(datos$age
, plot=FALSE, breaks = k)$counts #Frecuencia con intervalos
fac=cumsum(fi) #Frecuencia acumulada
fri=as.numeric(fi/sum(fi))*100 #Frecuencia relativa
frac=cumsum(fri) #Frecuencia relativa acumulada
frec_edad=data.frame(edad=intervalos,fi,fac,fri=round(fri,2),frac=round(frac,2))
knitr::kable(frec_edad)
| [0-5] |
7 |
7 |
0.15 |
0.15 |
| (20-25] |
104 |
111 |
2.30 |
2.46 |
| (25-30] |
521 |
632 |
11.52 |
13.98 |
| (30-35] |
1020 |
1652 |
22.56 |
36.54 |
| (35-40] |
780 |
2432 |
17.25 |
53.79 |
| (40-45] |
608 |
3040 |
13.45 |
67.24 |
| (45-50] |
554 |
3594 |
12.25 |
79.50 |
| (50-55] |
432 |
4026 |
9.56 |
89.05 |
| (55-60] |
368 |
4394 |
8.14 |
97.19 |
| (60-65] |
44 |
4438 |
0.97 |
98.16 |
| (65-70] |
29 |
4467 |
0.64 |
98.81 |
| (70-75] |
25 |
4492 |
0.55 |
99.36 |
| (75-80] |
21 |
4513 |
0.46 |
99.82 |
| (80-85] |
6 |
4519 |
0.13 |
99.96 |
| (85-90] |
2 |
4521 |
0.04 |
100.00 |
Gráfico de Barras Variable Cualitativa Job -
Trabajo
p=ggplot(data=frec_job, aes(x=reorder(job, -fri),y=fi)) +
geom_bar(stat="identity",fill="#d8b186",alpha=0.8) + theme_minimal() +
labs(title="Frecuencia absoluta - Trabajo", x="Trabajo", y = "Frecuencia absoluta")
ggplotly(p)
Gráfico Tipo Pie Variable Cualitativa Job -
Trabajo
p=ggplot((frec_job), aes(x="", y=fri, fill=reorder(job, -fri))) +
geom_bar(stat="identity", width=1) + coord_polar("y", start=0) + theme_minimal() +
labs(title="Frecuencia relativa - Trabajo", x="Trabajo", y = "Frecuencia relativa (%)")
p=p + scale_fill_brewer(palette="PuOr",aesthetics = "colour",name = "Trabajo de Cliente")
plot(p)

Gráfico Tipo Pareto Cualitativa Job - Trabajo
p=ggplot(data=frec_job, aes(x=reorder(job, -fri),y=fi)) +
geom_bar(stat="identity",fill="#d8b186",alpha=0.8) + theme_minimal() +
labs(title="Frecuencia absoluta y absoluta acumulada - Trabajo", x="Trabajo", y = "Frecuencia absoluta")
p = p + geom_point(aes(y=fac))
ggplotly(p)
Diagrama De Punto Variable Cuantitativa Edad -
Age
dotPlot(datos$age,xlab = "EDAD (años)",)

Histograma Variable Cuantitativa Edad - Age
grafico=ggplot(datos,aes(age)) # Gráfico y datos base
#Histograma (25 niveles) (colores- http://www.stat.columbia.edu/~tzheng/files/Rcolor.pdf)
grafico = grafico + geom_histogram(bins=30,fill="#d8b186",color="#d8b186",alpha=0.8)
grafico = grafico + theme_bw() # Visualización estándar en blanco y negro
grafico = grafico + ylab("Frecuencia absoluta (edad)") + xlab("Edad (años)")
ggplotly(grafico)
¿Qué diferencia aprecia entre ambos tipos de representaciones?
Como se puede apreciar los gráficos de puntos son útiles para mostrar
datos cuantitativos de una forma organizada, estos usan varios puntos
para trazar datos a lo largo de un eje ordinal. En cambio el histograma
generado, muestra la forma de los datos. El eje horizontal muestra sus
valores de datos, con cada barra correspondiendo a un rango de valores.
El eje vertical muestra cuántos puntos de datos tienen valores en el
rango de cada barra.