Entonces, qué pasa
Alumnos_carrera= Alumnos %>%
count(carrera,sort = TRUE)
Alumnos_carrera=adorn_totals(Alumnos_carrera)
Alumnos_carrera %>%
kbl(col.names = c("Carrera",
"Matrículas")) %>%
kable_styling(bootstrap_options = c("striped","condensed", "hover"),full_width = F) %>%
column_spec(column = 2,width = "7cm") %>%
add_header_above(c("Cantidad de estudiantes por carrera"=2)) %>%
row_spec(nrow(Alumnos_carrera),bold = TRUE)
| Carrera | Matrículas |
|---|---|
| ARQUITECTURA | 421 |
| QUIMICA | 415 |
| ELECTRICA | 407 |
| ELECTRONICA | 403 |
| TIC | 401 |
| SISTEMAS | 397 |
| ADMINISTRACION | 390 |
| INDUSTRIAL | 379 |
| CIVIL | 378 |
| BIOQUIMICA | 374 |
| INFORMATICA | 354 |
| MECATRONICA | 345 |
| MECANICA | 336 |
| Total | 5000 |
Alumnos %>%
group_by(carrera) %>%
summarize(
Promedio=round(mean(altura),2),
Mín_Alt=round(min(altura),2),
Máx_Alt=max(altura)
)
## # A tibble: 13 x 4
## carrera Promedio Mín_Alt Máx_Alt
## <chr> <dbl> <dbl> <dbl>
## 1 ADMINISTRACION 180. 170. 188.
## 2 ARQUITECTURA 180. 170. 191.
## 3 BIOQUIMICA 180. 170. 189.
## 4 CIVIL 180. 171. 190.
## 5 ELECTRICA 180. 172. 189.
## 6 ELECTRONICA 180. 170. 188.
## 7 INDUSTRIAL 170. 153. 187.
## 8 INFORMATICA 160. 154. 165.
## 9 MECANICA 160. 153. 166.
## 10 MECATRONICA 160. 153. 167.
## 11 QUIMICA 160. 154. 166.
## 12 SISTEMAS 160. 153. 167.
## 13 TIC 160 154. 166.
mfv(Alumnos$peso)
## [1] 60.4 81.2
Para un análisis, vamos primero a dividir los datos para una mayor comodidad, en este caso lo dividiremos en Ingenierías y las demás.
IngTable<- Alumnos %>%
filter(carrera=="CIVIL"| carrera=="INDUSTRIAL"| carrera=="ELECTRICA"| carrera=="ELECTRONICA"|
carrera=="MECANICA"| carrera=="MECATRONICA"| carrera=="SISTEMAS"| carrera=="BIOQUIMICA")
SecondTable<- Alumnos %>%
filter(carrera=="ADMINISTRACION"| carrera=="ARQUITECTURA"| carrera=="INFORMATICA"|
carrera=="QUIMICA"| carrera=="TIC")
Aquí vamos a ver la cantidad de estudiantes por carrera en la Facultad de Ingeniería.
Cantidad_por_carrera<-ggplot(IngTable, aes(x=carrera,fill=carrera))+
geom_bar()+
scale_x_discrete(labels=abbreviate)+
scale_fill_brewer(palette = "Spectral")+
labs(title = "Cantidad de estudiantes en Facultad de Ingeniería",
x="Carrera",y="Estudiantes")
ggplotly(Cantidad_por_carrera)
Aquí veremos la cantidad de estudiantes por carrera en las demás faultades donde tenemos datos.
Cantidad_otras_carreras<-ggplot(SecondTable, aes(x=carrera,fill=carrera))+
geom_bar()+
scale_x_discrete(labels=abbreviate)+
labs(title = "Cantidad de estudiantes en las demás facultades",
x="Carrera",y="Estudiantes")
ggplotly(Cantidad_otras_carreras)
La tabla de peso.
Alumnos %>%
group_by(carrera) %>%
summarize(
Promedio=mean(peso),
Mín_Pes=min(peso),
Máx_Pes=max(peso)
)
## # A tibble: 13 x 4
## carrera Promedio Mín_Pes Máx_Pes
## <chr> <dbl> <dbl> <dbl>
## 1 ADMINISTRACION 79.9 70.3 88.1
## 2 ARQUITECTURA 79.6 69.9 91.5
## 3 BIOQUIMICA 80.2 70.3 89.0
## 4 CIVIL 79.8 71.5 89.6
## 5 ELECTRICA 80.2 71.7 89.0
## 6 ELECTRONICA 80.1 70.0 88.4
## 7 INDUSTRIAL 70.0 53.0 87.3
## 8 INFORMATICA 59.9 53.8 65.3
## 9 MECANICA 60.0 52.8 66.2
## 10 MECATRONICA 60.0 53.3 66.8
## 11 QUIMICA 60.0 53.6 65.8
## 12 SISTEMAS 60.0 53.3 66.7
## 13 TIC 60.0 54.1 65.9
#Tabla de frecuencias de Carreras
Frec_abs=as.vector(table(Alumnos$carrera))
Frec_abs_acum=cumsum(table(Alumnos$carrera))
Frec_rel=as.vector(prop.table(table(Alumnos$carrera)))
Frec_rel_acum=cumsum(prop.table(table(Alumnos$carrera)))
tabla_frecuencia=data.frame(Frec_abs,Frec_abs_acum,Frec_rel,Frec_rel_acum)
#Tabla con Estilo
tabla_frecuencia %>%
kbl(col.names = c(
"Frec Absoluta",
"Frec Absolut acum",
"Frec Relativa",
"Frec Relativa acum"), align = rep("c",4)) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"), fixed_thead = T)%>%
column_spec(1, bold = T, border_right = T) %>%
add_header_above(c("Carreras"=5)) %>%
add_header_above(c("Tabla de Frecuencias"=5))
| Frec Absoluta | Frec Absolut acum | Frec Relativa | Frec Relativa acum | |
|---|---|---|---|---|
| ADMINISTRACION | 390 | 390 | 0.078 | 0.078 |
| ARQUITECTURA | 421 | 811 | 0.084 | 0.162 |
| BIOQUIMICA | 374 | 1185 | 0.075 | 0.237 |
| CIVIL | 378 | 1563 | 0.076 | 0.313 |
| ELECTRICA | 407 | 1970 | 0.081 | 0.394 |
| ELECTRONICA | 403 | 2373 | 0.081 | 0.475 |
| INDUSTRIAL | 379 | 2752 | 0.076 | 0.550 |
| INFORMATICA | 354 | 3106 | 0.071 | 0.621 |
| MECANICA | 336 | 3442 | 0.067 | 0.688 |
| MECATRONICA | 345 | 3787 | 0.069 | 0.757 |
| QUIMICA | 415 | 4202 | 0.083 | 0.840 |
| SISTEMAS | 397 | 4599 | 0.079 | 0.920 |
| TIC | 401 | 5000 | 0.080 | 1.000 |
#Tabla de frecuencias de Estratos
Estrato=seq(1:6)
Frec_abs=as.vector(table(Alumnos$Estrato))
Frec_abs_acum=as.vector(cumsum(table(Alumnos$Estrato)))
Frec_rel=as.vector(prop.table(table(Alumnos$Estrato)))
Frec_rel_acum=cumsum(prop.table(table(Alumnos$Estrato)))
tabla_frecuencia=data.frame(Estrato,Frec_abs,Frec_abs_acum,Frec_rel,Frec_rel_acum)
#Tabla con Estilo
tabla_frecuencia %>%
kbl(col.names = c("Estrato",
"Frec Absoluta",
"Frec Absolut acum",
"Frec Relativa",
"Frec Relativa acum"), align = rep("c",6)) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"), fixed_thead = T)%>%
column_spec(1, bold = T, border_right = T) %>%
add_header_above(c("Estratos"=5))%>%
add_header_above(c("Tabla de frecuencias"=5))
| Estrato | Frec Absoluta | Frec Absolut acum | Frec Relativa | Frec Relativa acum |
|---|---|---|---|---|
| 1 | 784 | 784 | 0.157 | 0.157 |
| 2 | 808 | 1592 | 0.162 | 0.318 |
| 3 | 860 | 2452 | 0.172 | 0.490 |
| 4 | 865 | 3317 | 0.173 | 0.663 |
| 5 | 850 | 4167 | 0.170 | 0.833 |
| 6 | 833 | 5000 | 0.167 | 1.000 |
#Tabla de frecuencias de Edad
Frec_abs=as.vector(table(Alumnos$edad))
Frec_abs_acum=as.vector(cumsum(table(Alumnos$edad)))
Frec_rel=as.vector(prop.table(table(Alumnos$edad)))
Frec_rel_acum=cumsum(prop.table(table(Alumnos$edad)))
tabla_frecuencia=data.frame(Frec_abs,Frec_abs_acum,Frec_rel,Frec_rel_acum)
#Tabla con Estilo
tabla_frecuencia %>%
kbl(col.names = c(
"Frec Absoluta",
"Frec Absolut acum",
"Frec Relativa",
"Frec Relativa acum"), align = rep("c",4)) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"), fixed_thead = T)%>%
column_spec(1, bold = T, border_right = T) %>%
add_header_above(c("Edad"=5))%>%
add_header_above(c("Tabla de frecuencias"=5))
| Frec Absoluta | Frec Absolut acum | Frec Relativa | Frec Relativa acum | |
|---|---|---|---|---|
| 17 | 2 | 2 | 0.000 | 0.000 |
| 18 | 44 | 46 | 0.009 | 0.009 |
| 19 | 310 | 356 | 0.062 | 0.071 |
| 20 | 1187 | 1543 | 0.237 | 0.309 |
| 21 | 1891 | 3434 | 0.378 | 0.687 |
| 22 | 1204 | 4638 | 0.241 | 0.928 |
| 23 | 339 | 4977 | 0.068 | 0.995 |
| 24 | 21 | 4998 | 0.004 | 1.000 |
| 25 | 2 | 5000 | 0.000 | 1.000 |
#En los datos continuos vamos a realizar intervalos
brx <- pretty(range(Alumnos$altura),
n=nclass.Sturges(Alumnos$altura), min.n = 1)
k=nclass.Sturges(Alumnos$altura) #Cantidad de intervalos que tiene
A=diff(range(Alumnos$altura))/13 #Amplitud de un Intervalo a otro
A=3
m=min(Alumnos$altura)
L=m-0.05+A*(0:13)
Marcas=(L[0:k]+L[1:k+1])/2 #Marca de clase (media de cada intervalo)
Intervalos=cut(Alumnos$altura, breaks = L, include.lowest = TRUE) #Datos en intervalos
#Tabla de frecuencias de Altura
Frec_abs=as.vector(table(Intervalos))
Frec_abs_acum=as.vector(cumsum(table(Intervalos)))
Frec_rel=as.vector(prop.table(table(Intervalos)))
Frec_rel_acum=cumsum(prop.table(table(Intervalos)))
tabla_frecuencia=data.frame(Frec_abs,Frec_abs_acum,Frec_rel,Frec_rel_acum)
view(tabla_frecuencia)
#Tabla con Estilo
tabla_frecuencia %>%
kbl(col.names = c(
"Frec Absoluta",
"Frec Absolut acum",
"Frec Relativa",
"Frec Relativa acum"), align = rep("c",4)) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"), fixed_thead = T)%>%
column_spec(1, bold = T, border_right = T) %>%
add_header_above(c("Altura"=5))%>%
add_header_above(c("Tabla de frecuencias"=5))
| Frec Absoluta | Frec Absolut acum | Frec Relativa | Frec Relativa acum | |
|---|---|---|---|---|
| [153,156] | 79 | 79 | 0.016 | 0.016 |
| (156,159] | 633 | 712 | 0.127 | 0.142 |
| (159,162] | 1159 | 1871 | 0.232 | 0.374 |
| (162,165] | 525 | 2396 | 0.105 | 0.479 |
| (165,168] | 40 | 2436 | 0.008 | 0.487 |
| (168,171] | 6 | 2442 | 0.001 | 0.488 |
| (171,174] | 61 | 2503 | 0.012 | 0.501 |
| (174,177] | 309 | 2812 | 0.062 | 0.562 |
| (177,180] | 818 | 3630 | 0.164 | 0.726 |
| (180,183] | 878 | 4508 | 0.176 | 0.902 |
| (183,186] | 400 | 4908 | 0.080 | 0.982 |
| (186,189] | 88 | 4996 | 0.018 | 0.999 |
| (189,192] | 4 | 5000 | 0.001 | 1.000 |
Nuestro Gráfico relacionado con esta tabla de frecuencias sería.
Hist_altura=ggplot(Alumnos,aes(x=altura))+
geom_histogram(color="black",fill="white" ,breaks=L, position = "identity")
ggplotly(Hist_altura)