El error ocurre porque el nombre del archivo Excel en tu proyecto
tiene un (1). Dice
00. DATOS202460ULTIMOS25 (1).xlsx, pero el código busca
00. DATOS202460ULTIMOS25.xlsx.
author: “SAMUEL GONZALEZ LONDOÑO” date: “2026-09-18” output: html_document: toc: true toc_float: true toc_depth: 3 number_sections: true theme: cosmo highlight: tango code_folding: show df_print: paged
library(readxl)
DATOS2026 <- read_excel("00. DATOS202460ULTIMOS25 (1).xlsx")
DATOS2026
## # A tibble: 74 × 16
## CURSO ASISTENCIA2 ASISTENCIA1 `PARCIAL 1` `PARCIAL 2` NRC PROGRAMA EDAD
## <chr> <dbl> <dbl> <chr> <chr> <dbl> <chr> <dbl>
## 1 PROBABI… 100 90 3.6 4.3 2314 F_NEGOC… 20
## 2 ESTADIS… 70 75 0.9 2.5 1136 DERECHO 18
## 3 PROBABI… 85 95 3.9 3.8 2314 F_NEGOC… 19
## 4 PROBABI… 5 5 2.9 0.5 2314 MECANICA 18
## 5 ESTADIS… 20 70 3.7 0.55 1009 PSICOLO… 19
## 6 ESTADIS… 100 100 0.9 2.95 2313 PSICOLO… 20
## 7 PROBABI… 50 75 3.7 1.7 1010 C_DATOS 18
## 8 PROBABI… 100 95 3 3.3 2314 F_NEGOC… 19
## 9 ESTADIS… 100 100 3.8 3.3 1009 PSICOLO… 18
## 10 PROBABI… 95 85 3 2.9 2314 SISTEMAS 22
## # ℹ 64 more rows
## # ℹ 8 more variables: PESO <dbl>, ESTATURA <dbl>, SEXO <chr>,
## # ESTADO_CIVIL <chr>, ESTRATO <chr>, URBANO <chr>, TRANSPORTE <chr>,
## # GR_SANGUINEO <chr>
table_sexo <- table(DATOS2026$SEXO)
table_sexo
##
## Femenino Masculino
## 42 32
pie_1 <- pie(table_sexo, col = c("pink", "lightblue"),
main = "Estudio de Pastel.\n Distribución por sexos.",
labels = paste(names(table_sexo), "\n", table_sexo))
barp <- barplot(table_sexo, col = rainbow(2), border = "darkred",
main = "Gráfico de Barras por SEXO", sub = "UTB",
xlab = "SEXO", ylab = "Conteo", ylim = c(0, max(table_sexo) + 10))
text(barp, table_sexo + 2, labels = table_sexo)
table_sexo2 <- round(table(DATOS2026$SEXO) / nrow(DATOS2026) * 100)
table_sexo2
##
## Femenino Masculino
## 57 43
barp2 <- barplot(table_sexo2, col = rainbow(2), border = "darkred",
main = "Gráfico de Barras Porcentual", sub = "UTB",
xlab = "SEXO", ylab = "Porcentaje (%)", ylim = c(0, max(table_sexo2) + 10))
text(barp2, table_sexo2 + 3, labels = paste0(table_sexo2, "%"))
pie_2 <- pie(table_sexo2, col = c("pink", "lightblue"),
main = "Estudio de Pastel.\n Distribución Porcentual por Sexo.",
labels = paste(names(table_sexo2), "\n", table_sexo2, "%"))
table_3 <- table(DATOS2026$SEXO, DATOS2026$CURSO)
table_3
##
## ESTADISTICAI PROBABILIDAD
## Femenino 16 26
## Masculino 10 22
barp3 <- barplot(table_3,
main = "Gráfico de barras CURSO vs SEXO",
xlab = "CURSO", ylab = "Frecuencia",
col = c("pink", "lightblue"),
legend.text = rownames(table_3),
beside = TRUE,
ylim = c(0, max(table_3) + 5))
text(barp3, table_3 + 1, labels = table_3)
table_4 <- round(table(DATOS2026$SEXO, DATOS2026$CURSO) / nrow(DATOS2026) * 100)
table_4
##
## ESTADISTICAI PROBABILIDAD
## Femenino 22 35
## Masculino 14 30
barp4 <- barplot(table_4,
main = "Gráfico de barras CURSO vs SEXO en porcentajes",
xlab = "CURSO", ylab = "Porcentaje (%)",
col = c("pink", "lightblue"),
legend.text = rownames(table_4),
beside = TRUE,
ylim = c(0, max(table_4) + 5))
text(barp4, table_4 + 1, labels = paste0(table_4, "%"))
table_5 <- table(DATOS2026$ESTRATO, DATOS2026$CURSO)
table_5
##
## ESTADISTICAI PROBABILIDAD
## I 5 10
## II 7 18
## III 9 9
## IV 5 5
## V 0 5
barp5 <- barplot(table_5,
main = "Gráfico de barras CURSO vs ESTRATO",
xlab = "CURSO", ylab = "Frecuencia",
col = rainbow(nrow(table_5)),
legend.text = rownames(table_5),
beside = TRUE,
ylim = c(0, max(table_5) + 3))
text(barp5, table_5 + 0.5, labels = table_5)
table_6 <- table(DATOS2026$ESTRATO, DATOS2026$SEXO)
table_6
##
## Femenino Masculino
## I 8 7
## II 17 8
## III 10 8
## IV 4 6
## V 3 2
barp6 <- barplot(table_6,
main = "Gráfico de barras ESTRATO vs SEXO",
xlab = "SEXO", ylab = "Frecuencia",
col = rainbow(nrow(table_6)),
legend.text = rownames(table_6),
beside = TRUE,
ylim = c(0, max(table_6) + 3))
text(barp6, table_6 + 0.5, labels = table_6)
library(summarytools)
tabla_8 <- freq(DATOS2026$EDAD)
tabla_8
## Frequencies
## DATOS2026$EDAD
## Type: Numeric
##
## Freq % Valid % Valid Cum. % Total % Total Cum.
## ----------- ------ --------- -------------- --------- --------------
## 17 7 9.46 9.46 9.46 9.46
## 18 32 43.24 52.70 43.24 52.70
## 19 21 28.38 81.08 28.38 81.08
## 20 7 9.46 90.54 9.46 90.54
## 21 4 5.41 95.95 5.41 95.95
## 22 3 4.05 100.00 4.05 100.00
## <NA> 0 0.00 100.00
## Total 74 100.00 100.00 100.00 100.00
summary(DATOS2026$EDAD)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 17.0 18.0 18.0 18.7 19.0 22.0
boxplot(DATOS2026$EDAD, horizontal = TRUE, col = rainbow(1), main = "Boxplot de EDAD", xlab = "Años")
x <- DATOS2026$EDAD
boxplot(x, notch = TRUE, horizontal = TRUE, col = "lightblue", main = "Boxplot con Muesca para EDAD")
x <- DATOS2026$EDAD
y <- DATOS2026$SEXO
boxplot(x ~ y, horizontal = TRUE, col = c("pink", "lightblue"), main = "EDAD vs SEXO", xlab = "EDAD", ylab = "SEXO")
x <- DATOS2026$EDAD
z <- DATOS2026$ESTRATO
boxplot(x ~ z, horizontal = TRUE, col = rainbow(length(unique(z))), main = "EDAD vs ESTRATO", xlab = "EDAD", ylab = "ESTRATO")
library(ggplot2)
ggplot(data = DATOS2026, mapping = aes(y = EDAD, x = as.factor(ESTRATO), fill = SEXO)) +
geom_boxplot() +
scale_y_continuous(name = "EDAD") +
scale_x_discrete(name = "ESTRATO") +
labs(title = "Distribución de EDAD por ESTRATO y SEXO") +
theme_minimal()
summary(DATOS2026$ESTATURA)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 153.0 163.0 168.0 168.4 174.0 192.0
boxplot(DATOS2026$ESTATURA, horizontal = TRUE, col = "lightgreen", main = "Boxplot de ESTATURA", xlab = "Centímetros (cm)")
x <- DATOS2026$ESTATURA
boxplot(x, notch = TRUE, horizontal = TRUE, col = "lightgreen", main = "Boxplot con Muesca para ESTATURA")
x <- DATOS2026$ESTATURA
y <- DATOS2026$SEXO
boxplot(x ~ y, horizontal = TRUE, col = c("pink", "lightblue"), main = "ESTATURA vs SEXO", xlab = "ESTATURA (cm)", ylab = "SEXO")
x <- DATOS2026$ESTATURA
z <- DATOS2026$ESTRATO
boxplot(x ~ z, horizontal = TRUE, col = rainbow(length(unique(z))), main = "ESTATURA vs ESTRATO", xlab = "ESTATURA (cm)", ylab = "ESTRATO")
ggplot(data = DATOS2026, mapping = aes(y = ESTATURA, x = as.factor(ESTRATO), fill = SEXO)) +
geom_boxplot() +
scale_y_continuous(name = "ESTATURA (cm)") +
scale_x_discrete(name = "ESTRATO") +
labs(title = "Distribución de ESTATURA por ESTRATO y SEXO") +
theme_minimal()
library(agricolae)
h2 <- graph.freq(DATOS2026$EDAD, col = colors()[75], main = "Histograma de EDAD (Sturges)", xlab = "Edad", ylab = "Frecuencia Absoluta")
summary(h2)
## Lower Upper Main Frequency Percentage CF CPF
## 1 17.0 17.7 17.35 7 9.5 7 9.5
## 2 17.7 18.4 18.05 32 43.2 39 52.7
## 3 18.4 19.1 18.75 21 28.4 60 81.1
## 4 19.1 19.8 19.45 0 0.0 60 81.1
## 5 19.8 20.5 20.15 7 9.5 67 90.5
## 6 20.5 21.2 20.85 4 5.4 71 95.9
## 7 21.2 21.9 21.55 0 0.0 71 95.9
## 8 21.9 22.6 22.25 3 4.1 74 100.0
plot(h2, col = colors()[70], frequency = 1, main = "Polígono de Frecuencias Absolutas", xlab = "Edad", ylab = "Frecuencia Absoluta")
polygon.freq(h2, col = "red", frequency = 1, lwd = 2)
plot(h2, col = colors()[70], frequency = 2, main = "Polígono de Frecuencias Relativas", xlab = "Edad", ylab = "Frecuencia Relativa")
polygon.freq(h2, col = "blue", frequency = 2, lwd = 2)
fr_por_clase2 <- h2$counts
total_n2 <- sum(h2$counts)
fr_relativos2 <- fr_por_clase2 / total_n2
fr_porcentuales2 <- 100 * fr_relativos2
cat("Frecuencias Absolutas:\n")
## Frecuencias Absolutas:
print(fr_por_clase2)
## [1] 7 32 21 0 7 4 0 3
cat("\nFrecuencias Acumuladas Absolutas:\n")
##
## Frecuencias Acumuladas Absolutas:
print(cumsum(fr_por_clase2))
## [1] 7 39 60 60 67 71 71 74
cat("\nFrecuencias Acumuladas Relativas:\n")
##
## Frecuencias Acumuladas Relativas:
print(cumsum(fr_relativos2))
## [1] 0.09459459 0.52702703 0.81081081 0.81081081 0.90540541 0.95945946 0.95945946
## [8] 1.00000000
cat("\nFrecuencias Acumuladas Porcentuales:\n")
##
## Frecuencias Acumuladas Porcentuales:
print(cumsum(fr_porcentuales2))
## [1] 9.459459 52.702703 81.081081 81.081081 90.540541 95.945946 95.945946
## [8] 100.000000
p4 <- cumsum(fr_porcentuales2)
plot(p4, type = "b", col = "red", pch = 19, lwd = 2,
main = "Ojiva de Frecuencias Acumuladas Porcentuales",
xlab = "Clases de Edad", ylab = "Porcentaje Acumulado (%)")