Determinar, interpretar y visualizar medidas de tendencia central de un conjunto de datos de edades, sueldos y calificaciones respectivamente.
Cargar tres conjuntos de datos:
edades
sueldos
calificaciones
Generar datos aleatoriamente mediante la función sample() anteponiendo semilla con valor de 2021 con la función set.seed(2021) para generar valores iguales al momento de construir los documentos markdown.
Identificar estadísticos descriptivos de la media, mediana, moda, valores máximos y mínimos, rango, cuartiles y visualizar los datos mediante histograma y diagrama de caja o bigotes.
Utilizar la función summary() para comprobar los estadísticos encontrados.
Realizar la interpretación correspondiente de cada conjunto de datos.
Para los tres conjuntos de datos, se siembre una semilla para generar datos aleatorios.
set.seed(2021) # Semilla
Una muestra del contexto de edades de personas entre 18 y 65 años. Se generan 50 datos.
edades <- sample(18:65, 50, replace = TRUE)
edades
## [1] 24 55 63 56 29 23 55 55 63 22 64 56 58 40 29 35 20 63 57 43 53 54 39 48 65
## [26] 51 36 21 39 22 26 55 35 60 23 39 23 32 51 39 33 32 41 34 55 54 37 21 47 25
Ordenamos la muestra mediante la función sort()
sort(edades)
## [1] 20 21 21 22 22 23 23 23 24 25 26 29 29 32 32 33 34 35 35 36 37 39 39 39 39
## [26] 40 41 43 47 48 51 51 53 54 54 55 55 55 55 55 56 56 57 58 60 63 63 63 64 65
La media se determina mediante la función mean() y la mediana con la función median().
media.edades <- mean(edades)
media.edades
## [1] 42
mediana.edades <- median(edades)
mediana.edades
## [1] 39.5
Cuando el valor de la media y la mediana so igual es la distribución de los datos es simétrica. Si el valor de la media es mayor que la mediana la distribución es asimetrica con un sesgo positivo a la derecha. Por el contrario si el valor de la media es menor que la mediana, entonces la distribución es asimétrica con un signo negativo a la izquierda.
La moda se puede usar la función table() o utilizar la función mfv(x) del paquete modeest. Se carga la libraría o paquete modest previa instalación con la función install.packages("modeest").
library(modeest)
moda.edades <- mfv(edades)
moda.edades
## [1] 55
Con la función table() se encuentra la frecuencia de cada valor
frecuencias.edades <- table(edades)
frecuencias.edades
## edades
## 20 21 22 23 24 25 26 29 32 33 34 35 36 37 39 40 41 43 47 48 51 53 54 55 56 57
## 1 2 2 3 1 1 1 2 2 1 1 2 1 1 4 1 1 1 1 1 2 1 2 5 2 1
## 58 60 63 64 65
## 1 1 3 1 1
Con las funciones max() y min() se determinan los valores máximos y mínimos de u conjunto de datos
max.edades <- max(edades)
max.edades
## [1] 65
min.edades <- min(edades)
min.edades
## [1] 20
El rango significa el intervalo de los datos entre el valor máximo y mínimo.
rango.edades <- range(edades)
rango.edades
## [1] 20 65
intervalo <- rango.edades[2] - rango.edades[1]
intervalo
## [1] 45
max(edades)-min(edades)
## [1] 45
Se determinan los cuartiles mediante la función quantile(). Los cuartiles significa medidas de localización dentro de un conjunto de datos, sirven para interpretar cuántos datos están por encima y por debajo de cada cuartil.
EL cuartil al 50% debe ser igual a la mediana.
cuartiles.edades <- quantile(edades, c(0.25, 0.50, 0.75))
cuartiles.edades
## 25% 50% 75%
## 29.75 39.50 55.00
El histograma refleja la distribución de los datos
hist(edades, main = "Histograma de edades", xlab = "Edades", ylab = "Frecuencia")
Diagrama de bigotes o boxplot representa los valores de la mediana con linea en medio, los valores de cuartiles y los extremos mínimo y máximo de un conjunto de datos. Refleja la cantidad de datos (el cuadro) que están por encima o por debajo de la mediana o cuartiles.
boxplot(edades, horizontal = TRUE, main="Edades")
La función summary() genera los estadísticos descriptivos básicos de un conjunto de datos.
resumen <- summary(edades)
resumen
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 20.00 29.75 39.50 42.00 55.00 65.00
Una muestra del contexto de edades de personas entre 18 y 65 años. Se generan 500 datos.
sueldos <- sample(10000:50000, 500, replace = TRUE)
head(sueldos, 10)
## [1] 13138 39816 28942 36778 24243 36062 44319 28731 25386 38428
La media se determina mediante la función mean() y la mediana con la función median().
media.sueldos=mean(sueldos)
media.sueldos
## [1] 29444.72
mediana.sueldos=median(sueldos)
mediana.sueldos
## [1] 29630
library(modeest)
moda.sueldos=mfv(sueldos)
moda.sueldos
## [1] 26134 36746 40216 40794
frecuencias.sueldos=table(sueldos)
frecuencias.sueldos
## sueldos
## 10076 10112 10261 10511 10534 10678 10697 10808 10848 10872 10892 11020 11200
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 11326 11330 11339 11346 11440 11469 11559 11733 11845 11909 11922 11928 11933
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 11946 12013 12030 12191 12226 12232 12245 12290 12299 12322 12367 12479 12528
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 12611 12646 12678 12698 12876 12899 12936 12993 13009 13029 13099 13132 13138
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 13176 13298 13395 13400 13478 13497 13549 13662 13691 13720 13735 13829 13855
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 13907 14042 14068 14172 14297 14324 14418 14420 14584 14650 14658 14706 14761
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 15002 15014 15065 15101 15240 15269 15271 15359 15365 15447 15534 15613 15675
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 15770 16028 16394 16454 16549 16568 16604 16631 16683 16694 16872 17031 17072
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 17122 17517 17542 17643 17695 17723 17735 17818 17854 18016 18028 18042 18076
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 18100 18161 18201 18202 18306 18336 18343 18541 19237 19454 19744 19770 19880
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 19883 19941 19956 19957 20548 20629 20688 20762 20855 20903 20997 21059 21080
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 21137 21209 21248 21254 21291 21317 21475 21748 21761 21812 21878 21896 22111
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 22126 22153 22186 22237 22248 22378 22414 22586 22592 22635 22859 23013 23083
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 23170 23219 23345 23396 23403 23506 23522 23538 23565 23613 23674 23722 23728
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 23770 23781 23800 23936 23988 24031 24048 24205 24243 24440 24495 24637 24692
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 24863 24935 25051 25073 25196 25332 25386 25388 25524 25618 25860 25874 25920
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 26015 26134 26157 26182 26207 26286 26616 26672 26723 26914 26918 26989 27007
## 1 2 1 1 1 1 1 1 1 1 1 1 1
## 27053 27148 27213 27221 27251 27327 27476 27526 27536 27598 27850 27920 28091
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 28103 28356 28416 28451 28585 28731 28772 28831 28885 28888 28942 29195 29259
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 29394 29622 29638 29660 29714 29748 29909 29937 30005 30008 30085 30103 30192
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 30413 30678 30690 30716 30741 30764 30970 30983 31150 31181 31502 31515 31601
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 31612 31617 31654 31671 31699 31839 32004 32081 32148 32249 32285 32427 32466
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 32517 32570 32600 32681 32687 32705 32805 32843 32958 33055 33416 33505 33555
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 33660 33667 33958 34083 34175 34250 34456 34534 34592 34602 34664 34673 34801
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 35007 35152 35248 35450 35649 35728 36062 36177 36188 36225 36430 36518 36519
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 36534 36567 36569 36693 36721 36746 36770 36778 36795 36810 37039 37098 37234
## 1 1 1 1 1 2 1 1 1 1 1 1 1
## 37385 37574 37628 37636 37711 37849 37916 37927 37994 38026 38027 38040 38060
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 38070 38091 38153 38169 38187 38291 38376 38428 38450 38569 38619 38858 38954
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 39021 39115 39120 39227 39322 39372 39381 39455 39476 39480 39490 39687 39749
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 39816 39837 40066 40144 40216 40277 40411 40575 40600 40614 40735 40762 40768
## 1 1 1 1 2 1 1 1 1 1 1 1 1
## 40789 40794 40843 40882 41024 41059 41248 41307 41388 41407 41483 41512 41527
## 1 2 1 1 1 1 1 1 1 1 1 1 1
## 41574 41651 41700 41847 41880 41952 42089 42152 42190 42207 42221 42290 42408
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 42412 42512 42561 42681 42851 42951 43235 43238 43479 43910 44155 44319 44334
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 44403 44560 44569 44576 44589 44601 44748 44980 44984 45060 45128 45237 45358
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 45377 45395 45449 45466 45561 45631 45688 45788 45803 45954 46072 46080 46084
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 46109 46228 46489 46577 46609 46692 46735 46742 46781 47233 47236 47299 47481
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 47501 47530 47557 47614 47801 47916 47959 48020 48142 48174 48292 48462 48611
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 48642 48656 48700 48769 48830 49129 49241 49428 49480 49481 49492 49549 49591
## 1 1 1 1 1 1 1 1 1 1 1 1 1
## 49622 49754
## 1 1
max.sueldos=max(sueldos)
max.sueldos
## [1] 49754
min.sueldos=min(sueldos)
min.sueldos
## [1] 10076
rango.sueldos=range(sueldos)
rango.sueldos
## [1] 10076 49754
intervalo.sueldos=rango.sueldos[2]-rango.sueldos[1]
intervalo.sueldos
## [1] 39678
cuartiles.sueldos=quantile(sueldos, c(0.25, 0.50, 0.75))
cuartiles.sueldos
## 25% 50% 75%
## 19063 29630 39477
hist(sueldos, main="Histograma de Sueldos", xlab="Sueldos", ylab="Frecuencia")
boxplot(sueldos, horizontal = TRUE, main="Sueldos")
resumen.sueldos=summary(sueldos)
resumen.sueldos
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 10076 19063 29630 29445 39477 49754
Una muestra del contexto de calificaciones de entre 70 y 100 de estudiantes del ITD. Se generan 100 datos.
calificaciones <- sample(70: 100, 100, replace = TRUE)
calificaciones
## [1] 99 90 83 80 71 75 71 94 72 95 75 81 98 73 100 73 93 89
## [19] 99 89 86 99 94 89 91 100 70 94 72 98 78 93 88 82 98 94
## [37] 82 99 82 74 91 100 100 99 77 89 90 77 84 91 73 86 90 100
## [55] 73 77 70 77 76 84 97 76 72 81 93 84 88 100 100 90 79 83
## [73] 98 93 90 71 85 85 81 82 82 82 85 75 80 85 86 85 81 82
## [91] 96 89 74 75 73 70 71 100 72 93
media.calificaciones=mean(calificaciones)
media.calificaciones
## [1] 85.31
mediana.calificaciones=median(calificaciones)
mediana.calificaciones
## [1] 85
library(modeest)
moda.calificaciones=mfv(calificaciones)
moda.calificaciones
## [1] 100
frecuencias.calificaciones=table(calificaciones)
frecuencias.calificaciones
## calificaciones
## 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 88 89 90
## 3 4 4 5 2 4 2 4 1 1 2 4 7 2 3 5 3 2 5 5
## 91 93 94 95 96 97 98 99 100
## 3 5 4 1 1 1 4 5 8
max.calificaciones=max(calificaciones)
max.calificaciones
## [1] 100
min.calificaciones=min(calificaciones)
min.calificaciones
## [1] 70
rango.calificaciones=range(calificaciones)
rango.calificaciones
## [1] 70 100
intervalo.calificaciones=rango.calificaciones[2]-rango.calificaciones[1]
intervalo.calificaciones
## [1] 30
cuartiles.calificaciones=quantile(calificaciones, c(0.25, 0.50, 0.75))
cuartiles.calificaciones
## 25% 50% 75%
## 77 85 93
hist(calificaciones, main="Histograma de Calificaciones", xlab="Calificaciones", ylab="Frecuencia")
boxplot(calificaciones, horizontal = TRUE, main="Calificaciones")
resumen.calificaciones=summary(calificaciones)
resumen.calificaciones
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 70.00 77.00 85.00 85.31 93.00 100.00
Responder de manera descriptiva con sus palabras a las siguientes preguntas: En este nuevo caso realizamos las medias (con la cual se utilizo la función de mean()), mediana (con la función de median()) y modas(con la función de mfv(), pero antes de eso se descargaron los paquetes de "modest") de los datos de Edades, Sueldos y Calificaciones y para eso primero empezamos con los:
Valores de Edades
Con la media: 42
Con la mediana: 39.5
Con la moda de: 55
Valores de Sueldos
Con la media de: 29444.72
Con la mediana de: 29630
Con la moda de: 26134, 36746, 40216, 40794
Valores de Calificaciones
Con la media de: 85.31
Con la mediana de: 85
Con la moda de: 100
Ya obtenido la media, mediana y la moda de los datos pasamos al siguiente procedimiento el cual es sacar los valores de los cuartiles (medidas de localización dentro de un conjunto de datos que sirven para interpretar cuántos datos están por encima y por debajo de cada cuartil, que se determinan mediante la función quiantile()). Edades: 25%=29.75 ,50%=39.50 ,75%=55.00 Sueldos: 25%=19063 ,50%=29630 ,75%=39477 Calificaciones: 25%=77 ,50%=85 ,75%=93
Ya hecho el procedimiento de las cuartiles, procedemos a sacar los valores máximos(para sacar los valores máximos debemos usar la función max()), mínimos(para sacar los valores mínmos debemos usar la función min()) y su rango de cada dato, el rango se delimita por los elementos entre el valor máximo y el mínimo, para obtenerlo se emplea la función range(). El intervalo es el número de elementos que se encuentran entre ambos valores, y se consigue restando el máximo menos el mínimo.
Valor máximo
Edades: 65
Sueldos: 49754
Calificaciones: 100
Valor mínimo
Edades: 20
Sueldos: 10076
Calificaciones: 70
Rango
Edades: 20-65
Sueldos: 10076-49754
Calificaciones: 70-100
Terminando se sacar los valores y los rangos, seguimos con los histogramas, ustedes se preguntaran que es un histograma, bueno un histograma permite ver el comportamiento de información cuantitativa de forma gráfica, por ejemplo en el de edades muestra que edades hay y con cuanta frecuencia, igual con los demas datos de los Sueldos y Calificaciones. Y por ultimo realizamos un diagrama de boxplot() para cada dato, este sirve también nos muestra información de manera algo similar al histograma pero este representa los valores de la mediana con una línea vertical, los cuartiles y los extremos mínimo y máximo.
Con esto concluimos este caso 3