library(fdth)
Sembrar una semila set.seed()
set.seed(2024)
losnombres <- c("PEPE","AURON","ALAN","MEMO","RICHI","JORGE","PAOLA","CARLOS","LUIS","GUILLERMO","MARIA","LUISA","EDUARDO","ALEJANDRO","ENRIQUE","DIEGO","VIRIDIANA","ALEJANDRA","PAMELA","DIANA")
nombres <- sample(losnombres,100,replace = TRUE)
nombres
## [1] "AURON" "RICHI" "EDUARDO" "VIRIDIANA" "EDUARDO" "LUIS"
## [7] "AURON" "MARIA" "DIEGO" "ALEJANDRO" "AURON" "LUISA"
## [13] "ALEJANDRA" "PEPE" "MARIA" "ALAN" "LUIS" "ALEJANDRO"
## [19] "VIRIDIANA" "DIEGO" "DIANA" "DIANA" "MARIA" "DIANA"
## [25] "DIANA" "GUILLERMO" "MEMO" "PAOLA" "DIANA" "DIEGO"
## [31] "DIANA" "ALAN" "AURON" "VIRIDIANA" "VIRIDIANA" "ALAN"
## [37] "PEPE" "JORGE" "DIANA" "LUIS" "ENRIQUE" "EDUARDO"
## [43] "DIEGO" "MARIA" "AURON" "VIRIDIANA" "PAMELA" "LUISA"
## [49] "RICHI" "DIEGO" "JORGE" "ALAN" "PEPE" "MARIA"
## [55] "PAMELA" "LUIS" "ALAN" "MARIA" "DIANA" "ALEJANDRO"
## [61] "DIEGO" "MEMO" "ALEJANDRO" "VIRIDIANA" "CARLOS" "LUIS"
## [67] "DIANA" "DIEGO" "ALEJANDRA" "MARIA" "AURON" "PAMELA"
## [73] "LUISA" "VIRIDIANA" "AURON" "LUIS" "DIEGO" "EDUARDO"
## [79] "JORGE" "MEMO" "VIRIDIANA" "ENRIQUE" "DIEGO" "EDUARDO"
## [85] "PAOLA" "ALAN" "MEMO" "PAOLA" "MARIA" "ALEJANDRO"
## [91] "MARIA" "LUIS" "ENRIQUE" "AURON" "CARLOS" "GUILLERMO"
## [97] "PAMELA" "AURON" "VIRIDIANA" "ALEJANDRO"
generos <- sample(c("Femenino","Masculino"), 100, replace = TRUE)
edades <- sample(15:60, 100 ,replace = TRUE)
misdeportes <- c("FUTBOL","BASQUETBOL","BEISBOL","TENIS","NATACIÓN","BOX","AJEDREZ","KARATE","ATLETISMO","AMERICANO","CROSSFIT")
deportes <- sample(misdeportes, 100, replace = TRUE)
deportes
## [1] "BEISBOL" "KARATE" "CROSSFIT" "KARATE" "CROSSFIT"
## [6] "CROSSFIT" "NATACIÓN" "BASQUETBOL" "AMERICANO" "FUTBOL"
## [11] "KARATE" "TENIS" "AJEDREZ" "ATLETISMO" "NATACIÓN"
## [16] "TENIS" "TENIS" "NATACIÓN" "BEISBOL" "TENIS"
## [21] "AMERICANO" "BOX" "KARATE" "BEISBOL" "NATACIÓN"
## [26] "KARATE" "BEISBOL" "KARATE" "AMERICANO" "NATACIÓN"
## [31] "AMERICANO" "AJEDREZ" "BASQUETBOL" "BEISBOL" "AJEDREZ"
## [36] "NATACIÓN" "KARATE" "AJEDREZ" "AJEDREZ" "BOX"
## [41] "KARATE" "ATLETISMO" "TENIS" "AJEDREZ" "BOX"
## [46] "AMERICANO" "BOX" "KARATE" "CROSSFIT" "ATLETISMO"
## [51] "FUTBOL" "KARATE" "BASQUETBOL" "TENIS" "FUTBOL"
## [56] "NATACIÓN" "BASQUETBOL" "KARATE" "CROSSFIT" "FUTBOL"
## [61] "ATLETISMO" "TENIS" "FUTBOL" "TENIS" "BASQUETBOL"
## [66] "FUTBOL" "FUTBOL" "BEISBOL" "AJEDREZ" "BOX"
## [71] "AMERICANO" "TENIS" "BEISBOL" "AJEDREZ" "NATACIÓN"
## [76] "ATLETISMO" "FUTBOL" "BEISBOL" "BEISBOL" "KARATE"
## [81] "AMERICANO" "FUTBOL" "BASQUETBOL" "CROSSFIT" "ATLETISMO"
## [86] "AMERICANO" "AMERICANO" "NATACIÓN" "KARATE" "AJEDREZ"
## [91] "ATLETISMO" "CROSSFIT" "CROSSFIT" "BASQUETBOL" "AMERICANO"
## [96] "BOX" "BEISBOL" "BEISBOL" "AMERICANO" "FUTBOL"
personal <- data.frame(nombres,generos,edades,deportes)
personal
## nombres generos edades deportes
## 1 AURON Masculino 47 BEISBOL
## 2 RICHI Femenino 19 KARATE
## 3 EDUARDO Femenino 46 CROSSFIT
## 4 VIRIDIANA Femenino 51 KARATE
## 5 EDUARDO Masculino 39 CROSSFIT
## 6 LUIS Masculino 23 CROSSFIT
## 7 AURON Femenino 39 NATACIÓN
## 8 MARIA Masculino 15 BASQUETBOL
## 9 DIEGO Femenino 27 AMERICANO
## 10 ALEJANDRO Femenino 45 FUTBOL
## 11 AURON Femenino 40 KARATE
## 12 LUISA Masculino 26 TENIS
## 13 ALEJANDRA Femenino 58 AJEDREZ
## 14 PEPE Masculino 43 ATLETISMO
## 15 MARIA Femenino 21 NATACIÓN
## 16 ALAN Masculino 24 TENIS
## 17 LUIS Femenino 57 TENIS
## 18 ALEJANDRO Femenino 33 NATACIÓN
## 19 VIRIDIANA Masculino 44 BEISBOL
## 20 DIEGO Femenino 25 TENIS
## 21 DIANA Masculino 48 AMERICANO
## 22 DIANA Masculino 39 BOX
## 23 MARIA Masculino 30 KARATE
## 24 DIANA Masculino 51 BEISBOL
## 25 DIANA Femenino 34 NATACIÓN
## 26 GUILLERMO Femenino 21 KARATE
## 27 MEMO Masculino 56 BEISBOL
## 28 PAOLA Femenino 37 KARATE
## 29 DIANA Masculino 33 AMERICANO
## 30 DIEGO Masculino 28 NATACIÓN
## 31 DIANA Femenino 58 AMERICANO
## 32 ALAN Masculino 40 AJEDREZ
## 33 AURON Femenino 15 BASQUETBOL
## 34 VIRIDIANA Femenino 25 BEISBOL
## 35 VIRIDIANA Femenino 25 AJEDREZ
## 36 ALAN Femenino 44 NATACIÓN
## 37 PEPE Masculino 18 KARATE
## 38 JORGE Femenino 55 AJEDREZ
## 39 DIANA Femenino 48 AJEDREZ
## 40 LUIS Masculino 54 BOX
## 41 ENRIQUE Femenino 53 KARATE
## 42 EDUARDO Masculino 21 ATLETISMO
## 43 DIEGO Masculino 37 TENIS
## 44 MARIA Masculino 15 AJEDREZ
## 45 AURON Femenino 41 BOX
## 46 VIRIDIANA Femenino 45 AMERICANO
## 47 PAMELA Femenino 60 BOX
## 48 LUISA Femenino 21 KARATE
## 49 RICHI Femenino 34 CROSSFIT
## 50 DIEGO Femenino 29 ATLETISMO
## 51 JORGE Masculino 26 FUTBOL
## 52 ALAN Masculino 49 KARATE
## 53 PEPE Masculino 42 BASQUETBOL
## 54 MARIA Femenino 32 TENIS
## 55 PAMELA Masculino 29 FUTBOL
## 56 LUIS Femenino 50 NATACIÓN
## 57 ALAN Masculino 31 BASQUETBOL
## 58 MARIA Femenino 41 KARATE
## 59 DIANA Masculino 30 CROSSFIT
## 60 ALEJANDRO Femenino 49 FUTBOL
## 61 DIEGO Masculino 57 ATLETISMO
## 62 MEMO Masculino 60 TENIS
## 63 ALEJANDRO Masculino 54 FUTBOL
## 64 VIRIDIANA Masculino 15 TENIS
## 65 CARLOS Femenino 49 BASQUETBOL
## 66 LUIS Masculino 46 FUTBOL
## 67 DIANA Femenino 30 FUTBOL
## 68 DIEGO Femenino 26 BEISBOL
## 69 ALEJANDRA Femenino 15 AJEDREZ
## 70 MARIA Femenino 43 BOX
## 71 AURON Masculino 26 AMERICANO
## 72 PAMELA Femenino 27 TENIS
## 73 LUISA Femenino 57 BEISBOL
## 74 VIRIDIANA Masculino 36 AJEDREZ
## 75 AURON Masculino 53 NATACIÓN
## 76 LUIS Masculino 44 ATLETISMO
## 77 DIEGO Femenino 47 FUTBOL
## 78 EDUARDO Masculino 19 BEISBOL
## 79 JORGE Femenino 33 BEISBOL
## 80 MEMO Femenino 16 KARATE
## 81 VIRIDIANA Masculino 29 AMERICANO
## 82 ENRIQUE Femenino 29 FUTBOL
## 83 DIEGO Masculino 50 BASQUETBOL
## 84 EDUARDO Masculino 24 CROSSFIT
## 85 PAOLA Masculino 28 ATLETISMO
## 86 ALAN Femenino 29 AMERICANO
## 87 MEMO Masculino 20 AMERICANO
## 88 PAOLA Femenino 55 NATACIÓN
## 89 MARIA Femenino 32 KARATE
## 90 ALEJANDRO Femenino 58 AJEDREZ
## 91 MARIA Masculino 32 ATLETISMO
## 92 LUIS Femenino 17 CROSSFIT
## 93 ENRIQUE Femenino 43 CROSSFIT
## 94 AURON Masculino 31 BASQUETBOL
## 95 CARLOS Masculino 59 AMERICANO
## 96 GUILLERMO Femenino 60 BOX
## 97 PAMELA Femenino 47 BEISBOL
## 98 AURON Masculino 32 BEISBOL
## 99 VIRIDIANA Femenino 34 AMERICANO
## 100 ALEJANDRO Masculino 30 FUTBOL
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 La fórmula de la frecuencia \[f = {ni / N}\]
#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 ALAN 6
## 2 ALEJANDRA 2
## 3 ALEJANDRO 6
## 4 AURON 9
## 5 CARLOS 2
## 6 DIANA 9
## 7 DIEGO 9
## 8 EDUARDO 5
## 9 ENRIQUE 3
## 10 GUILLERMO 2
## 11 JORGE 3
## 12 LUIS 7
## 13 LUISA 3
## 14 MARIA 9
## 15 MEMO 4
## 16 PAMELA 4
## 17 PAOLA 3
## 18 PEPE 3
## 19 RICHI 2
## 20 VIRIDIANA 9
N <- nrow(personal)
N
## [1] 100
tabla_frec.nombres <- data.frame(transform(table(personal$nombres)))
names(tabla_frec.nombres) <- c("Nombres", "Frecuencia.Abso")
tabla_frec.nombres
## Nombres Frecuencia.Abso
## 1 ALAN 6
## 2 ALEJANDRA 2
## 3 ALEJANDRO 6
## 4 AURON 9
## 5 CARLOS 2
## 6 DIANA 9
## 7 DIEGO 9
## 8 EDUARDO 5
## 9 ENRIQUE 3
## 10 GUILLERMO 2
## 11 JORGE 3
## 12 LUIS 7
## 13 LUISA 3
## 14 MARIA 9
## 15 MEMO 4
## 16 PAMELA 4
## 17 PAOLA 3
## 18 PEPE 3
## 19 RICHI 2
## 20 VIRIDIANA 9
Freq.relativa <- tabla_frec.nombres$Frecuencia / N
Freq.relativa
## [1] 0.06 0.02 0.06 0.09 0.02 0.09 0.09 0.05 0.03 0.02 0.03 0.07 0.03 0.09 0.04
## [16] 0.04 0.03 0.03 0.02 0.09
Freq.Porcentual <- Freq.relativa * 100
Freq.Porcentual
## [1] 6 2 6 9 2 9 9 5 3 2 3 7 3 9 4 4 3 3 2 9
tabla_frec.nombres <- cbind(tabla_frec.nombres, Freq.relativa, Freq.Porcentual)
tabla_frec.nombres
## Nombres Frecuencia.Abso Freq.relativa Freq.Porcentual
## 1 ALAN 6 0.06 6
## 2 ALEJANDRA 2 0.02 2
## 3 ALEJANDRO 6 0.06 6
## 4 AURON 9 0.09 9
## 5 CARLOS 2 0.02 2
## 6 DIANA 9 0.09 9
## 7 DIEGO 9 0.09 9
## 8 EDUARDO 5 0.05 5
## 9 ENRIQUE 3 0.03 3
## 10 GUILLERMO 2 0.02 2
## 11 JORGE 3 0.03 3
## 12 LUIS 7 0.07 7
## 13 LUISA 3 0.03 3
## 14 MARIA 9 0.09 9
## 15 MEMO 4 0.04 4
## 16 PAMELA 4 0.04 4
## 17 PAOLA 3 0.03 3
## 18 PEPE 3 0.03 3
## 19 RICHI 2 0.02 2
## 20 VIRIDIANA 9 0.09 9
Determinar frecuencia absoluta Determinar frecuencia relativa Determinar frecuencia porcentual Determinar frecuencia acomulada *Determinar frecuencia porcentual acomulada
tabla_frec.nombres.2 <- data.frame(fdt_cat(personal$nombres))
names(tabla_frec.nombres.2) <- c("nombres", "Freq Abso.", "Freq Rela.", "Freq Porce.", "Freq Acum.", "Freq Porce.Acum")
tabla_frec.nombres.2
## nombres Freq Abso. Freq Rela. Freq Porce. Freq Acum. Freq Porce.Acum
## 1 AURON 9 0.09 9 9 9
## 2 DIANA 9 0.09 9 18 18
## 3 DIEGO 9 0.09 9 27 27
## 4 MARIA 9 0.09 9 36 36
## 5 VIRIDIANA 9 0.09 9 45 45
## 6 LUIS 7 0.07 7 52 52
## 7 ALAN 6 0.06 6 58 58
## 8 ALEJANDRO 6 0.06 6 64 64
## 9 EDUARDO 5 0.05 5 69 69
## 10 MEMO 4 0.04 4 73 73
## 11 PAMELA 4 0.04 4 77 77
## 12 ENRIQUE 3 0.03 3 80 80
## 13 JORGE 3 0.03 3 83 83
## 14 LUISA 3 0.03 3 86 86
## 15 PAOLA 3 0.03 3 89 89
## 16 PEPE 3 0.03 3 92 92
## 17 ALEJANDRA 2 0.02 2 94 94
## 18 CARLOS 2 0.02 2 96 96
## 19 GUILLERMO 2 0.02 2 98 98
## 20 RICHI 2 0.02 2 100 100
fdt_cat()es una función que genera la tabla de distribución La variable de interés sigue siendo nombres Genera los mismos valores que “tabla_frec.nombres” , sólo que se agregan los acumulados La función data.frame() convierte la tabla de distribución generada por fd_caten un data.frame (conjunto de datos). La función names () cambia los nombres de la tabla_frec.nombres.2 Finalmente la tabla de distribución generada se construye ordenando de mayor a menor con respecto a la frecuencia
barplot(height = tabla_frec.nombres$Frecuencia, 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)))
names(tabla.frec.edades) <- c("edades", "Frecuencia")
barplot(height = tabla.frec.edades$Frecuencia, names.arg = tabla.frec.edades$edades,main = "Frecuencias de Edades",xlab = "Edades", ylab = "Frecuencias")
*Determinar frecuencia absoluta, frecuencia relativa, frecuencia porcentual, frecuencia acumulada, y frecuencia porcentual acumulada.
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', 'Frecuencia', 'Frecuencia.Rela', 'Frecuencia.Porce', 'Frecuencia.Acum', 'Frecuencia.Porce.Acumu')
tabla.frec.edades_2
## clases Frecuencia Frecuencia.Rela Frecuencia.Porce Frecuencia.Acum
## 1 [14.85,20.57) 11 0.11 11 11
## 2 [20.57,26.29) 14 0.14 14 25
## 3 [26.29,32.01) 19 0.19 19 44
## 4 [32.01,37.73) 9 0.09 9 53
## 5 [37.73,43.44) 11 0.11 11 64
## 6 [43.44,49.16) 15 0.15 15 79
## 7 [49.16,54.88) 8 0.08 8 87
## 8 [54.88,60.6) 13 0.13 13 100
## Frecuencia.Porce.Acumu
## 1 11
## 2 25
## 3 44
## 4 53
## 5 64
## 6 79
## 7 87
## 8 100
*Gráfica de frecuencias de tabla.frec.edades_2.
barplot(height = tabla.frec.edades_2$Frecuencia,
names.arg = tabla.frec.edades_2$clases,
main = "Frecuencias de Clases",
xlab = "Clases de edades", ylab = "Frecuencias")
Determinar frecuencia absoluta. Determinar frecuencia relativa. Determinar frecuencia porcentual. Determinar frecuencia acumulada. *Determinar frecuencia porcentual acumulada.
tabla_frec.genero <- data.frame(fdt_cat(personal$generos))
names(tabla_frec.genero) <- c('generos', 'Frecuencia', 'Frecuencia.Rela', 'Frecuencia.Porce', 'Frecuencia.Acum', 'Frecuencia.Porce.Acum')
tabla_frec.genero
## generos Frecuencia Frecuencia.Rela Frecuencia.Porce Frecuencia.Acum
## 1 Femenino 53 0.53 53 53
## 2 Masculino 47 0.47 47 100
## Frecuencia.Porce.Acum
## 1 53
## 2 100
barplot(height = tabla_frec.genero$Frecuencia,
names.arg = tabla_frec.genero$generos,
main = "Frecuencias de Géneros",
xlab = "Géneros", ylab = "Frecuencias")
pie(x = tabla_frec.genero$Frecuencia,
labels = tabla_frec.genero$generos,
col = c(120,100))
#### 12. Crear tabla de frecuencias con fdt_cat() de a variable deportes. Determinar frecuencia absoluta. Determinar frecuencia relativa. Determinar frecuencia porcentual. Determinar frecuencia acumulada. *Determinar frecuencia porcentual acumulada.
tabla_frec.deporte <- data.frame(fdt_cat(personal$deportes))
names(tabla_frec.deporte) <- c('deportes', 'Frecuencia', 'Frecuencia.Rela', 'Frecuencia.Porce', 'Frecuencia.Acum', 'Frecuencia.Porce.Acum')
tabla_frec.deporte
## deportes Frecuencia Frecuencia.Rela Frecuencia.Porce Frecuencia.Acum
## 1 KARATE 13 0.13 13 13
## 2 AMERICANO 11 0.11 11 24
## 3 BEISBOL 11 0.11 11 35
## 4 FUTBOL 10 0.10 10 45
## 5 AJEDREZ 9 0.09 9 54
## 6 NATACIÓN 9 0.09 9 63
## 7 TENIS 9 0.09 9 72
## 8 CROSSFIT 8 0.08 8 80
## 9 ATLETISMO 7 0.07 7 87
## 10 BASQUETBOL 7 0.07 7 94
## 11 BOX 6 0.06 6 100
## Frecuencia.Porce.Acum
## 1 13
## 2 24
## 3 35
## 4 45
## 5 54
## 6 63
## 7 72
## 8 80
## 9 87
## 10 94
## 11 100
barplot(height = tabla_frec.deporte$Frecuencia,
names.arg = tabla_frec.deporte$deportes,
main = "Frecuencias de deportes",
xlab = "Deportes", ylab = "Frecuencias")
pie(x = tabla_frec.deporte$Frecuencia,
labels = tabla_frec.deporte$deportes,
col = rainbow(length(tabla_frec.deporte$deportes)))
Descripción: