#Caso 2
#Objetivo.
#Generar tablas de frecuencias con un conjunto de datos de 100 registros
#Descripcion.
#Crear un conjunto de datos de 100 registros con cuatro variables: nombre, #genero, edad y deporto favorito de cada persona. Una vez construido el #conjunto de datos elaborar tablas de frecuencias de los nombres, géneros #(sexo) y deporte favorito; de igual forma determinar la tabla de frecuencia de #las edades de las personas.
#1. Cargar librerias fdth.
library(fdth)
##
## Attaching package: 'fdth'
## The following objects are masked from 'package:stats':
##
## sd, var
#2. Crear un conjunto de datos llamado personas.
# Crear 100 nombres a partir de 20 nombres.
# Crear genero aleatorio entre Masculino y Femenino.
# Crear la edad aleatoria entre 15 y 60.
# Crear el deporte favorito de cada persona aleatorio entre 10.
losnombres <- c("PACO",'PEDRO','MARIO','GUADALUPE','LUIS','MARIA','LAURA','PATRICIA','ANDREA','SAMIRA')
nombres <- sample(losnombres, 100, replace = TRUE)
generos <- sample(c('Masculino', 'Femenino'), 100, replace = TRUE)
edades <- sample(15:60, 100, replace = TRUE)
misdeportes <- c("FUTBOL",'TENIS', 'AJEDREZ','NATACION','KARATE','BASQUETBOL','RUGBY','ESGRIMA','KENDO','ATLETISMO')
deportes <- sample(misdeportes, 100, replace = TRUE)
personas <- data.frame(nombres, generos, edades, deportes)
personas
## nombres generos edades deportes
## 1 LUIS Masculino 45 ESGRIMA
## 2 GUADALUPE Femenino 17 KENDO
## 3 LUIS Masculino 38 TENIS
## 4 ANDREA Masculino 55 AJEDREZ
## 5 SAMIRA Masculino 53 KENDO
## 6 MARIA Femenino 37 ATLETISMO
## 7 ANDREA Masculino 31 AJEDREZ
## 8 PEDRO Femenino 21 ESGRIMA
## 9 PACO Masculino 47 KENDO
## 10 GUADALUPE Femenino 37 FUTBOL
## 11 PACO Femenino 41 ESGRIMA
## 12 MARIO Femenino 35 KARATE
## 13 ANDREA Femenino 57 ESGRIMA
## 14 GUADALUPE Masculino 47 ATLETISMO
## 15 SAMIRA Femenino 60 RUGBY
## 16 PEDRO Femenino 35 FUTBOL
## 17 LAURA Masculino 24 BASQUETBOL
## 18 PACO Femenino 29 ATLETISMO
## 19 GUADALUPE Femenino 28 KARATE
## 20 LUIS Femenino 32 ESGRIMA
## 21 PATRICIA Femenino 15 ATLETISMO
## 22 LUIS Masculino 19 ATLETISMO
## 23 LAURA Femenino 56 AJEDREZ
## 24 MARIA Masculino 19 BASQUETBOL
## 25 PATRICIA Masculino 44 KARATE
## 26 MARIA Masculino 48 FUTBOL
## 27 GUADALUPE Masculino 51 ESGRIMA
## 28 MARIO Femenino 27 ATLETISMO
## 29 PACO Femenino 49 NATACION
## 30 PACO Femenino 28 RUGBY
## 31 ANDREA Femenino 42 RUGBY
## 32 ANDREA Femenino 43 ATLETISMO
## 33 SAMIRA Femenino 19 BASQUETBOL
## 34 SAMIRA Masculino 48 ATLETISMO
## 35 GUADALUPE Femenino 38 AJEDREZ
## 36 ANDREA Femenino 34 KARATE
## 37 PACO Femenino 51 KARATE
## 38 GUADALUPE Masculino 55 NATACION
## 39 ANDREA Femenino 41 ATLETISMO
## 40 PACO Femenino 28 KARATE
## 41 GUADALUPE Masculino 59 AJEDREZ
## 42 LAURA Femenino 16 NATACION
## 43 PACO Masculino 26 KENDO
## 44 PATRICIA Masculino 47 KARATE
## 45 LAURA Femenino 31 TENIS
## 46 PEDRO Masculino 33 FUTBOL
## 47 GUADALUPE Masculino 47 ESGRIMA
## 48 SAMIRA Femenino 36 FUTBOL
## 49 ANDREA Masculino 42 ESGRIMA
## 50 PEDRO Masculino 56 KENDO
## 51 LAURA Femenino 27 FUTBOL
## 52 LAURA Masculino 38 KARATE
## 53 LUIS Femenino 20 BASQUETBOL
## 54 ANDREA Femenino 40 BASQUETBOL
## 55 PACO Femenino 20 AJEDREZ
## 56 SAMIRA Femenino 18 BASQUETBOL
## 57 LUIS Masculino 32 AJEDREZ
## 58 SAMIRA Masculino 42 RUGBY
## 59 PATRICIA Masculino 54 FUTBOL
## 60 LAURA Masculino 25 BASQUETBOL
## 61 LAURA Masculino 42 KARATE
## 62 MARIO Masculino 19 KARATE
## 63 ANDREA Masculino 55 ESGRIMA
## 64 GUADALUPE Masculino 46 FUTBOL
## 65 MARIO Masculino 58 FUTBOL
## 66 PACO Femenino 55 ESGRIMA
## 67 GUADALUPE Masculino 54 RUGBY
## 68 MARIA Masculino 46 KENDO
## 69 PEDRO Masculino 29 KARATE
## 70 MARIO Femenino 45 TENIS
## 71 PATRICIA Masculino 44 BASQUETBOL
## 72 ANDREA Femenino 15 ESGRIMA
## 73 LAURA Femenino 38 AJEDREZ
## 74 PATRICIA Femenino 50 AJEDREZ
## 75 ANDREA Femenino 18 BASQUETBOL
## 76 SAMIRA Femenino 30 KARATE
## 77 GUADALUPE Masculino 20 TENIS
## 78 PEDRO Masculino 23 TENIS
## 79 LAURA Masculino 32 NATACION
## 80 LAURA Masculino 19 ATLETISMO
## 81 LAURA Masculino 28 ESGRIMA
## 82 PACO Femenino 39 ESGRIMA
## 83 ANDREA Femenino 48 BASQUETBOL
## 84 MARIA Masculino 38 ESGRIMA
## 85 PACO Femenino 54 KENDO
## 86 LAURA Masculino 30 TENIS
## 87 MARIO Femenino 53 RUGBY
## 88 PATRICIA Masculino 54 KARATE
## 89 PACO Masculino 50 ATLETISMO
## 90 MARIO Masculino 27 ATLETISMO
## 91 PATRICIA Masculino 26 KENDO
## 92 SAMIRA Masculino 57 KARATE
## 93 PEDRO Femenino 45 AJEDREZ
## 94 PACO Femenino 39 BASQUETBOL
## 95 LAURA Masculino 20 FUTBOL
## 96 ANDREA Femenino 26 TENIS
## 97 LAURA Femenino 50 RUGBY
## 98 PATRICIA Masculino 35 NATACION
## 99 PATRICIA Masculino 24 RUGBY
## 100 MARIO Masculino 32 BASQUETBOL
#3. Crear tabla de frecuencia
#La variable de interés es nombres
#table() genera la frecuencia de cada elemento
#transform()) tranforma … significa renglones columnas
#Con data.frame se construye un data.frame
#con names() se modifica los nombres de variables de un data.frame
#La fórmula de frecuencia
#fi=ni/N
tabla_frec.nombres <- data.frame(transform(table(personas$nombres)))
names(tabla_frec.nombres) <- c('Nombre', 'Frecuencia')
tabla_frec.nombres
## Nombre Frecuencia
## 1 ANDREA 14
## 2 GUADALUPE 12
## 3 LAURA 15
## 4 LUIS 6
## 5 MARIA 5
## 6 MARIO 8
## 7 PACO 14
## 8 PATRICIA 10
## 9 PEDRO 7
## 10 SAMIRA 9
tabla_frec.nombres <- data.frame(fdt_cat(personas$nombres))
names(tabla_frec.nombres) <- c('nombres', 'freq', 'freq.r', 'freq.p', 'freq.acum', 'frec.por.acum')
tabla_frec.nombres
## nombres freq freq.r freq.p freq.acum frec.por.acum
## 1 LAURA 15 0.15 15 15 15
## 2 ANDREA 14 0.14 14 29 29
## 3 PACO 14 0.14 14 43 43
## 4 GUADALUPE 12 0.12 12 55 55
## 5 PATRICIA 10 0.10 10 65 65
## 6 SAMIRA 9 0.09 9 74 74
## 7 MARIO 8 0.08 8 82 82
## 8 PEDRO 7 0.07 7 89 89
## 9 LUIS 6 0.06 6 95 95
## 10 MARIA 5 0.05 5 100 100
#5. Visualizar tabla de frecuencias de nombres
barplot(height = tabla_frec.nombres$freq, names.arg = tabla_frec.nombres$nombres)

#6. Visualizar un histograma de la variable edades
hist(personas$edades, main = "Frecuencia de edades", xlab = "Edades", ylab = "Frecuencias")

#7. Crear tabla de frecuencias con table() de la variable edades
#La función table() genera frecuencias
#Gráfica de frecuencias de tabla_frec.edades
tabla.frec.edades <- data.frame(transform(table(personas$edades)))
names(tabla.frec.edades) <- c("edades", "freq")
barplot(height = tabla.frec.edades$freq,
names.arg = tabla.frec.edades$edades,
main = "Frecuencias de Edades",
xlab = "Edades", ylab = "Frecuencias")

#8. Crear tabla de frecuencias con fdt() de la variable edades
#Determinar frecuencia absoluta, frecuencia relativa, frecuencia porcentual, frecuencia acumulada, y frecuencia porcentual acumulada
tabla.frec.edades_2 <- fdt(personas$edades)
tabla.frec.edades_2 <- data.frame(tabla.frec.edades_2$table)
names(tabla.frec.edades_2) <- c('clases', 'freq', 'freq.r', 'freq.p', 'freq.acum', 'frec.por.acum')
tabla.frec.edades_2
## clases freq freq.r freq.p freq.acum frec.por.acum
## 1 [14.85,20.57) 15 0.15 15 15 15
## 2 [20.57,26.29) 8 0.08 8 23 23
## 3 [26.29,32.01) 17 0.17 17 40 40
## 4 [32.01,37.73) 8 0.08 8 48 48
## 5 [37.73,43.44) 15 0.15 15 63 63
## 6 [43.44,49.16) 15 0.15 15 78 78
## 7 [49.16,54.88) 11 0.11 11 89 89
## 8 [54.88,60.6) 11 0.11 11 100 100
#9. Visualizar tabla de frecuencias de edades (Barra)
#Gráfica de frecuencias de tabla.frec.edades_2
barplot(height = tabla.frec.edades_2$freq,
names.arg = tabla.frec.edades_2$clases,
main = "Frecuencias de Clases",
xlab = "Clases de edades", ylab = "Frecuencias")

#10. Crear tabla de frecuencias con fdt_cat() de la variable genero
#Determinar frecuencia absoluta, frecuencia relativa, frecuencia porcentual, frecuencia acumulada, y frecuencia porcentual acumulada
tabla_frec.genero <- data.frame(fdt_cat(personas$generos))
names(tabla_frec.genero) <- c('generos', 'freq', 'freq.r', 'freq.p', 'freq.acum', 'frec.por.acum')
tabla_frec.genero
## generos freq freq.r freq.p freq.acum frec.por.acum
## 1 Masculino 52 0.52 52 52 52
## 2 Femenino 48 0.48 48 100 100
#11. Visualizar tabla de frecuencias de generos
#Grafica de barras
barplot(height = tabla_frec.genero$freq,
names.arg = tabla_frec.genero$generos,
main = "Frecuencias de Géneros",
xlab = "Géneros", ylab = "Frecuencias")

# Grafica de pastel
pie(x = tabla_frec.genero$freq,
labels = tabla_frec.genero$generos,
col = c(155,100))

#12. Crear tabla de frecuencias con fdt_cat() de a variable deportes
# Determinar frecuencia absoluta, frecuencia relativa, frecuencia porcentual, frecuencia acumulada, y frecuencia porcentual acumulada
tabla_frec.deporte <- data.frame(fdt_cat(personas$deportes))
names(tabla_frec.deporte) <- c('deportes', 'freq', 'freq.r', 'freq.p', 'freq.acum', 'frec.por.acum')
tabla_frec.deporte
## deportes freq freq.r freq.p freq.acum frec.por.acum
## 1 ESGRIMA 14 0.14 14 14 14
## 2 KARATE 14 0.14 14 28 28
## 3 ATLETISMO 12 0.12 12 40 40
## 4 BASQUETBOL 12 0.12 12 52 52
## 5 AJEDREZ 10 0.10 10 62 62
## 6 FUTBOL 10 0.10 10 72 72
## 7 KENDO 8 0.08 8 80 80
## 8 RUGBY 8 0.08 8 88 88
## 9 TENIS 7 0.07 7 95 95
## 10 NATACION 5 0.05 5 100 100
#13. Visualizar tabla de frecuencias de deportes
barplot(height = tabla_frec.deporte$freq,
names.arg = tabla_frec.deporte$deportes,
main = "Frecuencias de deportes",
xlab = "Deportes", ylab = "Frecuencias")

pie(x = tabla_frec.deporte$freq,
labels = tabla_frec.deporte$deportes,
col = rainbow(length(tabla_frec.deporte$deportes)))

#Interpretacion
#COn la funcion sample, se puede generar multiples valores o ya bien usar los mimos de forma diferente, como se muestran en las graficas tambien se pueden cambiar gracias a la funcion pie()