Introducción
En el presente taller se realizan ejercicios de análisis e interpretación de una base de datos utilizando el lenguaje de programación R, aplicando los conceptos aprendidos en la asignatura Fundamentos de Estadística y Programación. A partir del conjunto de datos correspondiente a los alquileres de bicicletas en Washington D.C., se emplean funciones estadísticas como
tapply()yaggregate(), así como herramientas gráficas como diagramas de caja, para explorar patrones de comportamiento asociados a variables temporales como la hora del día y la estación del año. El objetivo principal del ejercicio es desarrollar la capacidad de leer, transformar y visualizar datos, extrayendo conclusiones significativas que conecten los resultados cuantitativos con fenómenos observables del entorno urbano. A través de este proceso, se fortalecen tanto las habilidades técnicas en R como el razonamiento crítico frente a la información contenida en bases de datos reales.
Ejercicios
library(readr)
train1 <- read_csv("C:/Users/user/Downloads/train1.csv")
## Rows: 10886 Columns: 12
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): date_time
## dbl (11): Season, holiday, working day, weather, temp, Atemp, humidity, wind...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(train1)
train1$Season <- factor(train1$Season,
levels = c(1, 2, 3, 4),
labels = c("Primavera", "Verano", "Otono", "Invierno"))
tapply(train1$Count, train1$Season, summary)
## $Primavera
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.0 24.0 78.0 116.3 164.0 801.0
##
## $Verano
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.0 49.0 172.0 215.3 321.0 873.0
##
## $Otono
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.0 68.0 195.0 234.4 347.0 977.0
##
## $Invierno
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1 51 161 199 294 948
train1$hour <- as.numeric(format(as.POSIXct(train1$date_time, format="%d/%m/%Y %H:%M"), "%H"))
tapply(train1$Count, train1$hour, summary)
## $`0`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 2.00 23.00 41.00 55.07 75.25 283.00
##
## $`1`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 10.50 18.00 33.89 47.00 165.00
##
## $`2`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 5.00 11.00 22.59 32.00 96.00
##
## $`3`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 3.00 6.00 11.88 16.00 66.00
##
## $`4`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 3.000 5.500 6.273 9.000 28.000
##
## $`5`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 8.00 19.00 19.26 27.75 55.00
##
## $`6`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 23.75 74.50 75.12 116.25 211.00
##
## $`7`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.0 62.0 217.5 210.1 321.5 596.0
##
## $`8`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 8.0 131.5 391.0 357.2 549.2 839.0
##
## $`9`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 14.0 156.8 217.0 218.7 287.5 408.0
##
## $`10`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 17.0 102.5 149.5 173.4 220.0 539.0
##
## $`11`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 10.0 119.8 183.5 208.0 260.8 647.0
##
## $`12`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 22.0 153.8 234.5 254.1 331.2 757.0
##
## $`13`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 11.0 150.8 233.5 255.9 329.0 729.0
##
## $`14`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 12.0 143.5 212.5 241.0 314.2 678.0
##
## $`15`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 7.0 146.8 233.0 251.9 331.0 724.0
##
## $`16`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 11.0 209.5 310.0 312.1 421.0 701.0
##
## $`17`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 25.0 261.2 482.5 460.2 601.8 970.0
##
## $`18`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 23.0 224.0 418.5 422.0 556.8 977.0
##
## $`19`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 11.0 174.8 306.0 310.5 414.0 743.0
##
## $`20`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 11.0 119.8 219.0 223.1 300.0 551.0
##
## $`21`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 6.0 94.5 169.5 169.7 230.0 584.0
##
## $`22`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 9.00 77.75 129.00 131.73 174.25 502.00
##
## $`23`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 6.0 51.0 81.0 88.4 123.0 256.0
tapply(train1$Count, list(train1$Season, train1$hour), mean)
## 0 1 2 3 4 5 6
## Primavera 25.54167 17.27778 12.76812 7.983051 3.190476 9.614286 41.41667
## Verano 59.93056 35.97222 23.12500 11.500000 6.028169 19.875000 83.22222
## Otono 75.66667 45.01408 31.74648 16.056338 7.972222 24.944444 92.63889
## Invierno 59.15278 37.44444 22.43056 11.323944 7.513889 22.333333 83.22222
## 7 8 9 10 11 12 13
## Primavera 119.3472 245.1806 148.1944 93.04167 111.4306 142.8194 148.3472
## Verano 233.8611 393.8750 240.2917 193.68056 236.1528 282.4444 287.4306
## Otono 251.1528 384.3472 244.0972 218.05556 258.0972 307.5417 307.6250
## Invierno 236.0000 405.4167 242.3333 188.62500 226.2361 283.5417 280.3472
## 14 15 16 17 18 19 20
## Primavera 139.2778 143.6250 174.5417 262.6528 233.8472 159.2778 111.8333
## Verano 267.2778 282.5833 356.2778 532.2222 489.9583 364.3194 262.8056
## Otono 288.3889 299.7361 368.0833 551.7222 529.5417 408.7361 301.8333
## Invierno 268.9306 281.8056 349.3889 494.2778 434.5000 309.4861 215.8333
## 21 22 23
## Primavera 88.33333 68.2500 42.04167
## Verano 195.27778 148.0833 99.19444
## Otono 231.69444 184.0000 121.27778
## Invierno 163.56944 126.5833 91.06944
aggregate(train1$Count, list(train1$Season, train1$hour), summary)
## Group.1 Group.2 x.Min. x.1st Qu. x.Median x.Mean x.3rd Qu.
## 1 Primavera 0 2.000000 10.750000 17.000000 25.541667 35.000000
## 2 Verano 0 6.000000 29.750000 43.000000 59.930556 86.000000
## 3 Otono 0 8.000000 37.000000 63.500000 75.666667 110.500000
## 4 Invierno 0 13.000000 27.750000 46.000000 59.152778 75.250000
## 5 Primavera 1 1.000000 4.000000 7.000000 17.277778 21.250000
## 6 Verano 1 2.000000 13.000000 20.500000 35.972222 50.500000
## 7 Otono 1 4.000000 16.500000 29.000000 45.014085 73.500000
## 8 Invierno 1 4.000000 11.000000 19.500000 37.444444 62.000000
## 9 Primavera 2 1.000000 2.000000 4.000000 12.768116 15.000000
## 10 Verano 2 1.000000 6.000000 12.000000 23.125000 32.750000
## 11 Otono 2 2.000000 9.000000 15.000000 31.746479 59.000000
## 12 Invierno 2 1.000000 5.000000 10.000000 22.430556 38.750000
## 13 Primavera 3 1.000000 2.000000 3.000000 7.983051 9.500000
## 14 Verano 3 1.000000 3.250000 6.000000 11.500000 16.000000
## 15 Otono 3 1.000000 5.000000 9.000000 16.056338 30.000000
## 16 Invierno 3 1.000000 4.000000 7.000000 11.323944 13.000000
## 17 Primavera 4 1.000000 1.000000 2.000000 3.190476 4.000000
## 18 Verano 4 1.000000 3.000000 5.000000 6.028169 8.000000
## 19 Otono 4 2.000000 5.000000 7.000000 7.972222 10.000000
## 20 Invierno 4 1.000000 5.000000 7.000000 7.513889 10.000000
## 21 Primavera 5 1.000000 3.000000 7.000000 9.614286 16.750000
## 22 Verano 5 2.000000 12.000000 20.500000 19.875000 28.000000
## 23 Otono 5 1.000000 14.750000 24.500000 24.944444 36.250000
## 24 Invierno 5 2.000000 10.000000 23.000000 22.333333 32.000000
## 25 Primavera 6 1.000000 8.500000 33.500000 41.416667 74.000000
## 26 Verano 6 4.000000 33.000000 96.500000 83.222222 126.000000
## 27 Otono 6 3.000000 31.750000 98.500000 92.638889 137.000000
## 28 Invierno 6 4.000000 22.750000 92.500000 83.222222 124.000000
## 29 Primavera 7 1.000000 23.000000 94.500000 119.347222 216.250000
## 30 Verano 7 10.000000 85.500000 266.000000 233.861111 351.500000
## 31 Otono 7 25.000000 66.750000 270.000000 251.152778 400.250000
## 32 Invierno 7 11.000000 66.750000 256.500000 236.000000 358.250000
## 33 Primavera 8 8.000000 65.500000 215.000000 245.180556 441.750000
## 34 Verano 8 54.000000 172.750000 439.000000 393.875000 618.500000
## 35 Otono 8 70.000000 149.500000 403.500000 384.347222 590.000000
## 36 Invierno 8 55.000000 140.000000 412.000000 405.416667 650.750000
## 37 Primavera 9 14.000000 93.500000 133.500000 148.194444 225.500000
## 38 Verano 9 40.000000 178.750000 227.500000 240.291667 315.250000
## 39 Otono 9 69.000000 189.000000 228.000000 244.097222 296.000000
## 40 Invierno 9 64.000000 182.250000 223.000000 242.333333 328.000000
## 41 Primavera 10 17.000000 54.750000 80.500000 93.041667 125.250000
## 42 Verano 10 28.000000 126.500000 167.500000 193.680556 244.500000
## 43 Otono 10 29.000000 138.000000 207.000000 218.055556 273.250000
## 44 Invierno 10 33.000000 129.000000 170.000000 188.625000 230.500000
## 45 Primavera 11 11.000000 56.750000 94.000000 111.430556 150.750000
## 46 Verano 11 19.000000 140.750000 213.000000 236.152778 273.750000
## 47 Otono 11 10.000000 165.000000 232.500000 258.097222 349.000000
## 48 Invierno 11 32.000000 142.000000 200.000000 226.236111 295.000000
## 49 Primavera 12 34.000000 77.000000 115.500000 142.819444 193.500000
## 50 Verano 12 38.000000 186.250000 262.000000 282.444444 336.250000
## 51 Otono 12 22.000000 213.750000 284.500000 307.541667 376.250000
## 52 Invierno 12 33.000000 187.000000 246.000000 283.541667 359.750000
## 53 Primavera 13 12.000000 74.500000 119.000000 148.347222 193.500000
## 54 Verano 13 42.000000 186.750000 264.000000 287.430556 367.000000
## 55 Otono 13 11.000000 204.750000 289.500000 307.625000 374.750000
## 56 Invierno 13 33.000000 180.750000 261.000000 280.347222 329.000000
## 57 Primavera 14 12.000000 68.500000 106.000000 139.277778 175.750000
## 58 Verano 14 15.000000 157.750000 239.500000 267.277778 337.750000
## 59 Otono 14 24.000000 188.250000 262.000000 288.388889 359.500000
## 60 Invierno 14 25.000000 177.250000 241.000000 268.930556 344.250000
## 61 Primavera 15 7.000000 68.750000 110.000000 143.625000 188.750000
## 62 Verano 15 25.000000 163.750000 259.000000 282.583333 358.500000
## 63 Otono 15 58.000000 192.500000 288.500000 299.736111 377.000000
## 64 Invierno 15 30.000000 188.750000 269.000000 281.805556 346.250000
## 65 Primavera 16 11.000000 83.000000 133.500000 174.541667 254.500000
## 66 Verano 16 60.000000 268.500000 353.500000 356.277778 442.000000
## 67 Otono 16 106.000000 285.000000 393.500000 368.083333 450.250000
## 68 Invierno 16 31.000000 271.500000 341.500000 349.388889 434.250000
## 69 Primavera 17 25.000000 152.750000 211.500000 262.652778 389.250000
## 70 Verano 17 148.000000 363.500000 554.000000 532.222222 686.750000
## 71 Otono 17 113.000000 410.000000 521.500000 551.722222 742.500000
## 72 Invierno 17 52.000000 330.000000 498.500000 494.277778 611.500000
## 73 Primavera 18 23.000000 143.000000 174.500000 233.847222 363.000000
## 74 Verano 18 62.000000 331.000000 504.000000 489.958333 642.250000
## 75 Otono 18 68.000000 368.250000 505.500000 529.541667 685.750000
## 76 Invierno 18 51.000000 297.000000 444.500000 434.500000 543.000000
## 77 Primavera 19 11.000000 92.500000 115.000000 159.277778 230.500000
## 78 Verano 19 45.000000 273.750000 383.500000 364.319444 481.000000
## 79 Otono 19 52.000000 305.750000 383.500000 408.736111 498.500000
## 80 Invierno 19 33.000000 223.000000 303.000000 309.486111 373.250000
## 81 Primavera 20 11.000000 63.000000 88.000000 111.833333 160.000000
## 82 Verano 20 39.000000 205.250000 276.000000 262.805556 336.250000
## 83 Otono 20 82.000000 228.250000 289.500000 301.833333 386.750000
## 84 Invierno 20 26.000000 165.000000 204.500000 215.833333 257.750000
## 85 Primavera 21 7.000000 50.250000 71.000000 88.333333 123.750000
## 86 Verano 21 34.000000 147.500000 204.500000 195.277778 246.250000
## 87 Otono 21 38.000000 180.000000 220.000000 231.694444 286.750000
## 88 Invierno 21 6.000000 121.750000 164.000000 163.569444 201.250000
## 89 Primavera 22 9.000000 36.750000 52.500000 68.250000 101.500000
## 90 Verano 22 23.000000 111.750000 153.000000 148.083333 182.750000
## 91 Otono 22 29.000000 149.250000 179.000000 184.000000 218.250000
## 92 Invierno 22 13.000000 94.250000 116.500000 126.583333 153.250000
## 93 Primavera 23 6.000000 22.000000 34.000000 42.041667 59.250000
## 94 Verano 23 26.000000 61.000000 92.000000 99.194444 120.250000
## 95 Otono 23 20.000000 94.500000 127.000000 121.277778 148.500000
## 96 Invierno 23 16.000000 60.000000 83.000000 91.069444 111.500000
## x.Max.
## 1 91.000000
## 2 206.000000
## 3 180.000000
## 4 283.000000
## 5 93.000000
## 6 123.000000
## 7 124.000000
## 8 165.000000
## 9 80.000000
## 10 93.000000
## 11 96.000000
## 12 78.000000
## 13 66.000000
## 14 50.000000
## 15 48.000000
## 16 56.000000
## 17 22.000000
## 18 17.000000
## 19 28.000000
## 20 16.000000
## 21 29.000000
## 22 45.000000
## 23 55.000000
## 24 49.000000
## 25 109.000000
## 26 184.000000
## 27 211.000000
## 28 179.000000
## 29 344.000000
## 30 569.000000
## 31 596.000000
## 32 515.000000
## 33 594.000000
## 34 710.000000
## 35 770.000000
## 36 839.000000
## 37 314.000000
## 38 408.000000
## 39 396.000000
## 40 400.000000
## 41 224.000000
## 42 493.000000
## 43 495.000000
## 44 539.000000
## 45 324.000000
## 46 575.000000
## 47 585.000000
## 48 647.000000
## 49 410.000000
## 50 684.000000
## 51 757.000000
## 52 743.000000
## 53 464.000000
## 54 686.000000
## 55 729.000000
## 56 710.000000
## 57 512.000000
## 58 678.000000
## 59 647.000000
## 60 654.000000
## 61 487.000000
## 62 702.000000
## 63 696.000000
## 64 724.000000
## 65 509.000000
## 66 662.000000
## 67 701.000000
## 68 659.000000
## 69 644.000000
## 70 869.000000
## 71 970.000000
## 72 948.000000
## 73 712.000000
## 74 831.000000
## 75 977.000000
## 76 887.000000
## 77 446.000000
## 78 645.000000
## 79 686.000000
## 80 743.000000
## 81 302.000000
## 82 478.000000
## 83 551.000000
## 84 497.000000
## 85 233.000000
## 86 339.000000
## 87 584.000000
## 88 321.000000
## 89 191.000000
## 90 291.000000
## 91 502.000000
## 92 264.000000
## 93 119.000000
## 94 256.000000
## 95 248.000000
## 96 220.000000
train1_clean <- train1[complete.cases(train1[, c("Count", "Season", "hour")]), ]
boxplot(Count ~ Season,
data = train1,
main = "Cantidad de Bicicletas Rentadas por Estacion",
xlab = "Estacion del Ano",
ylab = "Total de Bicicletas Rentadas",
col = c("springgreen", "gold", "orange", "lightblue"))
¿Qué estación muestra mayor número de bicicleats rentadas? ¿Por qué ocurre?
-Podemos observar que durante el verano y otoño se presenta un mayor número de alquileres de bicicletas, lo cual puede estar relacionado con mejores condiciones climáticas y mayor actividad turística. En contraste, la primavera e invierno tienen una mediana significativamente más baja, lo que sugiere menor demanda posiblemente por temperaturas aún frías o lluvias. Aun así, hay varios valores atípicos, lo que indica que en días puntuales, incluso en invierno puede tener picos de uso (quizá por eventos o condiciones climáticas favorables).
-Las estadísticas descriptivas generadas por tapply()
permiten observar cómo varía el número total de bicicletas rentadas
(count) según la hora del día y la
estación del año. Al analizar la tabla:
Este análisis pone en evidencia patrones de movilidad urbana asociados a la temporalidad, y es útil para optimizar la disponibilidad de bicicletas según la estación y la hora del día.
El análisis de los promedios de bicicletas rentadas por hora y
estación, obtenido mediante la función tapply(), permite
identificar patrones claros de comportamiento:
Patrón horario: Durante todas las estaciones, el número de bicicletas alquiladas es bajo entre la medianoche y las primeras horas de la mañana (0:00–5:00). A partir de las 6:00 a.m., el promedio comienza a subir de forma constante, alcanzando sus máximos entre las 8:00 y las 18:00, lo cual coincide con las jornadas laborales y escolares.
Estaciones con mayor actividad:
Verano destaca como la estación con los promedios más altos de uso durante casi todo el día, alcanzando más de 500 alquileres por hora en algunos momentos (ej. 17:00).
Otoño sigue un patrón similar, con cifras también elevadas y consistentes.
Invierno, aunque con valores más moderados en la madrugada y noche, presenta también picos de uso importantes entre las 11:00 y 18:00 (hasta 300 bicicletas por hora).
Primavera muestra una demanda más baja en comparación con otras estaciones, especialmente durante las horas de la mañana. Sin embargo, sigue un patrón horario similar, reflejando que las dinámicas urbanas mantienen cierta estabilidad a lo largo del año.
Estos resultados reflejan cómo factores como el clima, la hora del día y los hábitos urbanos influyen directamente en el uso del sistema de bicicletas. Esta información puede ser clave para ajustar la disponibilidad de bicicletas en estaciones clave, planear mantenimientos y desarrollar políticas de movilidad más efectivas en la ciudad.