Generar tablas de frecuencias con un conjunto de datos de 100 registros
Crear un conjunto de datos de 100 registros con cuatro variables: nombre, genero, edad y deporte 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.
library(fdth)
losnombres <- c("DANIELA","CARLOS","ALEJANDRO","DESHIRÉ","FABIO","JOEL","ITZEL","FERNANDO","RICARDO","AGNES","PAULA","SAMANTHA","LUIS","ROBERTO","CRISTIAN","FRNACISKA","MAURICIO","ABRAHAM","PAMELA","LITZY")
nombres <- sample(losnombres,100,replace = TRUE)
nombres
## [1] "ITZEL" "JOEL" "FRNACISKA" "ITZEL" "CRISTIAN" "LUIS"
## [7] "LITZY" "PAMELA" "ROBERTO" "JOEL" "JOEL" "DANIELA"
## [13] "FRNACISKA" "MAURICIO" "CARLOS" "SAMANTHA" "PAMELA" "LITZY"
## [19] "ROBERTO" "PAULA" "RICARDO" "FABIO" "DESHIRÉ" "FABIO"
## [25] "FERNANDO" "ABRAHAM" "DESHIRÉ" "LITZY" "CRISTIAN" "LUIS"
## [31] "AGNES" "CRISTIAN" "LITZY" "ABRAHAM" "AGNES" "CRISTIAN"
## [37] "PAMELA" "PAMELA" "CARLOS" "ALEJANDRO" "SAMANTHA" "CRISTIAN"
## [43] "ALEJANDRO" "FRNACISKA" "PAULA" "RICARDO" "LUIS" "FABIO"
## [49] "AGNES" "DESHIRÉ" "ABRAHAM" "SAMANTHA" "PAULA" "ABRAHAM"
## [55] "ROBERTO" "ABRAHAM" "CRISTIAN" "JOEL" "LUIS" "DESHIRÉ"
## [61] "ROBERTO" "ROBERTO" "DESHIRÉ" "FRNACISKA" "CARLOS" "ITZEL"
## [67] "ROBERTO" "RICARDO" "DESHIRÉ" "LITZY" "MAURICIO" "RICARDO"
## [73] "ABRAHAM" "JOEL" "AGNES" "MAURICIO" "DESHIRÉ" "DESHIRÉ"
## [79] "PAULA" "RICARDO" "FERNANDO" "DANIELA" "ITZEL" "FABIO"
## [85] "CARLOS" "CRISTIAN" "ALEJANDRO" "PAMELA" "DANIELA" "JOEL"
## [91] "AGNES" "ROBERTO" "CRISTIAN" "LUIS" "PAULA" "ALEJANDRO"
## [97] "FABIO" "CARLOS" "RICARDO" "JOEL"
generos <- sample(c("Femenino","Masculino"), 100, replace = TRUE)
edades <- sample(15:60, 100 ,replace = TRUE)
misdeportes <- c("BALLET","BASQUETBOL","CICLISMO","TENIS","NATACIÓN","BOX","AJEDREZ","ATLETISMO","WATERPOLO","GIMANASIA")
deportes <- sample(misdeportes, 100, replace = TRUE)
personal <- data.frame(nombres,generos,edades,deportes)
La variable de interés es nombres Table() genera la frecuencia de cada elemento transform transforma … significa renglones columnas con data.frame se consrtuye un data.frame *con names() se modifica los nombres de variables de un data.name
#transform(table(personal$nombres))
tabla_frec.nombres <- data.frame(transform(table(personal$nombres)))
names(tabla_frec.nombres) <-c("nombres","freq")
tabla_frec.nombres
## nombres freq
## 1 ABRAHAM 6
## 2 AGNES 5
## 3 ALEJANDRO 4
## 4 CARLOS 5
## 5 CRISTIAN 8
## 6 DANIELA 3
## 7 DESHIRÉ 8
## 8 FABIO 5
## 9 FERNANDO 2
## 10 FRNACISKA 4
## 11 ITZEL 4
## 12 JOEL 7
## 13 LITZY 5
## 14 LUIS 5
## 15 MAURICIO 3
## 16 PAMELA 5
## 17 PAULA 5
## 18 RICARDO 6
## 19 ROBERTO 7
## 20 SAMANTHA 3
#table(personal\(nombres) #transform(table(personal\)nombres))
tabla_frec.nombres <- data.frame(transform(table(personal$nombres)))
names(tabla_frec.nombres) <- c('nombres', 'freq')
tabla_frec.nombres
## nombres freq
## 1 ABRAHAM 6
## 2 AGNES 5
## 3 ALEJANDRO 4
## 4 CARLOS 5
## 5 CRISTIAN 8
## 6 DANIELA 3
## 7 DESHIRÉ 8
## 8 FABIO 5
## 9 FERNANDO 2
## 10 FRNACISKA 4
## 11 ITZEL 4
## 12 JOEL 7
## 13 LITZY 5
## 14 LUIS 5
## 15 MAURICIO 3
## 16 PAMELA 5
## 17 PAULA 5
## 18 RICARDO 6
## 19 ROBERTO 7
## 20 SAMANTHA 3
N <- nrow(personal)
N
## [1] 100
freq.r <- tabla_frec.nombres$freq / N
freq.r
## [1] 0.06 0.05 0.04 0.05 0.08 0.03 0.08 0.05 0.02 0.04 0.04 0.07 0.05 0.05 0.03
## [16] 0.05 0.05 0.06 0.07 0.03
freq.p <- freq.r * 100
freq.p
## [1] 6 5 4 5 8 3 8 5 2 4 4 7 5 5 3 5 5 6 7 3
tabla_frec.nombres <- cbind(tabla_frec.nombres, freq.r, freq.p)
tabla_frec.nombres
## nombres freq freq.r freq.p
## 1 ABRAHAM 6 0.06 6
## 2 AGNES 5 0.05 5
## 3 ALEJANDRO 4 0.04 4
## 4 CARLOS 5 0.05 5
## 5 CRISTIAN 8 0.08 8
## 6 DANIELA 3 0.03 3
## 7 DESHIRÉ 8 0.08 8
## 8 FABIO 5 0.05 5
## 9 FERNANDO 2 0.02 2
## 10 FRNACISKA 4 0.04 4
## 11 ITZEL 4 0.04 4
## 12 JOEL 7 0.07 7
## 13 LITZY 5 0.05 5
## 14 LUIS 5 0.05 5
## 15 MAURICIO 3 0.03 3
## 16 PAMELA 5 0.05 5
## 17 PAULA 5 0.05 5
## 18 RICARDO 6 0.06 6
## 19 ROBERTO 7 0.07 7
## 20 SAMANTHA 3 0.03 3
install.packages("fdth")
## Warning: package 'fdth' is in use and will not be installed
library("fdth")
tabla_frec.nombres.2 <- data.frame(fdt_cat(personal$nombres))
names(tabla_frec.nombres.2) <- c('nombres', 'freq', 'freq.r', 'freq.p', 'freq.acum', 'frec.por.acum')
tabla_frec.nombres.2
## nombres freq freq.r freq.p freq.acum frec.por.acum
## 1 CRISTIAN 8 0.08 8 8 8
## 2 DESHIRÉ 8 0.08 8 16 16
## 3 JOEL 7 0.07 7 23 23
## 4 ROBERTO 7 0.07 7 30 30
## 5 ABRAHAM 6 0.06 6 36 36
## 6 RICARDO 6 0.06 6 42 42
## 7 AGNES 5 0.05 5 47 47
## 8 CARLOS 5 0.05 5 52 52
## 9 FABIO 5 0.05 5 57 57
## 10 LITZY 5 0.05 5 62 62
## 11 LUIS 5 0.05 5 67 67
## 12 PAMELA 5 0.05 5 72 72
## 13 PAULA 5 0.05 5 77 77
## 14 ALEJANDRO 4 0.04 4 81 81
## 15 FRNACISKA 4 0.04 4 85 85
## 16 ITZEL 4 0.04 4 89 89
## 17 DANIELA 3 0.03 3 92 92
## 18 MAURICIO 3 0.03 3 95 95
## 19 SAMANTHA 3 0.03 3 98 98
## 20 FERNANDO 2 0.02 2 100 100
barplot(height = tabla_frec.nombres.2$freq, names.arg = tabla_frec.nombres.2$nombres)
hist(personal$edades, main = "Frecuencia de edades", xlab = "Edades", ylab = "Frecuencias")
tabla.frec.edades <- data.frame(transform(table(personal$edades)))
# tabla.frecuencias.edades
names(tabla.frec.edades) <- c("edades", "freq")
tabla.frec.edades
## edades freq
## 1 15 1
## 2 16 6
## 3 17 2
## 4 18 2
## 5 19 3
## 6 20 2
## 7 21 3
## 8 22 3
## 9 23 1
## 10 24 1
## 11 25 1
## 12 26 6
## 13 27 4
## 14 28 4
## 15 30 2
## 16 31 1
## 17 32 2
## 18 33 3
## 19 34 2
## 20 35 4
## 21 36 2
## 22 37 1
## 23 39 2
## 24 40 2
## 25 41 4
## 26 45 2
## 27 47 1
## 28 48 2
## 29 49 4
## 30 50 3
## 31 51 3
## 32 52 1
## 33 53 4
## 34 54 3
## 35 56 2
## 36 57 2
## 37 58 5
## 38 59 2
## 39 60 2
barplot(height = tabla.frec.edades$freq,
names.arg = tabla.frec.edades$edades,
main = "Frecuencias de Edades",
xlab = "Edades", ylab = "Frecuencias")
tabla.frec.edades_2 <- fdt(personal$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) 16 0.16 16 16 16
## 2 [20.57,26.29) 15 0.15 15 31 31
## 3 [26.29,32.01) 13 0.13 13 44 44
## 4 [32.01,37.73) 12 0.12 12 56 56
## 5 [37.73,43.44) 8 0.08 8 64 64
## 6 [43.44,49.16) 9 0.09 9 73 73
## 7 [49.16,54.88) 14 0.14 14 87 87
## 8 [54.88,60.6) 13 0.13 13 100 100
barplot(height = tabla.frec.edades_2$freq,
names.arg = tabla.frec.edades_2$clases,
main = "Frecuencias de Clases",
xlab = "Clases de edades", ylab = "Frecuencias")
tabla_frec.genero <- data.frame(fdt_cat(personal$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 58 0.58 58 58 58
## 2 Femenino 42 0.42 42 100 100
barplot(height = tabla_frec.genero$freq,
names.arg = tabla_frec.genero$generos,
main = "Frecuencias de Géneros",
xlab = "Géneros", ylab = "Frecuencias")
pie(x = tabla_frec.genero$freq,
labels = tabla_frec.genero$generos,
col = c(155,100))
tabla_frec.deporte <- data.frame(fdt_cat(personal$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 NATACIÓN 15 0.15 15 15 15
## 2 AJEDREZ 13 0.13 13 28 28
## 3 BALLET 13 0.13 13 41 41
## 4 GIMANASIA 12 0.12 12 53 53
## 5 ATLETISMO 9 0.09 9 62 62
## 6 BASQUETBOL 8 0.08 8 70 70
## 7 BOX 8 0.08 8 78 78
## 8 TENIS 8 0.08 8 86 86
## 9 CICLISMO 7 0.07 7 93 93
## 10 WATERPOLO 7 0.07 7 100 100
barplot(height = tabla_frec.deporte$freq,
names.arg = tabla_frec.deporte$deportes,
main = "Frecuencias de deportes",
xlab = "Deportes", ylab = "Frecuencias")
• De acuerdo a la representación de la tabla de distribución de los nombres del conjunto de datos, se observa que “ALEJANDRO” es el nombre con mayor frecuencia que representa el 11% del total de los casos. • El caso refleja que hay mas personas de 21 y 56 años de acuerdo al histograma. • De acuerdo con las graficas de barra y pastel, refleja que hay mas personas de genero femenino que masculino. • Según la tabla de frecuencia de los deportes que mas se practica es atletismo con un 15% y el que menos se frecuenta practicar es ajedrez 4%.