El objetivo de este estudio es analizar los niveles de sonido en diferentes edificios del campus universitario, identificando patrones espaciales en la distribución del ruido. ## Pregunta de investigación
¿Existen diferencias significativas en los niveles de sonido entre los distintos edificios del campus universitario?
## [1] "ObjectID" "Session_Name" "Timestamp" "Latitude" "Longitude"
## [6] "Valor"
## Length Class Mode
## 0 NULL NULL
## Length Class Mode
## 0 NULL NULL
# 1. Quitar todos los puntos de las coordenadas
ruido$Latitude <- gsub("\\.", "", ruido$Latitude)
ruido$Longitude <- gsub("\\.", "", ruido$Longitude)
# 2. Insertar el punto en la posición correcta
ruido$Latitude_ok <- as.numeric(sub("(\\d{1})(\\d+)", "\\1.\\2", ruido$Latitude))
ruido$Longitude_ok <- as.numeric(sub("(-\\d{2})(\\d+)", "\\1.\\2", ruido$Longitude))
# Verificar que caigan en el rango correcto
summary(ruido[, c("Latitude_ok", "Longitude_ok")])
## Latitude_ok Longitude_ok
## Min. :3.346 Min. :-76.53
## 1st Qu.:3.347 1st Qu.:-76.53
## Median :3.347 Median :-76.53
## Mean :3.347 Mean :-76.53
## 3rd Qu.:3.348 3rd Qu.:-76.53
## Max. :3.349 Max. :-76.53
# Corregir los valores de ruido
ruido$Valor=as.numeric(ruido$Valor)
ruido$Valor_ok=ruido$Valor/10^(nchar(ruido$Valor)-2)
Se realizó el siguiente código para poder hacer una limpia de la base de datos tomados del nivel de sonido en el campus. Esta preparación fue necesaria para hacer una análisis estadístico correcto
# Mapa interactivo de puntos de medición
leaflet(ruido) %>%
addTiles() %>%
addCircleMarkers(
lng = ~Longitude_ok,
lat = ~Latitude_ok,
label = ~paste("Sonido:", Valor_ok, "dB"),
color = ~colorNumeric("YlOrRd", Valor_ok)(Valor_ok),
fillOpacity = 0.7,
radius = 6
) %>%
addLegend(
position = "bottomright",
pal = colorNumeric("YlOrRd", ruido$Valor_ok),
values = ruido$Valor_ok,
title = "Nivel de sonido (dB)"
)
Se realizó un transecto que abarque los distintos edificios del campus universitario de la Pontificia Universidad Javeriana Cali, en un día viernes de 10 a 11am. El trayecto se desarrolló en el siguiente orden: Cedro Rosado, Samán, Almendros, Palmas, Central, Guayacanes, Lago, Acacias, Biblioteca. La toma de datos se hizo con la aplicación “Air Casting”, usando los dos teléfonos celulares de los investigadores (ambos realizaron simultáneamente el mismo camino).
Finalmente, se determinó los centroides de las coordenadas de cada edificio muestrado. Con ello, se pudo determinar qué datos corresponden a su respectivo edificio. Esto permitió la descarga de una base de datos, añadiendo la variable “edificio”, para posteriormente facilitar el análisis estadístico y responder a la pregunta de investigación planteada.
# PREPARACIÓN CORRECTA DE DATOS - USAR el data.frame sonido_edificios
cat("Estructura de sonido_edificios:\n")
## Estructura de sonido_edificios:
## tibble [670 × 13] (S3: tbl_df/tbl/data.frame)
## $ ObjectID : num [1:670] 51 52 53 54 55 56 57 58 59 60 ...
## $ Session_Name: chr [1:670] "BioestadÃstica" "BioestadÃstica" "BioestadÃstica" "BioestadÃstica" ...
## $ Integrante : chr [1:670] "Juan Camilo Patiño" "Juan Camilo Patiño" "Juan Camilo Patiño" "Juan Camilo Patiño" ...
## $ Timestamp : chr [1:670] "2025-08-15T10:21:24.000" "2025-08-15T10:21:25.000" "2025-08-15T10:21:26.000" "2025-08-15T10:21:27.000" ...
## $ Latitude : chr [1:670] "3345645516" "3345659898" "3345669182" "3345681127" ...
## $ Longitude : chr [1:670] "-76533385878" "-76533384085" "-76533391923" "-76533391617" ...
## $ Valor : num [1:670] 55295986 57910328 6110987 61687874 57740334 ...
## $ Latitude_ok : num [1:670] 3.35 3.35 3.35 3.35 3.35 ...
## $ Longitude_ok: num [1:670] -76.5 -76.5 -76.5 -76.5 -76.5 ...
## $ Valor_ok : num [1:670] 55.3 57.9 61.1 61.7 57.7 ...
## $ edificio : chr [1:670] "cedro_rosado" "cedro_rosado" "cedro_rosado" "cedro_rosado" ...
## $ lat : num [1:670] 3.35 3.35 3.35 3.35 3.35 ...
## $ long : num [1:670] -76.5 -76.5 -76.5 -76.5 -76.5 ...
# Crear data.frame para análisis
datos_ok <- data.frame(
sonido = sonido_edificios$Valor_ok,
edificio = sonido_edificios$edificio
)
cat("Resumen de datos para análisis:\n")
## Resumen de datos para análisis:
## 'data.frame': 670 obs. of 2 variables:
## $ sonido : num 55.3 57.9 61.1 61.7 57.7 ...
## $ edificio: chr "cedro_rosado" "cedro_rosado" "cedro_rosado" "cedro_rosado" ...
## === ESTADÍSTICAS DESCRIPTIVAS ===
acacias (N=123) |
almendros (N=30) |
biblioteca (N=60) |
cedro_rosado (N=77) |
central (N=58) |
guayacanes (N=66) |
lago (N=86) |
palmas (N=112) |
saman (N=58) |
Overall (N=670) |
|
---|---|---|---|---|---|---|---|---|---|---|
sonido | ||||||||||
Mean (SD) | 65.2 (4.81) | 72.4 (5.80) | 69.1 (5.80) | 63.2 (4.26) | 68.3 (4.67) | 65.3 (7.31) | 67.5 (5.50) | 62.4 (4.77) | 72.6 (4.15) | 66.4 (6.09) |
Median [Min, Max] | 66.0 [54.7, 77.0] | 74.0 [57.4, 80.0] | 68.0 [57.6, 80.0] | 64.0 [55.2, 73.0] | 67.3 [59.2, 78.0] | 63.1 [55.9, 81.0] | 67.3 [56.0, 79.0] | 64.0 [52.1, 73.0] | 73.0 [62.8, 79.0] | 66.2 [52.1, 81.0] |
# Visualización
ggplot(datos_ok, aes(x = edificio, y = sonido, fill = edificio)) +
geom_boxplot() + # Solo caja, sin puntos
theme_minimal() +
scale_fill_brewer(palette = "Set3") +
labs(x = "Edificio", y = "Nivel de sonido (dB)") +
theme(axis.text.x = element_text(angle = 45, hjust = 1),
legend.position = "none")
Tanto la tabla descriptiva como el diagrama de cajas y bigotes evidencia que los edificios que aparentemente presentaron un mayor ruido, son los edificios de “Samán” y “Almendros”. En contraste, los edficios “Palmas” y “Cedro Rosado” son los que menor ruido hubo en el momento de la recolección de datos.
## === MODELO LINEAL ===
##
## Call:
## lm(formula = sonido ~ edificio, data = datos_ok)
##
## Residuals:
## Min 1Q Median 3Q Max
## -15.0095 -4.4122 0.6662 3.8265 15.6629
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 65.1643 0.4701 138.625 < 2e-16 ***
## edificioalmendros 7.1971 1.0616 6.780 2.67e-11 ***
## edificiobiblioteca 3.9278 0.8210 4.784 2.12e-06 ***
## edificiocedro_rosado -1.9908 0.7576 -2.628 0.008794 **
## edificiocentral 3.1640 0.8304 3.810 0.000152 ***
## edificioguayacanes 0.1728 0.7955 0.217 0.828083
## edificiolago 2.3383 0.7328 3.191 0.001486 **
## edificiopalmas -2.7250 0.6809 -4.002 6.99e-05 ***
## edificiosaman 7.4266 0.8304 8.943 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.213 on 661 degrees of freedom
## Multiple R-squared: 0.2765, Adjusted R-squared: 0.2677
## F-statistic: 31.57 on 8 and 661 DF, p-value: < 2.2e-16
##
## === PRUEBA LSD ===
## $statistics
## MSerror Df Mean CV
## 27.17936 661 66.38797 7.852904
##
## $parameters
## test p.ajusted name.t ntr alpha
## Fisher-LSD none edificio 9 0.05
##
## $means
## sonido std r se LCL UCL Min Max
## acacias 65.16433 4.805193 123 0.4700749 64.24131 66.08735 54.67034 77
## almendros 72.36146 5.804936 30 0.9518292 70.49248 74.23043 57.35198 80
## biblioteca 69.09208 5.801873 60 0.6730449 67.77052 70.41364 57.59580 80
## cedro_rosado 63.17353 4.264882 77 0.5941202 62.00694 64.34012 55.18698 73
## central 68.32836 4.672310 58 0.6845508 66.98420 69.67251 59.22809 78
## guayacanes 65.33714 7.309716 66 0.6417231 64.07708 66.59720 55.93562 81
## lago 67.50259 5.499737 86 0.5621736 66.39873 68.60645 56.04396 79
## palmas 62.43928 4.774661 112 0.4926184 61.47200 63.40657 52.05883 73
## saman 72.59095 4.154944 58 0.6845508 71.24680 73.93511 62.84004 79
## Q25 Q50 Q75
## acacias 61.02002 66.00000 69.00000
## almendros 68.50000 74.00000 77.00000
## biblioteca 64.00000 68.00000 74.00000
## cedro_rosado 59.09010 64.00000 66.00000
## central 64.75209 67.32687 72.50000
## guayacanes 59.38501 63.08068 69.92878
## lago 64.00000 67.27006 71.00000
## palmas 57.65175 64.00000 66.00000
## saman 69.96290 73.00000 76.00000
##
## $comparison
## NULL
##
## $groups
## sonido groups
## saman 72.59095 a
## almendros 72.36146 a
## biblioteca 69.09208 b
## central 68.32836 b
## lago 67.50259 b
## guayacanes 65.33714 c
## acacias 65.16433 c
## cedro_rosado 63.17353 d
## palmas 62.43928 d
##
## attr(,"class")
## [1] "group"
# Gráfico de grupos estadísticos
bar.group(compara$groups,
ylim = c(0, 90),
las = 2,
cex.names = 0.8,
main = "Comparación de medias de niveles de sonido",
ylab = "Nivel de sonido (dB)")
El modelo lineal planteado corrobora que efectivamente existen diferencias significativas del nivel de sonido entre los edificios. No obstante, no se vislumbra bien todas las diferencias entre los edificios, ya que solamente toma uno de referencia. Por lo tanto, se aplicó una prueba LSD para ampliar el análisis. Se evidenciaron cuatro grupos distintos: todos los edficios perteneciente a cada grupo muestra un nivel de sonido equivalente.
Sin embargo, es necesario señalar que la variabilidad del sonido solamente abarca un 28%, lo que indica que deben haber otros factores, además de los lugares, que determinan el nivel del sonido.
El análisis estadístico mediante la prueba LSD de Fisher reveló la existencia de diferencias estadísticamente significativas (p < 0.05) en los niveles de sonido entre los distintos edificios del campus universitario. No todos los espacios presentan las mismas condiciones acústicas. Por consiguiente, del campus universitario, en el horario que se recolectaron los datos, se puede determinar que los edificios de “Samán” y “Almendros” son los lugares con mayor ruido, en contraste a los edificios “Palmas” y “Cedro Rosado”.
Dicho esto, futuros estudios deberían abarcar una muestra mayor y considerar otros factores que podrían tener un mayor peso, estadísticamente significativo, en el nivel de ruido de los distintos edificios del campus.