Objetivo

Realizar una interpretación de datos a partir de una simulación de un conjunto de datos cualitativos y por medio de una distribución de frecuencias y visualización gráfica de datos.

Descripcion

A través de un proceso que incluye datos, codificación y resultados se hace un análisis e interpretación de datos.

El proceso incluye varios aspectos: la creación de los datos que implica crear y procesar diez mil nombres de personas a partir de un vector de cincuenta nombres diferentes; el formateo o categorización de los mismos; la generación de frecuencias de clase, relativas y porcentuales y la creación de la distribución de frecuencias.

El análisis de los datos se hace a partir de la tabla de frecuencias, se genera una visualización gráfica se interpretan los resultados. La visualización de datos es mediante gráfica de barra y de pastel respectivamente y la interpretación del caso incluye responder a las cuestiones particulares del caso.

Marco teórico

La estadística es la disciplina matemática que trata con el análisis y estudio de los datos y la estadística descriptiva es el mecanismo que presenta los datos de manera resumida comprensible para su adecuada interpretación y comunicación.

¿qué datos y cuántos datos hay que analizar y estudiar?, ¿cuáles mediciones hay que hacer y determinar?, para responder a estos cuestionamientos de cualquier estudio y contexto, primero hay es necesario distinguir entre dos conceptos íntimamente relacionados con estadística, los de población y muestra.

Anderson Sweeney y Williams (2008) conceptualizan que una “población es el conjunto de todos los elementos de interés en un estudio determinado; la muestra es un subconjunto de la población” (pág. 15).

Walpole, Myers, Myers y Ye (2012) mencionan que “la información se colecta en forma de muestras o conjuntos de observaciones, las muestras se reúnen a partir de poblaciones, que son conjuntos de todos los individuos o elementos individuales de un tipo específico” (pág. 2).

Mendenhall, Beaver, y Beaver (2010) mencionana que “en el lenguaje de la estadística, uno de los conceptos más elementales es el muestreo. En casi todos los problemas de estadística, un número especificado de mediciones o datos, es decir, una muestra, se toma de un cuerpo de mediciones más grande llamado población” (pág. 3).

En un estudio estadístico se determinan algunas medidas, máximos, mínimos, medias, varianzas, desviaciones, cuartiles, percentiles, frecuencias, porcentajes, entre muchas otras, si estas medidas se calculan usando los datos de una muestra, se llaman estadísticos muestrales, si las medidas se determinan con los datos de una población se llaman parámetros poblacionales. (Anderson, Sweeney, & Williams, 2008).

Los datos se pueden clasificar en cualitativos o cuantitativos. Los datos cualitativos o categóricos emplean etiquetas o nombres para determinar categorías de elementos iguales o diferentes. Los datos cuantitativos son valores numéricos en los que se permite hacer operaciones matemáticas o determianr medidas estadísticas.

En su libro Mendenhall, Beaver y Beaver (2010), establecen que las variables cualitativas miden una cualidad o característica en cada unidad experimental. Las variables cuantitativas miden una cantidad numérica en cada unidad experimental. (pág. 10)

Una distribución de frecuencia es un resumen tabular de datos que muestra el número (frecuencia) de elementos en cada una de las diferentes clases disyuntas (que no se sobreponen) (Anderson, Sweeney, & Williams, 2008).

Una clase en elementos cualitativos es una etiqueta de cada tipo que hay en el conjunto de datos. Una frecuencia de clase para datos cualitativos es el número de elementos que existen de etiquetas individuales y diferentes entre si de cada tipo del conjunto de datos.

Para determinar una tabla de distribución de frecuencia se cuentan cada uno de los elementos de cada clase del conjunto de datos en la cual se indica cuántos elementos hay de cada clase y que proporción existe con respecto al número total de elementos.

\[frecuencia.de.clase=número.de.elementos.de.cada.clase\] #### $$ Es para indicar que lo que hay dentro es una fórmula

La frecuencia relativa de una clase es igual a la parte o proporción de los elementos que pertenecen a cada clase. En un conjunto de datos, en el que hay n observaciones, la frecuencia relativa de cada clase se determina como dividiendo la cantidad de cada clase entre el número de elementos

\[frecuencia.relativa=\frac{frecuencia.de.clase}{n}\]

La frecuencia porcentual de una clase es la frecuencia relativa multiplicada por 100

\[frecuencia.porcentual=frecuencia.relativa\times100\]

Entonces una distribución de frecuencia ofrece un resumen tabular de datos en el que se muestra la frecuencia relativa de cada clase. Una distribución de frecuencia porcentual da la frecuencia porcentual de los datos de cada clase (Anderson, Sweeney, & Williams, 2008).

Una gráfica de barras o un diagrama de barras, es una gráfica para representar los datos cualitativos de una distribución de frecuencia, de frecuencia relativa o de frecuencia porcentual. En el horizontal, se especifican las etiquetas empleadas para las clases (categorías), en el eje vertical se indica una escala para frecuencia, frecuencia relativa o frecuencia porcentual. Después, empleando un ancho de barra fijo, se dibuja sobre cada etiqueta de las clases una barra que se extiende de la base del eje horizontal hasta la frecuencia, frecuencia relativa o frecuencia porcentual de la clase (Anderson, Sweeney, & Williams, 2008).

La gráfica de pastel proporciona otra manera de mostrar distribuciones de frecuencia de clase, relativa o porcentual de datos cualitativos. Para elaborar una gráfica de pastel, primero se dibuja un círculo que representa todos los datos. Después se usa la frecuencia relativa para subdividir el círculo en sectores, o partes, que corresponden a la frecuencia relativa de cada clase (Anderson, Sweeney, & Williams, 2008).

Desarrollo

Se presentan datos de cincuenta nombre de personas credos a partir de la función c() y amacenados en una variable tipo vector llamada nombres.

Se utiliza la función factor() para categorizar los nombres, es decir que se pueda identificar nombres diferentes además que se pueda determinar su frecuencia.

Se determinan frecuencias de clase, frecuencias relativas y porcentuales, tablas de frecuencias, gráficas de barra y pastel del ejercicio.

Simular la generación de una muestra diez mil (10000) nombres de personas a partir de la simulación de 50 datos nombres diferentes para determinar la ditribución de frecuencias.

Se utiliza la variable tipo vector nombres

Sembrar una semilla

set.seed() significa que al momento de generar valores aleatorios Siempre genera los mismos resultados cada vez que se ejecute alguna función de aleatoriedad como el sample()

set.seed(23654235)

####Datos. Los nombres de personas

nombres <- c('Javier', 'Rubén', 'Hilda', 'Maria','Claudia','Héctor','Jairo', 'Luis', 'José', 'Angel','Manuel', 'Mayra', 'Juán', 'César', 'Edgar','Aaron','Francia', 'Lucero', 'Valeria','Yazmín','Paty', 'Jessica', 'Laura', 'Mayela','Lucy', 'Jesús', 'Bety', 'Martha', 'Guadalupe','Antonio', 'Humberto', 'Gabriela', 'Lorenzo','Joaquín','Ana','Louisa','Fernando','Gabriel','Jeorgina','Ernesto','Rocío','Vicoria','Italia','América','Jimena','Xóchitl','Lucrecia','Erendira','Verónica','Ramón' )

nombres
##  [1] "Javier"    "Rubén"     "Hilda"     "Maria"     "Claudia"   "Héctor"   
##  [7] "Jairo"     "Luis"      "José"      "Angel"     "Manuel"    "Mayra"    
## [13] "Juán"      "César"     "Edgar"     "Aaron"     "Francia"   "Lucero"   
## [19] "Valeria"   "Yazmín"    "Paty"      "Jessica"   "Laura"     "Mayela"   
## [25] "Lucy"      "Jesús"     "Bety"      "Martha"    "Guadalupe" "Antonio"  
## [31] "Humberto"  "Gabriela"  "Lorenzo"   "Joaquín"   "Ana"       "Louisa"   
## [37] "Fernando"  "Gabriel"   "Jeorgina"  "Ernesto"   "Rocío"     "Vicoria"  
## [43] "Italia"    "América"   "Jimena"    "Xóchitl"   "Lucrecia"  "Erendira" 
## [49] "Verónica"  "Ramón"

Simular diez mil nombres

Con la función sample() se generan diez mil datos de nombres de personas a partir de vector con los nombres.

La variable que se utilzia es un vector llamado datos.

Con la función head() y tail() se muestran los primeros y últimos registros respectivamente. Estas funcines head() y tail() se utilizan para no visualziar diez mil registros en pantalla que sería poco práctico.

datos <- sample(nombres, size = 10000, replace = TRUE)

head(datos, 50)   # Los primeros cincuenta
##  [1] "Jimena"   "Verónica" "Francia"  "Lucero"   "América"  "Ana"     
##  [7] "Hilda"    "Mayela"   "Bety"     "Lucero"   "Ana"      "Héctor"  
## [13] "Jairo"    "Jessica"  "Angel"    "Héctor"   "Jeorgina" "Erendira"
## [19] "Juán"     "Héctor"   "Lucero"   "Verónica" "Lucero"   "Edgar"   
## [25] "Javier"   "Paty"     "Louisa"   "Bety"     "Verónica" "Lucrecia"
## [31] "Humberto" "Vicoria"  "Erendira" "Xóchitl"  "José"     "Mayra"   
## [37] "Erendira" "Jessica"  "Lorenzo"  "Vicoria"  "Edgar"    "Verónica"
## [43] "Lucy"     "Bety"     "Gabriel"  "Hilda"    "Mayela"   "Italia"  
## [49] "Rubén"    "Jeorgina"
tail(datos, 50)   # Los últimos cincuenta 
##  [1] "Angel"     "Juán"      "Angel"     "Claudia"   "Martha"    "Mayra"    
##  [7] "Lorenzo"   "Antonio"   "Bety"      "América"   "Angel"     "Ramón"    
## [13] "Héctor"    "Jimena"    "Rocío"     "Xóchitl"   "Mayela"    "Aaron"    
## [19] "Jimena"    "Javier"    "Louisa"    "Bety"      "José"      "Antonio"  
## [25] "Louisa"    "Guadalupe" "Jesús"     "Fernando"  "Maria"     "Gabriela" 
## [31] "Juán"      "Mayra"     "Rubén"     "Ana"       "Erendira"  "Guadalupe"
## [37] "Ramón"     "Mayela"    "Ana"       "Mayela"    "Gabriel"   "Lucy"     
## [43] "Francia"   "Guadalupe" "Xóchitl"   "Verónica"  "Valeria"   "Rubén"    
## [49] "Mayra"     "Guadalupe"

Número de elementos

n <- length(datos)
n
## [1] 10000

Determinar los datos como tipo factor o categóricos

Con la función factor() permite identificar que los datos en R son categóricos y no solamente char y que además se pueden contabilizar y determinar su frecuencia.

datos <- factor(datos)

Frecuencia de clase

Utilizando una función que se llama table() se cuentan los elementos de cada clase y se identifica la frecuencia de clase.

frecuencia.clase <- table(datos)
frecuencia.clase
## datos
##     Aaron   América       Ana     Angel   Antonio      Bety     César   Claudia 
##       221       189       196       199       186       176       196       205 
##     Edgar  Erendira   Ernesto  Fernando   Francia   Gabriel  Gabriela Guadalupe 
##       205       217       215       185       232       219       193       215 
##    Héctor     Hilda  Humberto    Italia     Jairo    Javier  Jeorgina   Jessica 
##       220       209       219       203       188       191       205       165 
##     Jesús    Jimena   Joaquín      José      Juán     Laura   Lorenzo    Louisa 
##       186       205       196       193       202       178       196       230 
##    Lucero  Lucrecia      Lucy      Luis    Manuel     Maria    Martha    Mayela 
##       213       175       209       202       203       189       204       201 
##     Mayra      Paty     Ramón     Rocío     Rubén   Valeria  Verónica   Vicoria 
##       190       202       186       205       212       177       198       186 
##   Xóchitl    Yazmín 
##       198       215

Frecuencia relativa

La frecuencia relativa es dividiir frecuencia de clase entre n previamente creada: \[\frac{frecuencia.clase}{n}\]

frecuencia.relativa <- frecuencia.clase / n
frecuencia.relativa
## datos
##     Aaron   América       Ana     Angel   Antonio      Bety     César   Claudia 
##    0.0221    0.0189    0.0196    0.0199    0.0186    0.0176    0.0196    0.0205 
##     Edgar  Erendira   Ernesto  Fernando   Francia   Gabriel  Gabriela Guadalupe 
##    0.0205    0.0217    0.0215    0.0185    0.0232    0.0219    0.0193    0.0215 
##    Héctor     Hilda  Humberto    Italia     Jairo    Javier  Jeorgina   Jessica 
##    0.0220    0.0209    0.0219    0.0203    0.0188    0.0191    0.0205    0.0165 
##     Jesús    Jimena   Joaquín      José      Juán     Laura   Lorenzo    Louisa 
##    0.0186    0.0205    0.0196    0.0193    0.0202    0.0178    0.0196    0.0230 
##    Lucero  Lucrecia      Lucy      Luis    Manuel     Maria    Martha    Mayela 
##    0.0213    0.0175    0.0209    0.0202    0.0203    0.0189    0.0204    0.0201 
##     Mayra      Paty     Ramón     Rocío     Rubén   Valeria  Verónica   Vicoria 
##    0.0190    0.0202    0.0186    0.0205    0.0212    0.0177    0.0198    0.0186 
##   Xóchitl    Yazmín 
##    0.0198    0.0215

Frecuencia porcentual

La frecuencia porcentual es multiplicar la frecuencia relativa × 100: \[frecuencia.porcentual=frecuencia.relativa∗100\] dado que 100 representa el 100% del total de los datos.

frecuencia.porcentual <- frecuencia.relativa * 100
frecuencia.porcentual
## datos
##     Aaron   América       Ana     Angel   Antonio      Bety     César   Claudia 
##      2.21      1.89      1.96      1.99      1.86      1.76      1.96      2.05 
##     Edgar  Erendira   Ernesto  Fernando   Francia   Gabriel  Gabriela Guadalupe 
##      2.05      2.17      2.15      1.85      2.32      2.19      1.93      2.15 
##    Héctor     Hilda  Humberto    Italia     Jairo    Javier  Jeorgina   Jessica 
##      2.20      2.09      2.19      2.03      1.88      1.91      2.05      1.65 
##     Jesús    Jimena   Joaquín      José      Juán     Laura   Lorenzo    Louisa 
##      1.86      2.05      1.96      1.93      2.02      1.78      1.96      2.30 
##    Lucero  Lucrecia      Lucy      Luis    Manuel     Maria    Martha    Mayela 
##      2.13      1.75      2.09      2.02      2.03      1.89      2.04      2.01 
##     Mayra      Paty     Ramón     Rocío     Rubén   Valeria  Verónica   Vicoria 
##      1.90      2.02      1.86      2.05      2.12      1.77      1.98      1.86 
##   Xóchitl    Yazmín 
##      1.98      2.15

Tabla de frecuencias

Creando un data.frame que integra las columnas de clases, frecuencias, relativas y porcentuales.

Con la función name() se identifican los nombres de los refrescos y con la función as.vector() se extraen solo los valores numéricos del tipo de datos que se crearon con la función table().

Se utiliza la variable llamada tabla.frecuencia para construir el data.frame o conjunto de datos de manera tabular que se interpreta como una tabla de frecuencias de los datos.

tabla.frecuencia <- data.frame(names(frecuencia.clase), as.vector(frecuencia.clase), as.vector(frecuencia.relativa), as.vector(frecuencia.porcentual))

names(tabla.frecuencia) <- c('Clases', 'Frecuencia de clase', 'Relativa', 'Porcentual')

tabla.frecuencia
##       Clases Frecuencia de clase Relativa Porcentual
## 1      Aaron                 221   0.0221       2.21
## 2    América                 189   0.0189       1.89
## 3        Ana                 196   0.0196       1.96
## 4      Angel                 199   0.0199       1.99
## 5    Antonio                 186   0.0186       1.86
## 6       Bety                 176   0.0176       1.76
## 7      César                 196   0.0196       1.96
## 8    Claudia                 205   0.0205       2.05
## 9      Edgar                 205   0.0205       2.05
## 10  Erendira                 217   0.0217       2.17
## 11   Ernesto                 215   0.0215       2.15
## 12  Fernando                 185   0.0185       1.85
## 13   Francia                 232   0.0232       2.32
## 14   Gabriel                 219   0.0219       2.19
## 15  Gabriela                 193   0.0193       1.93
## 16 Guadalupe                 215   0.0215       2.15
## 17    Héctor                 220   0.0220       2.20
## 18     Hilda                 209   0.0209       2.09
## 19  Humberto                 219   0.0219       2.19
## 20    Italia                 203   0.0203       2.03
## 21     Jairo                 188   0.0188       1.88
## 22    Javier                 191   0.0191       1.91
## 23  Jeorgina                 205   0.0205       2.05
## 24   Jessica                 165   0.0165       1.65
## 25     Jesús                 186   0.0186       1.86
## 26    Jimena                 205   0.0205       2.05
## 27   Joaquín                 196   0.0196       1.96
## 28      José                 193   0.0193       1.93
## 29      Juán                 202   0.0202       2.02
## 30     Laura                 178   0.0178       1.78
## 31   Lorenzo                 196   0.0196       1.96
## 32    Louisa                 230   0.0230       2.30
## 33    Lucero                 213   0.0213       2.13
## 34  Lucrecia                 175   0.0175       1.75
## 35      Lucy                 209   0.0209       2.09
## 36      Luis                 202   0.0202       2.02
## 37    Manuel                 203   0.0203       2.03
## 38     Maria                 189   0.0189       1.89
## 39    Martha                 204   0.0204       2.04
## 40    Mayela                 201   0.0201       2.01
## 41     Mayra                 190   0.0190       1.90
## 42      Paty                 202   0.0202       2.02
## 43     Ramón                 186   0.0186       1.86
## 44     Rocío                 205   0.0205       2.05
## 45     Rubén                 212   0.0212       2.12
## 46   Valeria                 177   0.0177       1.77
## 47  Verónica                 198   0.0198       1.98
## 48   Vicoria                 186   0.0186       1.86
## 49   Xóchitl                 198   0.0198       1.98
## 50    Yazmín                 215   0.0215       2.15

Gráfica de barra

Gráfica de barra con todos los nombres

Con la función barplot() se visualiza la gráfica de barras, los atributos height y names.arg de la función son tanto la escala en el eje vertical como los valores en el eje horizontal; el atributo main establece el título del grafico.

barplot(height = tabla.frecuencia$`Frecuencia de clase`, names.arg = tabla.frecuencia$Clases, main = "Frecuencia de nombres. ")

Gráfica de barra top 10

Antes de graficar el top 10 o los nombres que mas se repiten, es necesario ordenar el conjunto de datos.

Se puede utilizar la función sort() que ordena un vector combindo con tabla.frecuencia[sort()] para ordenar todo el data.frame o conjunto de datos de manera descendente por la columna Frecuencia clase.

tabla.frecuencia <- tabla.frecuencia[order(tabla.frecuencia$`Frecuencia de clase`, decreasing = TRUE), ]

Toda vez que se ordenó el dataframe, con la selección de los primeros 10 [10, ] se encuentra el top 10 de los nombres más frecuentes.

tabla.frecuencia <- tabla.frecuencia[1:10,]
tabla.frecuencia
##       Clases Frecuencia de clase Relativa Porcentual
## 13   Francia                 232   0.0232       2.32
## 32    Louisa                 230   0.0230       2.30
## 1      Aaron                 221   0.0221       2.21
## 17    Héctor                 220   0.0220       2.20
## 14   Gabriel                 219   0.0219       2.19
## 19  Humberto                 219   0.0219       2.19
## 10  Erendira                 217   0.0217       2.17
## 11   Ernesto                 215   0.0215       2.15
## 16 Guadalupe                 215   0.0215       2.15
## 50    Yazmín                 215   0.0215       2.15

Ahora si se puede graficar solo los primeros diez nombres más repetidos y se observa la gráfica más amigable

barplot(height = tabla.frecuencia$`Frecuencia de clase`, names.arg = tabla.frecuencia$Clases, main = "Frecuencia de nombres. Top 10")

Gráfica de pastel

Con la función pie() se generan una distribución de frecuencia en forma de pastel de los datos de la tabla de frecuencia, los atributos x en esta función establece los valores y el atriuto labels indica las etiquetas o categorías de refrescos.

pie(x = tabla.frecuencia$`Frecuencia de clase`, labels = tabla.frecuencia$Clases)

Interpretación del caso 2

Como se puede observar, Francia fue el nombre más repetido con una frecuencia de 232 y el nombre de menor repetición fue Jessica con una frecuencia de 164, la frecuencia de cada nombre es:

frecuencia.relativa <- frecuencia.clase / n
frecuencia.relativa
## datos
##     Aaron   América       Ana     Angel   Antonio      Bety     César   Claudia 
##    0.0221    0.0189    0.0196    0.0199    0.0186    0.0176    0.0196    0.0205 
##     Edgar  Erendira   Ernesto  Fernando   Francia   Gabriel  Gabriela Guadalupe 
##    0.0205    0.0217    0.0215    0.0185    0.0232    0.0219    0.0193    0.0215 
##    Héctor     Hilda  Humberto    Italia     Jairo    Javier  Jeorgina   Jessica 
##    0.0220    0.0209    0.0219    0.0203    0.0188    0.0191    0.0205    0.0165 
##     Jesús    Jimena   Joaquín      José      Juán     Laura   Lorenzo    Louisa 
##    0.0186    0.0205    0.0196    0.0193    0.0202    0.0178    0.0196    0.0230 
##    Lucero  Lucrecia      Lucy      Luis    Manuel     Maria    Martha    Mayela 
##    0.0213    0.0175    0.0209    0.0202    0.0203    0.0189    0.0204    0.0201 
##     Mayra      Paty     Ramón     Rocío     Rubén   Valeria  Verónica   Vicoria 
##    0.0190    0.0202    0.0186    0.0205    0.0212    0.0177    0.0198    0.0186 
##   Xóchitl    Yazmín 
##    0.0198    0.0215

El porcentaje más alto es el de Francia con un 2.32% y el menor fue Jessica con un 1.65%. La tabla de distribución de frecuencias muestra la lista de nombres con su frecuencia, frecuencia relativa y porcentual únicamente con números, haciéndolo algo incómo de ver, después están las gráficas de barras, la primera muestra en orden y de manera gráfica la frecuencia de los nombres; y la segunda gráfica de barras muestra el nombre de los 10 nombres más contados; por último la gráfica de pastel, la cual muestra de manera gráfica la frecuencia relativa, repartiendo una porción del círculo a cada uno de los 10 nómbres más contados. Con este caso aprendí a buscar cierto espectro de datos en un Data.frame() y mostrarlos de manera gráfica tanto en una gráfica de barras y de pastel, además de aprender a mostrar a todos los datos en una gráfica de barras. Se encuentra la frecuencia, frecuencia relativa y porcentual, además de aplicarlo para saber cúales son los nombres más utilizados y mostrarlos de una manera más agradable para el lector

Nota: Debido a que era necesario encontrar datos específicos con valor fijo para poder encontrar al nombre más y menos ocupado y el comando sample() genera valores aleatorios cada vez que reajustamos el archivo estos valores cambian, así que se decidió tomar una semilla para que a partir de esta se generen los valores y que cada vez que se ejecute el programa siempre de los mismo valores (se realizó con la función set-seed()).

Referencias bibliográficas

Anderson, D., Sweeney, D., & Williams, T. (2008). Estadística para administración y economía Estadística para administración y economía. 10a. Edición. México, D.F: Cengage Learning Editores,S.A. de C.V.

Mendenhall, W., Beaver, R. J., & Beaver, B. M. (2010). Introducción a la probabilidad y estadística. México, D.F.: Cengage Learning Editores, S.A. de C.V.

Walpole, R., Myers, R. H., Myers, S. L., & Ye, K. (2007). Probabilidad y estadística para Ingeniería y Ciencias. Octava Edición (Octava Edición ed.). México: Prentice Hill. Pearson Educación.

Walpole, R., Myers, R., Myers, S., & Ye, K. (2012). Probabilidad y estadística para ingeniería y ciencias (Novena Edición ed.). Cd. México: Pearson.