ARQUITECTURA
Histogramas de ARQUITECTURA. Sturges, Scott y FD
arquitectura <- datos$promedio[which(datos$promedio > 0 & datos$semetre == 2 & datos$carrera == 'ARQUITECTURA')]
arquitectura
## [1] 85.60 88.33 89.83 89.67 90.83 87.50 95.00 84.83 80.00 82.80 90.33
## [12] 83.20 85.83 87.20 85.50 90.17 86.83 83.67 87.40 92.83 86.33 82.60
## [23] 84.67 83.67 86.00 88.75 90.00 91.50 84.75 85.60 89.75 78.00 82.00
## [34] 79.83 81.40 84.33 88.00 90.33 86.33 84.17 90.50 86.17 81.40 81.80
## [45] 86.67 87.33 88.17 77.33 89.50 84.50 81.00 84.83 79.33 87.00 81.33
## [56] 84.33 88.17 85.60 78.75 88.33 84.00 79.20 88.00 88.67 84.71 83.50
## [67] 84.50 83.67 83.17 79.20 83.80 85.67
n <- length(arquitectura)
n
## [1] 72
hist(arquitectura, breaks = "Sturges", freq = TRUE, main = "Promedios de los alumnos ARQUITECTURA del ITD. Sturges", xlab = "Promedios", ylab = "Frecuencia")

hist(arquitectura, breaks = "Scott", freq = TRUE, main = "Promedios de los alumnos ARQUITECTURA del ITD. Scott", xlab = "Promedios", ylab = "Frecuencia")

hist(arquitectura, breaks = "FD", freq = TRUE, main = "Promedios de los alumnos ARQUITECTURA del ITD. FD", xlab = "Promedios", ylab = "Frecuencia")

Tablas de Frecuencias de ARQUITECTURA. Sturges
clases <- nclass.Sturges(arquitectura)
clases
## [1] 8
tabla.intervalos <- transform(table(cut(arquitectura, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (77.3,79.5] 6
## 2 (79.5,81.7] 6
## 3 (81.7,84] 11
## 4 (84,86.2] 18
## 5 (86.2,88.4] 16
## 6 (88.4,90.6] 11
## 7 (90.6,92.8] 2
## 8 (92.8,95] 2
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (77.3,79.5] 6 0.08333333 8.333333
## 2 (79.5,81.7] 6 0.08333333 8.333333
## 3 (81.7,84] 11 0.15277778 15.277778
## 4 (84,86.2] 18 0.25000000 25.000000
## 5 (86.2,88.4] 16 0.22222222 22.222222
## 6 (88.4,90.6] 11 0.15277778 15.277778
## 7 (90.6,92.8] 2 0.02777778 2.777778
## 8 (92.8,95] 2 0.02777778 2.777778
# *********************************************************************************
#Inicializamos carreras.clases <- NULL
carreras.clases <- NULL # Solo una vez inicializar en estre script
# VAMOS A ACUMULAR TODAS LAS CLASES EN UN NUEVO data.frame
# Luego determinar LAS FRECUENCIAS maximas de de cada carrera de un mismo data.frame
# solo usar la regla Struges para cuestiones pr?cticas
carreras.clases <- rbind(carreras.clases, cbind(tabla.intervalos, "CARRERA" = "ARQUITECTURA"))
Gr?ficas de pastel. Arquitectura Sturges
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de ARQUITECTURA. Scott
clases <- nclass.scott(arquitectura)
clases
## [1] 6
tabla.intervalos <- transform(table(cut(arquitectura, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (77.3,80.3] 8
## 2 (80.3,83.2] 10
## 3 (83.2,86.2] 23
## 4 (86.2,89.1] 18
## 5 (89.1,92.1] 11
## 6 (92.1,95] 2
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (77.3,80.3] 8 0.11111111 11.111111
## 2 (80.3,83.2] 10 0.13888889 13.888889
## 3 (83.2,86.2] 23 0.31944444 31.944444
## 4 (86.2,89.1] 18 0.25000000 25.000000
## 5 (89.1,92.1] 11 0.15277778 15.277778
## 6 (92.1,95] 2 0.02777778 2.777778
Gr?ficas de pastel. Arquitectura Scott
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de ARQUITECTURA. FD
clases <- nclass.FD(arquitectura)
clases
## [1] 8
tabla.intervalos <- transform(table(cut(arquitectura, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (77.3,79.5] 6
## 2 (79.5,81.7] 6
## 3 (81.7,84] 11
## 4 (84,86.2] 18
## 5 (86.2,88.4] 16
## 6 (88.4,90.6] 11
## 7 (90.6,92.8] 2
## 8 (92.8,95] 2
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (77.3,79.5] 6 0.08333333 8.333333
## 2 (79.5,81.7] 6 0.08333333 8.333333
## 3 (81.7,84] 11 0.15277778 15.277778
## 4 (84,86.2] 18 0.25000000 25.000000
## 5 (86.2,88.4] 16 0.22222222 22.222222
## 6 (88.4,90.6] 11 0.15277778 15.277778
## 7 (90.6,92.8] 2 0.02777778 2.777778
## 8 (92.8,95] 2 0.02777778 2.777778
Gr?ficas de pastel. Arquitectura FD
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

BIOQUIMICA
Histogramas de BIOQUIMICA Sturges, Scott y FD
bioquimica <- datos$promedio[which(datos$promedio > 0 & datos$semetre == 2 & datos$carrera == 'BIOQUIMICA')]
bioquimica
## [1] 81.17 89.50 83.60 88.17 87.75 85.83 91.67 87.50 84.20 83.80 90.25
## [12] 83.67 77.57 88.40 77.50 88.00 94.67 87.00 83.17 79.67 90.00 92.17
## [23] 93.17 84.67 84.00 85.40 88.20 89.00 88.33 86.80 94.00 93.17 91.20
## [34] 85.40 93.33 88.33 89.17 83.80 81.00 82.33 81.40 79.50 80.00 84.83
## [45] 83.40 79.40 82.50 90.83 88.17 88.00 84.40 81.20 83.00 81.80 82.20
## [56] 87.83 86.33 85.33 83.50 89.00 81.67 90.50 85.33 89.50 95.17
n <- length(bioquimica)
n
## [1] 65
hist(bioquimica, breaks = "Sturges", freq = TRUE, main = "Promedios de los alumnos BIOQUIMICA del ITD. Sturges", xlab = "Promedios", ylab = "Frecuencia")

hist(bioquimica, breaks = "Scott", freq = TRUE, main = "Promedios de los alumnos BIOQUIMICA del ITD. Scott", xlab = "Promedios", ylab = "Frecuencia")

hist(bioquimica, breaks = "FD", freq = TRUE, main = "Promedios de los alumnos BIOQUIMICA del ITD. FD", xlab = "Promedios", ylab = "Frecuencia")

Tablas de Frecuencias de BIOQUIMICA Sturges
clases <- nclass.Sturges(bioquimica)
clases
## [1] 8
tabla.intervalos <- transform(table(cut(bioquimica, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (77.5,79.7] 5
## 2 (79.7,81.9] 7
## 3 (81.9,84.1] 12
## 4 (84.1,86.3] 10
## 5 (86.3,88.5] 13
## 6 (88.5,90.8] 8
## 7 (90.8,93] 4
## 8 (93,95.2] 6
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (77.5,79.7] 5 0.07692308 7.692308
## 2 (79.7,81.9] 7 0.10769231 10.769231
## 3 (81.9,84.1] 12 0.18461538 18.461538
## 4 (84.1,86.3] 10 0.15384615 15.384615
## 5 (86.3,88.5] 13 0.20000000 20.000000
## 6 (88.5,90.8] 8 0.12307692 12.307692
## 7 (90.8,93] 4 0.06153846 6.153846
## 8 (93,95.2] 6 0.09230769 9.230769
# *********************************************************************************
# VAMOS A ACUMULAR TODAS LAS CLASES EN UN NUEVO data.frame
# Luego determinar LAS FRECUENCIAS maximas de de cada carrera de un mismo data.frame
# solo usar la regla Struges para cuestiones pr?cticas
carreras.clases <- rbind(carreras.clases, cbind(tabla.intervalos, "CARRERA" = "BIOQUIMICA"))
Gr?ficas de pastel. BIOQUIMICA Sturges
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de BIOQUIMICA Scott
clases <- nclass.scott(bioquimica)
clases
## [1] 5
tabla.intervalos <- transform(table(cut(bioquimica, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (77.5,81] 7
## 2 (81,84.6] 19
## 3 (84.6,88.1] 15
## 4 (88.1,91.6] 16
## 5 (91.6,95.2] 8
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (77.5,81] 7 0.1076923 10.76923
## 2 (81,84.6] 19 0.2923077 29.23077
## 3 (84.6,88.1] 15 0.2307692 23.07692
## 4 (88.1,91.6] 16 0.2461538 24.61538
## 5 (91.6,95.2] 8 0.1230769 12.30769
Gr?ficas de pastel. BIOQUIMICA Scott
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de BIOQUIMICA FD
clases <- nclass.FD(bioquimica)
clases
## [1] 7
tabla.intervalos <- transform(table(cut(arquitectura, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (77.3,79.9] 7
## 2 (79.9,82.4] 7
## 3 (82.4,84.9] 20
## 4 (84.9,87.4] 16
## 5 (87.4,90] 13
## 6 (90,92.5] 7
## 7 (92.5,95] 2
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (77.3,79.9] 7 0.10769231 10.769231
## 2 (79.9,82.4] 7 0.10769231 10.769231
## 3 (82.4,84.9] 20 0.30769231 30.769231
## 4 (84.9,87.4] 16 0.24615385 24.615385
## 5 (87.4,90] 13 0.20000000 20.000000
## 6 (90,92.5] 7 0.10769231 10.769231
## 7 (92.5,95] 2 0.03076923 3.076923
Gr?ficas de pastel. BIOQUIMICA FD
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

CIVIL
Histogramas de CIVIL Sturges, Scott y FD
civil <- datos$promedio[which(datos$promedio > 0 & datos$semetre == 2 & datos$carrera == 'CIVIL')]
civil
## [1] 90.00 88.33 83.67 85.00 92.50 86.50 87.00 90.00 82.00 81.00 86.20
## [12] 88.60 81.67 86.67 88.00 79.00 85.33 91.50 94.67 85.00 81.60 83.00
## [23] 88.20 87.25 85.67 81.50 79.00 85.60 84.83 89.17 90.25 93.00 82.20
## [34] 88.33 89.17 84.83 89.83 87.17 82.50 85.17 82.75 90.50 78.20 86.33
## [45] 86.00 91.33 85.33 86.33 87.67 92.83 86.40 87.67 77.33 91.17 85.80
## [56] 87.67 87.83 89.83 87.00 82.00 87.40 85.20 89.20 81.50 81.50 81.00
## [67] 88.50
n <- length(civil)
n
## [1] 67
hist(civil, breaks = "Sturges", freq = TRUE, main = "Promedios de los alumnos CIVIL del ITD. Sturges", xlab = "Promedios", ylab = "Frecuencia")

hist(civil, breaks = "Scott", freq = TRUE, main = "Promedios de los alumnos CIVIL del ITD. Scott", xlab = "Promedios", ylab = "Frecuencia")

hist(civil, breaks = "FD", freq = TRUE, main = "Promedios de los alumnos CIVIL del ITD. FD", xlab = "Promedios", ylab = "Frecuencia")

Tablas de Frecuencias de CIVIL Sturges
clases <- nclass.Sturges(civil)
clases
## [1] 8
tabla.intervalos <- transform(table(cut(civil, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (77.3,79.5] 4
## 2 (79.5,81.7] 6
## 3 (81.7,83.8] 8
## 4 (83.8,86] 12
## 5 (86,88.2] 16
## 6 (88.2,90.3] 13
## 7 (90.3,92.5] 5
## 8 (92.5,94.7] 3
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (77.3,79.5] 4 0.05970149 5.970149
## 2 (79.5,81.7] 6 0.08955224 8.955224
## 3 (81.7,83.8] 8 0.11940299 11.940299
## 4 (83.8,86] 12 0.17910448 17.910448
## 5 (86,88.2] 16 0.23880597 23.880597
## 6 (88.2,90.3] 13 0.19402985 19.402985
## 7 (90.3,92.5] 5 0.07462687 7.462687
## 8 (92.5,94.7] 3 0.04477612 4.477612
# *********************************************************************************
# VAMOS A ACUMULAR TODAS LAS CLASES EN UN NUEVO data.frame
# Luego determinar LAS FRECUENCIAS maximas de de cada carrera de un mismo data.frame
# solo usar la regla Struges para cuestiones pr?cticas
carreras.clases <- rbind(carreras.clases, cbind(tabla.intervalos, "CARRERA" = "CIVIL"))
Gr?ficas de pastel. CIVIL Sturges
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de CIVIL Scott
clases <- nclass.scott(civil)
clases
## [1] 6
tabla.intervalos <- transform(table(cut(civil, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (77.3,80.2] 4
## 2 (80.2,83.1] 13
## 3 (83.1,86] 13
## 4 (86,88.9] 21
## 5 (88.9,91.8] 12
## 6 (91.8,94.7] 4
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (77.3,80.2] 4 0.05970149 5.970149
## 2 (80.2,83.1] 13 0.19402985 19.402985
## 3 (83.1,86] 13 0.19402985 19.402985
## 4 (86,88.9] 21 0.31343284 31.343284
## 5 (88.9,91.8] 12 0.17910448 17.910448
## 6 (91.8,94.7] 4 0.05970149 5.970149
Gr?ficas de pastel. CIVIL Scott
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de CIVIL FD
clases <- nclass.FD(civil)
clases
## [1] 7
tabla.intervalos <- transform(table(cut(civil, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (77.3,79.8] 4
## 2 (79.8,82.3] 10
## 3 (82.3,84.8] 4
## 4 (84.8,87.2] 21
## 5 (87.2,89.7] 15
## 6 (89.7,92.2] 9
## 7 (92.2,94.7] 4
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (77.3,79.8] 4 0.05970149 5.970149
## 2 (79.8,82.3] 10 0.14925373 14.925373
## 3 (82.3,84.8] 4 0.05970149 5.970149
## 4 (84.8,87.2] 21 0.31343284 31.343284
## 5 (87.2,89.7] 15 0.22388060 22.388060
## 6 (89.7,92.2] 9 0.13432836 13.432836
## 7 (92.2,94.7] 4 0.05970149 5.970149
Gr?ficas de pastel. CIVIL FD
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

ELECTRICA
Histogramas de ELECTRICA Sturges, Scott y FD
electrica <- datos$promedio[which(datos$promedio > 0 & datos$semetre == 2 & datos$carrera == 'ELECTRICA')]
electrica
## [1] 86.50 91.00 88.75 88.33 90.83 88.83 87.00 83.50 89.00 86.00 85.67
## [12] 83.17 87.25 89.75 83.00 85.60 88.00 84.67 87.25 92.83 87.50 84.67
## [23] 88.33 86.67 87.80 82.33 89.00 94.17 87.00 85.83 83.00 86.67 78.67
## [34] 85.83 90.17 87.50 85.50
n <- length(electrica)
n
## [1] 37
hist(electrica, breaks = "Sturges", freq = TRUE, main = "Promedios de los alumnos ELECTRICA del ITD. Sturges", xlab = "Promedios", ylab = "Frecuencia")

hist(electrica, breaks = "Scott", freq = TRUE, main = "Promedios de los alumnos ELECTRICA del ITD. Scott", xlab = "Promedios", ylab = "Frecuencia")

hist(electrica, breaks = "FD", freq = TRUE, main = "Promedios de los alumnos ELECTRICA del ITD. FD", xlab = "Promedios", ylab = "Frecuencia")

Tablas de Frecuencias de ELECTRICA Sturges
clases <- nclass.Sturges(electrica)
clases
## [1] 7
tabla.intervalos <- transform(table(cut(electrica, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (78.7,80.9] 1
## 2 (80.9,83.1] 3
## 3 (83.1,85.3] 4
## 4 (85.3,87.5] 15
## 5 (87.5,89.7] 8
## 6 (89.7,92] 4
## 7 (92,94.2] 2
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (78.7,80.9] 1 0.02702703 2.702703
## 2 (80.9,83.1] 3 0.08108108 8.108108
## 3 (83.1,85.3] 4 0.10810811 10.810811
## 4 (85.3,87.5] 15 0.40540541 40.540541
## 5 (87.5,89.7] 8 0.21621622 21.621622
## 6 (89.7,92] 4 0.10810811 10.810811
## 7 (92,94.2] 2 0.05405405 5.405405
# *********************************************************************************
# VAMOS A ACUMULAR TODAS LAS CLASES EN UN NUEVO data.frame
# Luego determinar LAS FRECUENCIAS maximas de de cada carrera de un mismo data.frame
# solo usar la regla Struges para cuestiones pr?cticas
carreras.clases <- rbind(carreras.clases, cbind(tabla.intervalos, "CARRERA" = "ELECTRICA"))
Gr?ficas de pastel. ELECTRICA Sturges
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de ELECTRICA Scott
clases <- nclass.scott(electrica)
clases
## [1] 5
tabla.intervalos <- transform(table(cut(electrica, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (78.7,81.8] 1
## 2 (81.8,84.9] 7
## 3 (84.9,88] 16
## 4 (88,91.1] 11
## 5 (91.1,94.2] 2
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (78.7,81.8] 1 0.02702703 2.702703
## 2 (81.8,84.9] 7 0.18918919 18.918919
## 3 (84.9,88] 16 0.43243243 43.243243
## 4 (88,91.1] 11 0.29729730 29.729730
## 5 (91.1,94.2] 2 0.05405405 5.405405
Gr?ficas de pastel. ELECTRICA Scott
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de ELECTRICA FD
clases <- nclass.FD(electrica)
clases
## [1] 9
tabla.intervalos <- transform(table(cut(electrica, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (78.7,80.4] 1
## 2 (80.4,82.1] 0
## 3 (82.1,83.8] 5
## 4 (83.8,85.6] 3
## 5 (85.6,87.3] 12
## 6 (87.3,89] 10
## 7 (89,90.7] 2
## 8 (90.7,92.4] 2
## 9 (92.4,94.2] 2
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (78.7,80.4] 1 0.02702703 2.702703
## 2 (80.4,82.1] 0 0.00000000 0.000000
## 3 (82.1,83.8] 5 0.13513514 13.513514
## 4 (83.8,85.6] 3 0.08108108 8.108108
## 5 (85.6,87.3] 12 0.32432432 32.432432
## 6 (87.3,89] 10 0.27027027 27.027027
## 7 (89,90.7] 2 0.05405405 5.405405
## 8 (90.7,92.4] 2 0.05405405 5.405405
## 9 (92.4,94.2] 2 0.05405405 5.405405
Gr?ficas de pastel. ELECTRICA FD
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
etiquetas
## [1] "2.7 % de (78.7,80.4]" "0 % de (80.4,82.1]"
## [3] "13.51 % de (82.1,83.8]" "8.11 % de (83.8,85.6]"
## [5] "32.43 % de (85.6,87.3]" "27.03 % de (87.3,89]"
## [7] "5.41 % de (89,90.7]" "5.41 % de (90.7,92.4]"
## [9] "5.41 % de (92.4,94.2]"
#pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5) # No puede hacer pastel porque trae 0 la frecuencia. Pendiente
ELECTRONICA
Histogramas de ELECTRONICA Sturges, Scott y FD
electronica <- datos$promedio[which(datos$promedio > 0 & datos$semetre == 2 & datos$carrera == 'ELECTRONICA')]
electronica
## [1] 90.17 95.33 94.25 92.67 93.00 92.50 92.00 93.67 95.33 88.33 96.00
## [12] 97.50 95.00 97.00 99.17 96.50 97.50 91.00 97.17 90.60 98.50 93.80
## [23] 91.80 90.50 94.75 91.67 92.00 93.00 96.33 96.17 92.17 92.60 93.40
## [34] 93.33 70.00
n <- length(electronica)
n
## [1] 35
hist(electronica, breaks = "Sturges", freq = TRUE, main = "Promedios de los alumnos ELECTRONICA del ITD. Sturges", xlab = "Promedios", ylab = "Frecuencia")

hist(electronica, breaks = "Scott", freq = TRUE, main = "Promedios de los alumnos ELECTRONICA del ITD. Scott", xlab = "Promedios", ylab = "Frecuencia")

hist(electronica, breaks = "FD", freq = TRUE, main = "Promedios de los alumnos ELECTRONICA del ITD. FD", xlab = "Promedios", ylab = "Frecuencia")

Tablas de Frecuencias de ELECTRONICA Sturges
clases <- nclass.Sturges(electronica)
clases
## [1] 7
tabla.intervalos <- transform(table(cut(electronica, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (70,74.2] 1
## 2 (74.2,78.3] 0
## 3 (78.3,82.5] 0
## 4 (82.5,86.7] 0
## 5 (86.7,90.8] 4
## 6 (90.8,95] 18
## 7 (95,99.2] 12
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (70,74.2] 1 0.02857143 2.857143
## 2 (74.2,78.3] 0 0.00000000 0.000000
## 3 (78.3,82.5] 0 0.00000000 0.000000
## 4 (82.5,86.7] 0 0.00000000 0.000000
## 5 (86.7,90.8] 4 0.11428571 11.428571
## 6 (90.8,95] 18 0.51428571 51.428571
## 7 (95,99.2] 12 0.34285714 34.285714
# *********************************************************************************
# VAMOS A ACUMULAR TODAS LAS CLASES EN UN NUEVO data.frame
# Luego determinar LAS FRECUENCIAS maximas de de cada carrera de un mismo data.frame
# solo usar la regla Struges para cuestiones pr?cticas
carreras.clases <- rbind(carreras.clases, cbind(tabla.intervalos, "CARRERA" = "ELECTRONICA"))
Gr?ficas de pastel. ELECTRONICA Sturges
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
etiquetas
## [1] "2.86 % de (70,74.2]" "0 % de (74.2,78.3]"
## [3] "0 % de (78.3,82.5]" "0 % de (82.5,86.7]"
## [5] "11.43 % de (86.7,90.8]" "51.43 % de (90.8,95]"
## [7] "34.29 % de (95,99.2]"
#pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5) # No puede hacer pastel porque trae 0 la frecuencia. Pendiente
Tablas de Frecuencias de ELECTRONICA Scott
clases <- nclass.scott(electronica)
clases
## [1] 6
tabla.intervalos <- transform(table(cut(electronica, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (70,74.9] 1
## 2 (74.9,79.7] 0
## 3 (79.7,84.6] 0
## 4 (84.6,89.4] 1
## 5 (89.4,94.3] 19
## 6 (94.3,99.2] 14
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (70,74.9] 1 0.02857143 2.857143
## 2 (74.9,79.7] 0 0.00000000 0.000000
## 3 (79.7,84.6] 0 0.00000000 0.000000
## 4 (84.6,89.4] 1 0.02857143 2.857143
## 5 (89.4,94.3] 19 0.54285714 54.285714
## 6 (94.3,99.2] 14 0.40000000 40.000000
Gr?ficas de pastel. ELECTRONICA Scott
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
etiquetas
## [1] "2.86 % de (70,74.9]" "0 % de (74.9,79.7]"
## [3] "0 % de (79.7,84.6]" "2.86 % de (84.6,89.4]"
## [5] "54.29 % de (89.4,94.3]" "40 % de (94.3,99.2]"
# pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5) # No puede hacer pastel porque trae 0 la frecuencia. Pendiente
Tablas de Frecuencias de ELECTRONICA FD
clases <- nclass.FD(electronica)
clases
## [1] 12
tabla.intervalos <- transform(table(cut(electronica, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (70,72.4] 1
## 2 (72.4,74.9] 0
## 3 (74.9,77.3] 0
## 4 (77.3,79.7] 0
## 5 (79.7,82.2] 0
## 6 (82.2,84.6] 0
## 7 (84.6,87] 0
## 8 (87,89.4] 1
## 9 (89.4,91.9] 6
## 10 (91.9,94.3] 13
## 11 (94.3,96.7] 8
## 12 (96.7,99.2] 6
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (70,72.4] 1 0.02857143 2.857143
## 2 (72.4,74.9] 0 0.00000000 0.000000
## 3 (74.9,77.3] 0 0.00000000 0.000000
## 4 (77.3,79.7] 0 0.00000000 0.000000
## 5 (79.7,82.2] 0 0.00000000 0.000000
## 6 (82.2,84.6] 0 0.00000000 0.000000
## 7 (84.6,87] 0 0.00000000 0.000000
## 8 (87,89.4] 1 0.02857143 2.857143
## 9 (89.4,91.9] 6 0.17142857 17.142857
## 10 (91.9,94.3] 13 0.37142857 37.142857
## 11 (94.3,96.7] 8 0.22857143 22.857143
## 12 (96.7,99.2] 6 0.17142857 17.142857
Gr?ficas de pastel. ELECTRONICA FD
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
etiquetas
## [1] "2.86 % de (70,72.4]" "0 % de (72.4,74.9]"
## [3] "0 % de (74.9,77.3]" "0 % de (77.3,79.7]"
## [5] "0 % de (79.7,82.2]" "0 % de (82.2,84.6]"
## [7] "0 % de (84.6,87]" "2.86 % de (87,89.4]"
## [9] "17.14 % de (89.4,91.9]" "37.14 % de (91.9,94.3]"
## [11] "22.86 % de (94.3,96.7]" "17.14 % de (96.7,99.2]"
# pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5) # No puede hacer pastel porque trae 0 la frecuencia. Pendiente
INDUSTRIAL
Histogramas de INDUSTRIAL Sturges, Scott y FD
industrial <- datos$promedio[which(datos$promedio > 0 & datos$semetre == 2 & datos$carrera == 'INDUSTRIAL')]
electronica
## [1] 90.17 95.33 94.25 92.67 93.00 92.50 92.00 93.67 95.33 88.33 96.00
## [12] 97.50 95.00 97.00 99.17 96.50 97.50 91.00 97.17 90.60 98.50 93.80
## [23] 91.80 90.50 94.75 91.67 92.00 93.00 96.33 96.17 92.17 92.60 93.40
## [34] 93.33 70.00
n <- length(industrial)
n
## [1] 76
hist(industrial, breaks = "Sturges", freq = TRUE, main = "Promedios de los alumnos INDUSTRIAL del ITD. Sturges", xlab = "Promedios", ylab = "Frecuencia")

hist(industrial, breaks = "Scott", freq = TRUE, main = "Promedios de los alumnos INDUSTRIAL del ITD. Scott", xlab = "Promedios", ylab = "Frecuencia")

hist(industrial, breaks = "FD", freq = TRUE, main = "Promedios de los alumnos INDUSTRIAL del ITD. FD", xlab = "Promedios", ylab = "Frecuencia")

Tablas de Frecuencias de INDUSTRIAL Sturges
clases <- nclass.Sturges(industrial)
clases
## [1] 8
tabla.intervalos <- transform(table(cut(industrial, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (82.5,84.2] 2
## 2 (84.2,85.8] 3
## 3 (85.8,87.5] 4
## 4 (87.5,89.2] 14
## 5 (89.2,90.8] 18
## 6 (90.8,92.5] 18
## 7 (92.5,94.2] 8
## 8 (94.2,95.8] 9
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (82.5,84.2] 2 0.02631579 2.631579
## 2 (84.2,85.8] 3 0.03947368 3.947368
## 3 (85.8,87.5] 4 0.05263158 5.263158
## 4 (87.5,89.2] 14 0.18421053 18.421053
## 5 (89.2,90.8] 18 0.23684211 23.684211
## 6 (90.8,92.5] 18 0.23684211 23.684211
## 7 (92.5,94.2] 8 0.10526316 10.526316
## 8 (94.2,95.8] 9 0.11842105 11.842105
# *********************************************************************************
# VAMOS A ACUMULAR TODAS LAS CLASES EN UN NUEVO data.frame
# Luego determinar LAS FRECUENCIAS maximas de de cada carrera de un mismo data.frame
# solo usar la regla Struges para cuestiones pr?cticas
carreras.clases <- rbind(carreras.clases, cbind(tabla.intervalos, "CARRERA" = "INDUSTRIAL"))
Gr?ficas de pastel. INDUSTRIAL Sturges
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de INDUSTRIAL Scott
clases <- nclass.scott(industrial)
clases
## [1] 6
tabla.intervalos <- transform(table(cut(industrial, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (82.5,84.7] 3
## 2 (84.7,86.9] 5
## 3 (86.9,89.2] 15
## 4 (89.2,91.4] 22
## 5 (91.4,93.6] 17
## 6 (93.6,95.8] 14
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (82.5,84.7] 3 0.03947368 3.947368
## 2 (84.7,86.9] 5 0.06578947 6.578947
## 3 (86.9,89.2] 15 0.19736842 19.736842
## 4 (89.2,91.4] 22 0.28947368 28.947368
## 5 (91.4,93.6] 17 0.22368421 22.368421
## 6 (93.6,95.8] 14 0.18421053 18.421053
Gr?ficas de pastel. INDUSTRIAL Scott
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de INDUSTRIAL FD
clases <- nclass.FD(industrial)
clases
## [1] 9
tabla.intervalos <- transform(table(cut(industrial, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (82.5,84] 2
## 2 (84,85.5] 3
## 3 (85.5,86.9] 3
## 4 (86.9,88.4] 10
## 5 (88.4,89.9] 14
## 6 (89.9,91.4] 13
## 7 (91.4,92.9] 16
## 8 (92.9,94.3] 9
## 9 (94.3,95.8] 6
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (82.5,84] 2 0.02631579 2.631579
## 2 (84,85.5] 3 0.03947368 3.947368
## 3 (85.5,86.9] 3 0.03947368 3.947368
## 4 (86.9,88.4] 10 0.13157895 13.157895
## 5 (88.4,89.9] 14 0.18421053 18.421053
## 6 (89.9,91.4] 13 0.17105263 17.105263
## 7 (91.4,92.9] 16 0.21052632 21.052632
## 8 (92.9,94.3] 9 0.11842105 11.842105
## 9 (94.3,95.8] 6 0.07894737 7.894737
Gr?ficas de pastel. INDUSTRIAL FD
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

MECANICA
Histogramas de MECANICA Sturges, Scott y FD
mecanica <- datos$promedio[which(datos$promedio > 0 & datos$semetre == 2 & datos$carrera == 'MECANICA')]
mecanica
## [1] 87.67 86.83 84.83 81.67 94.17 93.17 78.00 94.00 88.67 81.40 81.00
## [12] 84.17 86.67 85.67 82.20 81.67 95.50 81.33 80.60 81.67 78.33 79.25
## [23] 91.50 83.80 85.17 84.75 84.00 90.50 91.33 79.33 85.00 82.50 86.50
## [34] 78.67 93.00 81.00 89.17 81.00 89.83 92.83 87.00 85.75 88.00 86.67
## [45] 87.83 86.33 73.25 88.83 82.67 81.38 78.00 74.20 80.25 92.33 89.50
## [56] 88.67 83.40 86.50 82.00 89.50 83.83 84.67 85.80
n <- length(mecanica)
n
## [1] 63
hist(mecanica, breaks = "Sturges", freq = TRUE, main = "Promedios de los alumnos MECANICA del ITD. Sturges", xlab = "Promedios", ylab = "Frecuencia")

hist(mecanica, breaks = "Scott", freq = TRUE, main = "Promedios de los alumnos MECANICA del ITD. Scott", xlab = "Promedios", ylab = "Frecuencia")

hist(mecanica, breaks = "FD", freq = TRUE, main = "Promedios de los alumnos MECANICA del ITD. FD", xlab = "Promedios", ylab = "Frecuencia")

Tablas de Frecuencias de MECANICA Sturges
clases <- nclass.Sturges(mecanica)
clases
## [1] 7
tabla.intervalos <- transform(table(cut(mecanica, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (73.2,76.4] 2
## 2 (76.4,79.6] 6
## 3 (79.6,82.8] 15
## 4 (82.8,86] 13
## 5 (86,89.1] 13
## 6 (89.1,92.3] 7
## 7 (92.3,95.5] 7
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (73.2,76.4] 2 0.03174603 3.174603
## 2 (76.4,79.6] 6 0.09523810 9.523810
## 3 (79.6,82.8] 15 0.23809524 23.809524
## 4 (82.8,86] 13 0.20634921 20.634921
## 5 (86,89.1] 13 0.20634921 20.634921
## 6 (89.1,92.3] 7 0.11111111 11.111111
## 7 (92.3,95.5] 7 0.11111111 11.111111
# *********************************************************************************
# VAMOS A ACUMULAR TODAS LAS CLASES EN UN NUEVO data.frame
# Luego determinar LAS FRECUENCIAS maximas de de cada carrera de un mismo data.frame
# solo usar la regla Struges para cuestiones pr?cticas
carreras.clases <- rbind(carreras.clases, cbind(tabla.intervalos, "CARRERA" = "MECANICA"))
Gr?ficas de pastel. MECANICA Sturges
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de MECANICA Scott
clases <- nclass.scott(mecanica)
clases
## [1] 6
tabla.intervalos <- transform(table(cut(mecanica, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (73.2,77] 2
## 2 (77,80.7] 8
## 3 (80.7,84.4] 18
## 4 (84.4,88.1] 18
## 5 (88.1,91.8] 10
## 6 (91.8,95.5] 7
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (73.2,77] 2 0.03174603 3.174603
## 2 (77,80.7] 8 0.12698413 12.698413
## 3 (80.7,84.4] 18 0.28571429 28.571429
## 4 (84.4,88.1] 18 0.28571429 28.571429
## 5 (88.1,91.8] 10 0.15873016 15.873016
## 6 (91.8,95.5] 7 0.11111111 11.111111
Gr?ficas de pastel. MECANICA Scott
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de MECANICA FD
clases <- nclass.FD(mecanica)
clases
## [1] 7
tabla.intervalos <- transform(table(cut(mecanica, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (73.2,76.4] 2
## 2 (76.4,79.6] 6
## 3 (79.6,82.8] 15
## 4 (82.8,86] 13
## 5 (86,89.1] 13
## 6 (89.1,92.3] 7
## 7 (92.3,95.5] 7
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (73.2,76.4] 2 0.03174603 3.174603
## 2 (76.4,79.6] 6 0.09523810 9.523810
## 3 (79.6,82.8] 15 0.23809524 23.809524
## 4 (82.8,86] 13 0.20634921 20.634921
## 5 (86,89.1] 13 0.20634921 20.634921
## 6 (89.1,92.3] 7 0.11111111 11.111111
## 7 (92.3,95.5] 7 0.11111111 11.111111
Gr?ficas de pastel. MECANICA FD
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

MECATRONICA
Histogramas de MECATRONICA Sturges, Scott y FD
mecatronica <- datos$promedio[which(datos$promedio > 0 & datos$semetre == 2 & datos$carrera == 'MECATRONICA')]
mecatronica
## [1] 88.83 85.67 84.67 85.83 81.60 82.20 83.60 90.00 85.00 88.00 87.33
## [12] 93.17 90.67 81.50 88.00 84.00 86.67 81.00 84.17 88.17 87.33 84.83
## [23] 86.17 85.80 82.17 84.00 84.67 88.00 89.67 89.50 86.00 84.80 89.67
## [34] 83.50 80.25 94.67 89.50 83.40 91.17 86.00 85.00 97.33 84.83 81.60
## [45] 89.33 81.00 83.50 88.17 86.50 86.75 88.33 92.00 81.50 89.33 84.17
## [56] 84.83 80.00 87.33 86.00 87.17 84.33 92.17 83.67 84.33 86.33 92.83
## [67] 94.60 87.00 90.50 82.80
n <- length(mecatronica)
n
## [1] 70
hist(mecatronica, breaks = "Sturges", freq = TRUE, main = "Promedios de los alumnos MECATRONICA del ITD. Sturges", xlab = "Promedios", ylab = "Frecuencia")

hist(mecatronica, breaks = "Scott", freq = TRUE, main = "Promedios de los alumnos MECATRONICA del ITD. Scott", xlab = "Promedios", ylab = "Frecuencia")

hist(mecatronica, breaks = "FD", freq = TRUE, main = "Promedios de los alumnos MECATRONICA del ITD. FD", xlab = "Promedios", ylab = "Frecuencia")

Tablas de Frecuencias de MECATRONICA Sturges
clases <- nclass.Sturges(mecatronica)
clases
## [1] 8
tabla.intervalos <- transform(table(cut(mecatronica, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (80,82.2] 8
## 2 (82.2,84.3] 14
## 3 (84.3,86.5] 16
## 4 (86.5,88.7] 14
## 5 (88.7,90.8] 10
## 6 (90.8,93] 4
## 7 (93,95.2] 3
## 8 (95.2,97.3] 1
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (80,82.2] 8 0.11428571 11.428571
## 2 (82.2,84.3] 14 0.20000000 20.000000
## 3 (84.3,86.5] 16 0.22857143 22.857143
## 4 (86.5,88.7] 14 0.20000000 20.000000
## 5 (88.7,90.8] 10 0.14285714 14.285714
## 6 (90.8,93] 4 0.05714286 5.714286
## 7 (93,95.2] 3 0.04285714 4.285714
## 8 (95.2,97.3] 1 0.01428571 1.428571
# *********************************************************************************
# VAMOS A ACUMULAR TODAS LAS CLASES EN UN NUEVO data.frame
# Luego determinar LAS FRECUENCIAS maximas de de cada carrera de un mismo data.frame
# solo usar la regla Struges para cuestiones pr?cticas
carreras.clases <- rbind(carreras.clases, cbind(tabla.intervalos, "CARRERA" = "MECATRONICA"))
Gr?ficas de pastel. MECATRONICA Sturges
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de MECATRONICA Scott
clases <- nclass.scott(mecatronica)
clases
## [1] 6
tabla.intervalos <- transform(table(cut(mecatronica, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (80,82.9] 11
## 2 (82.9,85.8] 20
## 3 (85.8,88.7] 21
## 4 (88.7,91.6] 11
## 5 (91.6,94.4] 4
## 6 (94.4,97.3] 3
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (80,82.9] 11 0.15714286 15.714286
## 2 (82.9,85.8] 20 0.28571429 28.571429
## 3 (85.8,88.7] 21 0.30000000 30.000000
## 4 (88.7,91.6] 11 0.15714286 15.714286
## 5 (91.6,94.4] 4 0.05714286 5.714286
## 6 (94.4,97.3] 3 0.04285714 4.285714
Gr?ficas de pastel. MECATRONICA Scott
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de MECATRONICA FD
clases <- nclass.FD(mecatronica)
clases
## [1] 8
tabla.intervalos <- transform(table(cut(mecatronica, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (80,82.2] 8
## 2 (82.2,84.3] 14
## 3 (84.3,86.5] 16
## 4 (86.5,88.7] 14
## 5 (88.7,90.8] 10
## 6 (90.8,93] 4
## 7 (93,95.2] 3
## 8 (95.2,97.3] 1
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (80,82.2] 8 0.11428571 11.428571
## 2 (82.2,84.3] 14 0.20000000 20.000000
## 3 (84.3,86.5] 16 0.22857143 22.857143
## 4 (86.5,88.7] 14 0.20000000 20.000000
## 5 (88.7,90.8] 10 0.14285714 14.285714
## 6 (90.8,93] 4 0.05714286 5.714286
## 7 (93,95.2] 3 0.04285714 4.285714
## 8 (95.2,97.3] 1 0.01428571 1.428571
Gr?ficas de pastel. MECATRONICA FD
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

QUIMICA
Histogramas de QUIMICA Sturges, Scott y FD
quimica <- datos$promedio[which(datos$promedio > 0 & datos$semetre == 2 & datos$carrera == 'QUIMICA')]
quimica
## [1] 89.83 92.00 82.40 85.17 83.00 87.50 86.20 89.67 86.50 82.50 95.17
## [12] 90.67 85.67 91.80 98.17 90.33 79.83 89.00 98.33 90.67 86.83 91.25
## [23] 91.83 83.33 81.17 81.33 82.33 95.50 87.17 91.33 95.50 88.33 88.67
## [34] 97.17 90.17 78.00 86.67 90.60 88.00 85.60 87.83 85.17 87.20 86.33
## [45] 93.33 86.00 81.50 93.00 86.20 84.83 85.17 85.80 80.00 83.60 93.00
## [56] 89.50 88.33 90.83 94.00 93.17 89.00 78.67 83.80 88.00 91.17 91.00
## [67] 95.33 89.83
n <- length(quimica)
n
## [1] 68
hist(quimica, breaks = "Sturges", freq = TRUE, main = "Promedios de los alumnos QUIMICA del ITD. Sturges", xlab = "Promedios", ylab = "Frecuencia")

hist(quimica, breaks = "Scott", freq = TRUE, main = "Promedios de los alumnos QUIMICA del ITD. Scott", xlab = "Promedios", ylab = "Frecuencia")

hist(quimica, breaks = "FD", freq = TRUE, main = "Promedios de los alumnos QUIMICA del ITD. FD", xlab = "Promedios", ylab = "Frecuencia")

Tablas de Frecuencias de QUIMICA Sturges
clases <- nclass.Sturges(quimica)
clases
## [1] 8
tabla.intervalos <- transform(table(cut(quimica, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (78,80.5] 4
## 2 (80.5,83.1] 7
## 3 (83.1,85.6] 8
## 4 (85.6,88.2] 15
## 5 (88.2,90.7] 14
## 6 (90.7,93.2] 11
## 7 (93.2,95.8] 6
## 8 (95.8,98.4] 3
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (78,80.5] 4 0.05882353 5.882353
## 2 (80.5,83.1] 7 0.10294118 10.294118
## 3 (83.1,85.6] 8 0.11764706 11.764706
## 4 (85.6,88.2] 15 0.22058824 22.058824
## 5 (88.2,90.7] 14 0.20588235 20.588235
## 6 (90.7,93.2] 11 0.16176471 16.176471
## 7 (93.2,95.8] 6 0.08823529 8.823529
## 8 (95.8,98.4] 3 0.04411765 4.411765
# *********************************************************************************
# VAMOS A ACUMULAR TODAS LAS CLASES EN UN NUEVO data.frame
# Luego determinar LAS FRECUENCIAS maximas de de cada carrera de un mismo data.frame
# solo usar la regla Struges para cuestiones pr?cticas
carreras.clases <- rbind(carreras.clases, cbind(tabla.intervalos, "CARRERA" = "QUIMICA"))
Gr?ficas de pastel. QUIMICA Sturges
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de QUIMICA Scott
clases <- nclass.scott(quimica)
clases
## [1] 6
tabla.intervalos <- transform(table(cut(quimica, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (78,81.4] 6
## 2 (81.4,84.8] 8
## 3 (84.8,88.2] 20
## 4 (88.2,91.6] 19
## 5 (91.6,94.9] 8
## 6 (94.9,98.4] 7
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (78,81.4] 6 0.08823529 8.823529
## 2 (81.4,84.8] 8 0.11764706 11.764706
## 3 (84.8,88.2] 20 0.29411765 29.411765
## 4 (88.2,91.6] 19 0.27941176 27.941176
## 5 (91.6,94.9] 8 0.11764706 11.764706
## 6 (94.9,98.4] 7 0.10294118 10.294118
Gr?ficas de pastel. QUIMICA Scott
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de QUIMICA FD
clases <- nclass.FD(quimica)
clases
## [1] 7
tabla.intervalos <- transform(table(cut(quimica, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (78,80.9] 4
## 2 (80.9,83.8] 10
## 3 (83.8,86.7] 13
## 4 (86.7,89.6] 13
## 5 (89.6,92.5] 16
## 6 (92.5,95.4] 7
## 7 (95.4,98.4] 5
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (78,80.9] 4 0.05882353 5.882353
## 2 (80.9,83.8] 10 0.14705882 14.705882
## 3 (83.8,86.7] 13 0.19117647 19.117647
## 4 (86.7,89.6] 13 0.19117647 19.117647
## 5 (89.6,92.5] 16 0.23529412 23.529412
## 6 (92.5,95.4] 7 0.10294118 10.294118
## 7 (95.4,98.4] 5 0.07352941 7.352941
Gr?ficas de pastel. QUIMICA FD
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

SISTEMAS
Histogramas de SISTEMAS Sturges, Scott y FD
sistemas <- datos$promedio[which(datos$promedio > 0 & datos$semetre == 2 & datos$carrera == 'SISTEMAS')]
quimica
## [1] 89.83 92.00 82.40 85.17 83.00 87.50 86.20 89.67 86.50 82.50 95.17
## [12] 90.67 85.67 91.80 98.17 90.33 79.83 89.00 98.33 90.67 86.83 91.25
## [23] 91.83 83.33 81.17 81.33 82.33 95.50 87.17 91.33 95.50 88.33 88.67
## [34] 97.17 90.17 78.00 86.67 90.60 88.00 85.60 87.83 85.17 87.20 86.33
## [45] 93.33 86.00 81.50 93.00 86.20 84.83 85.17 85.80 80.00 83.60 93.00
## [56] 89.50 88.33 90.83 94.00 93.17 89.00 78.67 83.80 88.00 91.17 91.00
## [67] 95.33 89.83
n <- length(sistemas)
n
## [1] 67
hist(sistemas, breaks = "Sturges", freq = TRUE, main = "Promedios de los alumnos SISTEMAS del ITD. Sturges", xlab = "Promedios", ylab = "Frecuencia")

hist(sistemas, breaks = "Scott", freq = TRUE, main = "Promedios de los alumnos SISTEMAS del ITD. Scott", xlab = "Promedios", ylab = "Frecuencia")

hist(sistemas, breaks = "FD", freq = TRUE, main = "Promedios de los alumnos SISTEMAS del ITD. FD", xlab = "Promedios", ylab = "Frecuencia")

Tablas de Frecuencias de SISTEMAS Sturges
clases <- nclass.Sturges(sistemas)
clases
## [1] 8
tabla.intervalos <- transform(table(cut(sistemas, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (76.7,78.9] 3
## 2 (78.9,81.2] 8
## 3 (81.2,83.5] 14
## 4 (83.5,85.8] 11
## 5 (85.8,88] 10
## 6 (88,90.3] 11
## 7 (90.3,92.6] 7
## 8 (92.6,94.8] 3
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (76.7,78.9] 3 0.04477612 4.477612
## 2 (78.9,81.2] 8 0.11940299 11.940299
## 3 (81.2,83.5] 14 0.20895522 20.895522
## 4 (83.5,85.8] 11 0.16417910 16.417910
## 5 (85.8,88] 10 0.14925373 14.925373
## 6 (88,90.3] 11 0.16417910 16.417910
## 7 (90.3,92.6] 7 0.10447761 10.447761
## 8 (92.6,94.8] 3 0.04477612 4.477612
Gr?ficas de pastel. SISTEMAS Sturges
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de SISTEMAS Scott
clases <- nclass.scott(sistemas)
clases
## [1] 5
tabla.intervalos <- transform(table(cut(sistemas, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (76.7,80.3] 6
## 2 (80.3,83.9] 20
## 3 (83.9,87.6] 19
## 4 (87.6,91.2] 14
## 5 (91.2,94.8] 8
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (76.7,80.3] 6 0.08955224 8.955224
## 2 (80.3,83.9] 20 0.29850746 29.850746
## 3 (83.9,87.6] 19 0.28358209 28.358209
## 4 (87.6,91.2] 14 0.20895522 20.895522
## 5 (91.2,94.8] 8 0.11940299 11.940299
# *********************************************************************************
# VAMOS A ACUMULAR TODAS LAS CLASES EN UN NUEVO data.frame
# Luego determinar LAS FRECUENCIAS maximas de de cada carrera de un mismo data.frame
# solo usar la regla Struges para cuestiones pr?cticas
carreras.clases <- rbind(carreras.clases, cbind(tabla.intervalos, "CARRERA" = "SISTEMAS"))
Gr?ficas de pastel. SISTEMAS Scott
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de SISTEMAS FD
clases <- nclass.FD(sistemas)
clases
## [1] 7
tabla.intervalos <- transform(table(cut(sistemas, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (76.7,79.3] 4
## 2 (79.3,81.9] 10
## 3 (81.9,84.5] 12
## 4 (84.5,87] 18
## 5 (87,89.6] 11
## 6 (89.6,92.2] 7
## 7 (92.2,94.8] 5
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (76.7,79.3] 4 0.05970149 5.970149
## 2 (79.3,81.9] 10 0.14925373 14.925373
## 3 (81.9,84.5] 12 0.17910448 17.910448
## 4 (84.5,87] 18 0.26865672 26.865672
## 5 (87,89.6] 11 0.16417910 16.417910
## 6 (89.6,92.2] 7 0.10447761 10.447761
## 7 (92.2,94.8] 5 0.07462687 7.462687
Gr?ficas de pastel. SISTEMAS FD
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

TIC
Histogramas de TIC Sturges, Scott y FD
tic <- datos$promedio[which(datos$promedio > 0 & datos$semetre == 2 & datos$carrera == 'TIC')]
tic
## [1] 89.33 92.20 87.40 81.33 84.83 94.00 90.80 86.60 83.00 85.80 91.67
## [12] 71.50 83.80 83.80 82.80 81.80 80.00 89.50 84.40 88.50 89.33 85.00
n <- length(tic)
n
## [1] 22
hist(tic, breaks = "Sturges", freq = TRUE, main = "Promedios de los alumnos TIC del ITD. Sturges", xlab = "Promedios", ylab = "Frecuencia")

hist(tic, breaks = "Scott", freq = TRUE, main = "Promedios de los alumnos TIC del ITD. Scott", xlab = "Promedios", ylab = "Frecuencia")

hist(tic, breaks = "FD", freq = TRUE, main = "Promedios de los alumnos TIC del ITD. FD", xlab = "Promedios", ylab = "Frecuencia")

Tablas de Frecuencias de TIC Sturges
clases <- nclass.Sturges(tic)
clases
## [1] 6
tabla.intervalos <- transform(table(cut(tic, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (71.5,75.2] 1
## 2 (75.2,79] 0
## 3 (79,82.8] 3
## 4 (82.8,86.5] 8
## 5 (86.5,90.2] 6
## 6 (90.2,94] 4
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (71.5,75.2] 1 0.04545455 4.545455
## 2 (75.2,79] 0 0.00000000 0.000000
## 3 (79,82.8] 3 0.13636364 13.636364
## 4 (82.8,86.5] 8 0.36363636 36.363636
## 5 (86.5,90.2] 6 0.27272727 27.272727
## 6 (90.2,94] 4 0.18181818 18.181818
# *********************************************************************************
# VAMOS A ACUMULAR TODAS LAS CLASES EN UN NUEVO data.frame
# Luego determinar LAS FRECUENCIAS maximas de de cada carrera de un mismo data.frame
# solo usar la regla Struges para cuestiones pr?cticas
carreras.clases <- rbind(carreras.clases, cbind(tabla.intervalos, "CARRERA" = "TIC"))
Gr?ficas de pastel. TIC Sturges
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
# pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5) # No puede hacer pastel porque trae 0 la frecuencia. Pendiente
Tablas de Frecuencias de TIC Scott
clases <- nclass.scott(tic)
clases
## [1] 4
tabla.intervalos <- transform(table(cut(tic, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (71.5,77.1] 1
## 2 (77.1,82.8] 3
## 3 (82.8,88.4] 10
## 4 (88.4,94] 8
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (71.5,77.1] 1 0.04545455 4.545455
## 2 (77.1,82.8] 3 0.13636364 13.636364
## 3 (82.8,88.4] 10 0.45454545 45.454545
## 4 (88.4,94] 8 0.36363636 36.363636
Gr?ficas de pastel. TIC Scott
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de TIC FD
clases <- nclass.FD(tic)
clases
## [1] 6
tabla.intervalos <- transform(table(cut(tic, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (71.5,75.2] 1
## 2 (75.2,79] 0
## 3 (79,82.8] 3
## 4 (82.8,86.5] 8
## 5 (86.5,90.2] 6
## 6 (90.2,94] 4
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (71.5,75.2] 1 0.04545455 4.545455
## 2 (75.2,79] 0 0.00000000 0.000000
## 3 (79,82.8] 3 0.13636364 13.636364
## 4 (82.8,86.5] 8 0.36363636 36.363636
## 5 (86.5,90.2] 6 0.27272727 27.272727
## 6 (90.2,94] 4 0.18181818 18.181818
Gr?ficas de pastel. TIC FD
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
# pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5) # No puede hacer pastel porque trae 0 la frecuencia. Pendiente
GESTION
Histogramas de GESTION Sturges, Scott y FD
gestion <- datos$promedio[which(datos$promedio > 0 & datos$semetre == 2 & datos$carrera == 'GESTION')]
gestion
## [1] 77.50 88.00 82.50 93.00 85.80 88.17 89.20 78.67 75.75 82.60 78.33
## [12] 85.00 95.00 82.40 91.83 90.17 83.50 81.80 93.17 92.20 87.50 90.00
## [23] 89.83 82.80 90.33 91.17 80.83 78.83 83.80 90.80 88.17 94.40 85.40
## [34] 85.83 85.83 87.83 94.83 90.80 92.50 80.83 90.00 91.60 87.40 85.80
## [45] 92.00 79.80 91.00 90.80 82.17 78.75 88.50 85.67 92.00 86.80 87.83
## [56] 93.17 78.00 85.57 81.50 87.60 86.00 78.67 92.50 81.50 87.00 73.00
## [67] 83.00 82.67 89.20 80.50
n <- length(gestion)
n
## [1] 70
hist(gestion, breaks = "Sturges", freq = TRUE, main = "Promedios de los alumnos GESTION del ITD. Sturges", xlab = "Promedios", ylab = "Frecuencia")

hist(gestion, breaks = "Scott", freq = TRUE, main = "Promedios de los alumnos GESTION del ITD. Scott", xlab = "Promedios", ylab = "Frecuencia")

hist(gestion, breaks = "FD", freq = TRUE, main = "Promedios de los alumnos GESTION del ITD. FD", xlab = "Promedios", ylab = "Frecuencia")

Tablas de Frecuencias de GESTION Sturges
clases <- nclass.Sturges(gestion)
clases
## [1] 8
tabla.intervalos <- transform(table(cut(gestion, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (73,75.8] 2
## 2 (75.8,78.5] 3
## 3 (78.5,81.2] 8
## 4 (81.2,84] 12
## 5 (84,86.8] 9
## 6 (86.8,89.5] 13
## 7 (89.5,92.2] 15
## 8 (92.2,95] 8
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (73,75.8] 2 0.02857143 2.857143
## 2 (75.8,78.5] 3 0.04285714 4.285714
## 3 (78.5,81.2] 8 0.11428571 11.428571
## 4 (81.2,84] 12 0.17142857 17.142857
## 5 (84,86.8] 9 0.12857143 12.857143
## 6 (86.8,89.5] 13 0.18571429 18.571429
## 7 (89.5,92.2] 15 0.21428571 21.428571
## 8 (92.2,95] 8 0.11428571 11.428571
# *********************************************************************************
# VAMOS A ACUMULAR TODAS LAS CLASES EN UN NUEVO data.frame
# Luego determinar LAS FRECUENCIAS maximas de de cada carrera de un mismo data.frame
# solo usar la regla Struges para cuestiones pr?cticas
carreras.clases <- rbind(carreras.clases, cbind(tabla.intervalos, "CARRERA" = "GESTION"))
Gr?ficas de pastel. GESTION Sturges
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de GESTION Scott
clases <- nclass.scott(gestion)
clases
## [1] 6
tabla.intervalos <- transform(table(cut(gestion, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (73,76.7] 2
## 2 (76.7,80.3] 8
## 3 (80.3,84] 15
## 4 (84,87.7] 14
## 5 (87.7,91.3] 18
## 6 (91.3,95] 13
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (73,76.7] 2 0.02857143 2.857143
## 2 (76.7,80.3] 8 0.11428571 11.428571
## 3 (80.3,84] 15 0.21428571 21.428571
## 4 (84,87.7] 14 0.20000000 20.000000
## 5 (87.7,91.3] 18 0.25714286 25.714286
## 6 (91.3,95] 13 0.18571429 18.571429
Gr?ficas de pastel. GESTION Scott
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de GESTION FD
clases <- nclass.FD(gestion)
clases
## [1] 6
tabla.intervalos <- transform(table(cut(gestion, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (73,76.7] 2
## 2 (76.7,80.3] 8
## 3 (80.3,84] 15
## 4 (84,87.7] 14
## 5 (87.7,91.3] 18
## 6 (91.3,95] 13
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (73,76.7] 2 0.02857143 2.857143
## 2 (76.7,80.3] 8 0.11428571 11.428571
## 3 (80.3,84] 15 0.21428571 21.428571
## 4 (84,87.7] 14 0.20000000 20.000000
## 5 (87.7,91.3] 18 0.25714286 25.714286
## 6 (91.3,95] 13 0.18571429 18.571429
Gr?ficas de pastel. GESTION FD
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

ADMINISTRACION
Histogramas de ADMINISTRACION Sturges, Scott y FD
administracion <- datos$promedio[which(datos$promedio > 0 & datos$semetre == 2 & datos$carrera == 'ADMINISTRACION')]
administracion
## [1] 90.14 91.75 87.17 83.83 91.00 84.80 86.50 79.40 79.00 79.50 85.00
## [12] 89.67 83.00 90.00 92.00 79.40 84.17 87.00 95.33 96.17 86.33 85.20
## [23] 88.17 86.75 90.80 89.83 92.17 87.50 88.50 82.75 89.40 91.50 85.50
## [34] 91.25 90.17 95.00 83.60 92.40 86.20 92.67 90.75 90.00 90.67 90.00
## [45] 95.50 85.17 86.20 82.00 87.60 91.00 85.83 89.50 82.60 88.40 89.33
## [56] 90.00 93.00 91.60 77.00 96.17 88.00 92.60 83.00 91.40 94.00 87.17
## [67] 84.25 84.40 88.20 86.75 88.33 97.17 85.40 84.80 88.67 90.67 91.67
n <- length(administracion)
n
## [1] 77
hist(administracion, breaks = "Sturges", freq = TRUE, main = "Promedios de los alumnos ADMINISTRACION del ITD. Sturges", xlab = "Promedios", ylab = "Frecuencia")

hist(administracion, breaks = "Scott", freq = TRUE, main = "Promedios de los alumnos ADMINISTRACION del ITD. Scott", xlab = "Promedios", ylab = "Frecuencia")

hist(administracion, breaks = "FD", freq = TRUE, main = "Promedios de los alumnos ADMINISTRACION del ITD. FD", xlab = "Promedios", ylab = "Frecuencia")

Tablas de Frecuencias de ADMINISTRACION Sturges
clases <- nclass.Sturges(administracion)
clases
## [1] 8
tabla.intervalos <- transform(table(cut(administracion, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (77,79.5] 5
## 2 (79.5,82] 1
## 3 (82,84.6] 9
## 4 (84.6,87.1] 15
## 5 (87.1,89.6] 14
## 6 (89.6,92.1] 21
## 7 (92.1,94.6] 6
## 8 (94.6,97.2] 6
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (77,79.5] 5 0.06493506 6.493506
## 2 (79.5,82] 1 0.01298701 1.298701
## 3 (82,84.6] 9 0.11688312 11.688312
## 4 (84.6,87.1] 15 0.19480519 19.480519
## 5 (87.1,89.6] 14 0.18181818 18.181818
## 6 (89.6,92.1] 21 0.27272727 27.272727
## 7 (92.1,94.6] 6 0.07792208 7.792208
## 8 (94.6,97.2] 6 0.07792208 7.792208
# *********************************************************************************
# VAMOS A ACUMULAR TODAS LAS CLASES EN UN NUEVO data.frame
# Luego determinar LAS FRECUENCIAS maximas de de cada carrera de un mismo data.frame
# solo usar la regla Struges para cuestiones pr?cticas
carreras.clases <- rbind(carreras.clases, cbind(tabla.intervalos, "CARRERA" = "ADMINISTRACION"))
Gr?ficas de pastel. ADMINISTRACION Sturges
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de ADMINISTRACION Scott
clases <- nclass.scott(administracion)
clases
## [1] 6
tabla.intervalos <- transform(table(cut(administracion, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (77,80.4] 5
## 2 (80.4,83.7] 6
## 3 (83.7,87.1] 19
## 4 (87.1,90.4] 22
## 5 (90.4,93.8] 18
## 6 (93.8,97.2] 7
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (77,80.4] 5 0.06493506 6.493506
## 2 (80.4,83.7] 6 0.07792208 7.792208
## 3 (83.7,87.1] 19 0.24675325 24.675325
## 4 (87.1,90.4] 22 0.28571429 28.571429
## 5 (90.4,93.8] 18 0.23376623 23.376623
## 6 (93.8,97.2] 7 0.09090909 9.090909
Gr?ficas de pastel. ADMINISTRACION Scott
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Tablas de Frecuencias de ADMINISTRACION FD
clases <- nclass.FD(administracion)
clases
## [1] 8
tabla.intervalos <- transform(table(cut(administracion, breaks = clases)))
tabla.intervalos # es un data.frame
## Var1 Freq
## 1 (77,79.5] 5
## 2 (79.5,82] 1
## 3 (82,84.6] 9
## 4 (84.6,87.1] 15
## 5 (87.1,89.6] 14
## 6 (89.6,92.1] 21
## 7 (92.1,94.6] 6
## 8 (94.6,97.2] 6
# Podemos agregar columnas al Data.Frame. Frecuencia Relativa y Frecuencia Porcentual
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Rel' = tabla.intervalos$Freq / n)
tabla.intervalos <- data.frame(tabla.intervalos, 'Freq.Porc' = tabla.intervalos$Freq.Rel * 100)
tabla.intervalos
## Var1 Freq Freq.Rel Freq.Porc
## 1 (77,79.5] 5 0.06493506 6.493506
## 2 (79.5,82] 1 0.01298701 1.298701
## 3 (82,84.6] 9 0.11688312 11.688312
## 4 (84.6,87.1] 15 0.19480519 19.480519
## 5 (87.1,89.6] 14 0.18181818 18.181818
## 6 (89.6,92.1] 21 0.27272727 27.272727
## 7 (92.1,94.6] 6 0.07792208 7.792208
## 8 (94.6,97.2] 6 0.07792208 7.792208
Gr?ficas de pastel. ADMINISTRACION FD
# install.packages("plotrix")
library(plotrix)
# En porcentaje %
# paste significa concatenar, unir cadenas de caracteres
etiquetas <- paste(round(tabla.intervalos$Freq.Porc,2), " % de ", tabla.intervalos$Var1)
pie3D(round(tabla.intervalos$Freq.Porc,2), labels = etiquetas, main = paste("Frecuencia de clases. % ", n, " Observaciones"), labelcex = 0.5)

Todas las CARRERAS en un solo data.frame
# install.packages("dplyr")
library(dplyr) # Para oder usar filter como una funci?n para seleccionar registos con alguna condici?n
## Warning: package 'dplyr' was built under R version 3.4.4
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
carreras.clases
## Var1 Freq Freq.Rel Freq.Porc CARRERA
## 1 (77.3,79.5] 6 0.08333333 8.333333 ARQUITECTURA
## 2 (79.5,81.7] 6 0.08333333 8.333333 ARQUITECTURA
## 3 (81.7,84] 11 0.15277778 15.277778 ARQUITECTURA
## 4 (84,86.2] 18 0.25000000 25.000000 ARQUITECTURA
## 5 (86.2,88.4] 16 0.22222222 22.222222 ARQUITECTURA
## 6 (88.4,90.6] 11 0.15277778 15.277778 ARQUITECTURA
## 7 (90.6,92.8] 2 0.02777778 2.777778 ARQUITECTURA
## 8 (92.8,95] 2 0.02777778 2.777778 ARQUITECTURA
## 9 (77.5,79.7] 5 0.07692308 7.692308 BIOQUIMICA
## 10 (79.7,81.9] 7 0.10769231 10.769231 BIOQUIMICA
## 11 (81.9,84.1] 12 0.18461538 18.461538 BIOQUIMICA
## 12 (84.1,86.3] 10 0.15384615 15.384615 BIOQUIMICA
## 13 (86.3,88.5] 13 0.20000000 20.000000 BIOQUIMICA
## 14 (88.5,90.8] 8 0.12307692 12.307692 BIOQUIMICA
## 15 (90.8,93] 4 0.06153846 6.153846 BIOQUIMICA
## 16 (93,95.2] 6 0.09230769 9.230769 BIOQUIMICA
## 17 (77.3,79.5] 4 0.05970149 5.970149 CIVIL
## 18 (79.5,81.7] 6 0.08955224 8.955224 CIVIL
## 19 (81.7,83.8] 8 0.11940299 11.940299 CIVIL
## 20 (83.8,86] 12 0.17910448 17.910448 CIVIL
## 21 (86,88.2] 16 0.23880597 23.880597 CIVIL
## 22 (88.2,90.3] 13 0.19402985 19.402985 CIVIL
## 23 (90.3,92.5] 5 0.07462687 7.462687 CIVIL
## 24 (92.5,94.7] 3 0.04477612 4.477612 CIVIL
## 25 (78.7,80.9] 1 0.02702703 2.702703 ELECTRICA
## 26 (80.9,83.1] 3 0.08108108 8.108108 ELECTRICA
## 27 (83.1,85.3] 4 0.10810811 10.810811 ELECTRICA
## 28 (85.3,87.5] 15 0.40540541 40.540541 ELECTRICA
## 29 (87.5,89.7] 8 0.21621622 21.621622 ELECTRICA
## 30 (89.7,92] 4 0.10810811 10.810811 ELECTRICA
## 31 (92,94.2] 2 0.05405405 5.405405 ELECTRICA
## 32 (70,74.2] 1 0.02857143 2.857143 ELECTRONICA
## 33 (74.2,78.3] 0 0.00000000 0.000000 ELECTRONICA
## 34 (78.3,82.5] 0 0.00000000 0.000000 ELECTRONICA
## 35 (82.5,86.7] 0 0.00000000 0.000000 ELECTRONICA
## 36 (86.7,90.8] 4 0.11428571 11.428571 ELECTRONICA
## 37 (90.8,95] 18 0.51428571 51.428571 ELECTRONICA
## 38 (95,99.2] 12 0.34285714 34.285714 ELECTRONICA
## 39 (82.5,84.2] 2 0.02631579 2.631579 INDUSTRIAL
## 40 (84.2,85.8] 3 0.03947368 3.947368 INDUSTRIAL
## 41 (85.8,87.5] 4 0.05263158 5.263158 INDUSTRIAL
## 42 (87.5,89.2] 14 0.18421053 18.421053 INDUSTRIAL
## 43 (89.2,90.8] 18 0.23684211 23.684211 INDUSTRIAL
## 44 (90.8,92.5] 18 0.23684211 23.684211 INDUSTRIAL
## 45 (92.5,94.2] 8 0.10526316 10.526316 INDUSTRIAL
## 46 (94.2,95.8] 9 0.11842105 11.842105 INDUSTRIAL
## 47 (73.2,76.4] 2 0.03174603 3.174603 MECANICA
## 48 (76.4,79.6] 6 0.09523810 9.523810 MECANICA
## 49 (79.6,82.8] 15 0.23809524 23.809524 MECANICA
## 50 (82.8,86] 13 0.20634921 20.634921 MECANICA
## 51 (86,89.1] 13 0.20634921 20.634921 MECANICA
## 52 (89.1,92.3] 7 0.11111111 11.111111 MECANICA
## 53 (92.3,95.5] 7 0.11111111 11.111111 MECANICA
## 54 (80,82.2] 8 0.11428571 11.428571 MECATRONICA
## 55 (82.2,84.3] 14 0.20000000 20.000000 MECATRONICA
## 56 (84.3,86.5] 16 0.22857143 22.857143 MECATRONICA
## 57 (86.5,88.7] 14 0.20000000 20.000000 MECATRONICA
## 58 (88.7,90.8] 10 0.14285714 14.285714 MECATRONICA
## 59 (90.8,93] 4 0.05714286 5.714286 MECATRONICA
## 60 (93,95.2] 3 0.04285714 4.285714 MECATRONICA
## 61 (95.2,97.3] 1 0.01428571 1.428571 MECATRONICA
## 62 (78,80.5] 4 0.05882353 5.882353 QUIMICA
## 63 (80.5,83.1] 7 0.10294118 10.294118 QUIMICA
## 64 (83.1,85.6] 8 0.11764706 11.764706 QUIMICA
## 65 (85.6,88.2] 15 0.22058824 22.058824 QUIMICA
## 66 (88.2,90.7] 14 0.20588235 20.588235 QUIMICA
## 67 (90.7,93.2] 11 0.16176471 16.176471 QUIMICA
## 68 (93.2,95.8] 6 0.08823529 8.823529 QUIMICA
## 69 (95.8,98.4] 3 0.04411765 4.411765 QUIMICA
## 70 (76.7,80.3] 6 0.08955224 8.955224 SISTEMAS
## 71 (80.3,83.9] 20 0.29850746 29.850746 SISTEMAS
## 72 (83.9,87.6] 19 0.28358209 28.358209 SISTEMAS
## 73 (87.6,91.2] 14 0.20895522 20.895522 SISTEMAS
## 74 (91.2,94.8] 8 0.11940299 11.940299 SISTEMAS
## 75 (71.5,75.2] 1 0.04545455 4.545455 TIC
## 76 (75.2,79] 0 0.00000000 0.000000 TIC
## 77 (79,82.8] 3 0.13636364 13.636364 TIC
## 78 (82.8,86.5] 8 0.36363636 36.363636 TIC
## 79 (86.5,90.2] 6 0.27272727 27.272727 TIC
## 80 (90.2,94] 4 0.18181818 18.181818 TIC
## 81 (73,75.8] 2 0.02857143 2.857143 GESTION
## 82 (75.8,78.5] 3 0.04285714 4.285714 GESTION
## 83 (78.5,81.2] 8 0.11428571 11.428571 GESTION
## 84 (81.2,84] 12 0.17142857 17.142857 GESTION
## 85 (84,86.8] 9 0.12857143 12.857143 GESTION
## 86 (86.8,89.5] 13 0.18571429 18.571429 GESTION
## 87 (89.5,92.2] 15 0.21428571 21.428571 GESTION
## 88 (92.2,95] 8 0.11428571 11.428571 GESTION
## 89 (78,80.4] 2 0.07407407 7.407407 INFORMATICA
## 90 (80.4,82.9] 6 0.22222222 22.222222 INFORMATICA
## 91 (82.9,85.3] 7 0.25925926 25.925926 INFORMATICA
## 92 (85.3,87.8] 11 0.40740741 40.740741 INFORMATICA
## 93 (87.8,90.2] 0 0.00000000 0.000000 INFORMATICA
## 94 (90.2,92.7] 1 0.03703704 3.703704 INFORMATICA
## 95 (77,79.5] 5 0.06493506 6.493506 ADMINISTRACION
## 96 (79.5,82] 1 0.01298701 1.298701 ADMINISTRACION
## 97 (82,84.6] 9 0.11688312 11.688312 ADMINISTRACION
## 98 (84.6,87.1] 15 0.19480519 19.480519 ADMINISTRACION
## 99 (87.1,89.6] 14 0.18181818 18.181818 ADMINISTRACION
## 100 (89.6,92.1] 21 0.27272727 27.272727 ADMINISTRACION
## 101 (92.1,94.6] 6 0.07792208 7.792208 ADMINISTRACION
## 102 (94.6,97.2] 6 0.07792208 7.792208 ADMINISTRACION
# Los m?ximos de cada clase de cada carrera
carreras.clases.maximos <- NULL # inicializamos NULL
temporal <- filter(carreras.clases, carreras.clases$CARRERA == "ARQUITECTURA")
## Warning: package 'bindrcpp' was built under R version 3.4.4
carreras.clases.maximos <- rbind(carreras.clases.maximos, filter(temporal, temporal$Freq.Porc == max(temporal$Freq.Porc)))
temporal <- filter(carreras.clases, carreras.clases$CARRERA == "BIOQUIMICA")
carreras.clases.maximos <- rbind(carreras.clases.maximos, filter(temporal, temporal$Freq.Porc == max(temporal$Freq.Porc)))
temporal <- filter(carreras.clases, carreras.clases$CARRERA == "CIVIL")
carreras.clases.maximos <- rbind(carreras.clases.maximos, filter(temporal, temporal$Freq.Porc == max(temporal$Freq.Porc)))
temporal <- filter(carreras.clases, carreras.clases$CARRERA == "ELECTRICA")
carreras.clases.maximos <- rbind(carreras.clases.maximos, filter(temporal, temporal$Freq.Porc == max(temporal$Freq.Porc)))
temporal <- filter(carreras.clases, carreras.clases$CARRERA == "ELECTRONICA")
carreras.clases.maximos <- rbind(carreras.clases.maximos, filter(temporal, temporal$Freq.Porc == max(temporal$Freq.Porc)))
temporal <- filter(carreras.clases, carreras.clases$CARRERA == "INDUSTRIAL")
carreras.clases.maximos <- rbind(carreras.clases.maximos, filter(temporal, temporal$Freq.Porc == max(temporal$Freq.Porc)))
temporal <- filter(carreras.clases, carreras.clases$CARRERA == "MECANICA")
carreras.clases.maximos <- rbind(carreras.clases.maximos, filter(temporal, temporal$Freq.Porc == max(temporal$Freq.Porc)))
temporal <- filter(carreras.clases, carreras.clases$CARRERA == "MECATRONICA")
carreras.clases.maximos <- rbind(carreras.clases.maximos, filter(temporal, temporal$Freq.Porc == max(temporal$Freq.Porc)))
temporal <- filter(carreras.clases, carreras.clases$CARRERA == "QUIMICA")
carreras.clases.maximos <- rbind(carreras.clases.maximos, filter(temporal, temporal$Freq.Porc == max(temporal$Freq.Porc)))
temporal <- filter(carreras.clases, carreras.clases$CARRERA == "SISTEMAS")
carreras.clases.maximos <- rbind(carreras.clases.maximos, filter(temporal, temporal$Freq.Porc == max(temporal$Freq.Porc)))
temporal <- filter(carreras.clases, carreras.clases$CARRERA == "TIC")
carreras.clases.maximos <- rbind(carreras.clases.maximos, filter(temporal, temporal$Freq.Porc == max(temporal$Freq.Porc)))
temporal <- filter(carreras.clases, carreras.clases$CARRERA == "GESTION")
carreras.clases.maximos <- rbind(carreras.clases.maximos, filter(temporal, temporal$Freq.Porc == max(temporal$Freq.Porc)))
temporal <- filter(carreras.clases, carreras.clases$CARRERA == "INFORMATICA")
carreras.clases.maximos <- rbind(carreras.clases.maximos, filter(temporal, temporal$Freq.Porc == max(temporal$Freq.Porc)))
temporal <- filter(carreras.clases, carreras.clases$CARRERA == "ADMINISTRACION")
carreras.clases.maximos <- rbind(carreras.clases.maximos, filter(temporal, temporal$Freq.Porc == max(temporal$Freq.Porc)))
# MOSTRAR ORDENADOS
arrange(carreras.clases.maximos, CARRERA)
## Var1 Freq Freq.Rel Freq.Porc CARRERA
## 1 (84,86.2] 18 0.2500000 25.00000 ARQUITECTURA
## 2 (86.3,88.5] 13 0.2000000 20.00000 BIOQUIMICA
## 3 (86,88.2] 16 0.2388060 23.88060 CIVIL
## 4 (85.3,87.5] 15 0.4054054 40.54054 ELECTRICA
## 5 (90.8,95] 18 0.5142857 51.42857 ELECTRONICA
## 6 (89.2,90.8] 18 0.2368421 23.68421 INDUSTRIAL
## 7 (90.8,92.5] 18 0.2368421 23.68421 INDUSTRIAL
## 8 (79.6,82.8] 15 0.2380952 23.80952 MECANICA
## 9 (84.3,86.5] 16 0.2285714 22.85714 MECATRONICA
## 10 (85.6,88.2] 15 0.2205882 22.05882 QUIMICA
## 11 (80.3,83.9] 20 0.2985075 29.85075 SISTEMAS
## 12 (82.8,86.5] 8 0.3636364 36.36364 TIC
## 13 (89.5,92.2] 15 0.2142857 21.42857 GESTION
## 14 (85.3,87.8] 11 0.4074074 40.74074 INFORMATICA
## 15 (89.6,92.1] 21 0.2727273 27.27273 ADMINISTRACION
Gr?fica de barras de los valore m?ximos de clases de promedio de cada carrera.
# install.packages("ggplot2")
library (ggplot2)
## Warning: package 'ggplot2' was built under R version 3.4.4
ggplot(data=carreras.clases.maximos[1:4,], aes(x=paste(CARRERA,Var1), y = Freq.Porc, fill=Freq)) + geom_bar(stat="identity")

ggplot(data=carreras.clases.maximos[5:8,], aes(x=paste(CARRERA,Var1), y = Freq.Porc, fill=Freq)) + geom_bar(stat="identity")

ggplot(data=carreras.clases.maximos[6:12,], aes(x=paste(CARRERA,Var1), y = Freq.Porc, fill=Freq)) + geom_bar(stat="identity")

ggplot(data=carreras.clases.maximos[13:15,], aes(x=paste(CARRERA,Var1), y = Freq.Porc, fill=Freq)) + geom_bar(stat="identity")

Gr?fica de puntos de todas la carreras promedios de alumnos de segundo semetre
ggplot(datos[which(datos$promedio > 0 & datos$semetre == 2),], aes(x = carrera, y = promedio)) + geom_point()
