1 Crear un conjunto de columnas nuevas: dÃa, mes, año, hora y minutos
data <- data %>%
mutate(datetime = ymd(dteday),
dia = day(datetime),
mes = month(datetime),
año = year(datetime),
hora = hr,
minutos = 0)
head(data)
## # A tibble: 6 × 23
## instant dteday season yr mnth hr holiday weekday workingday
## <dbl> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1 2011-01-01 1 0 1 0 0 6 0
## 2 2 2011-01-01 1 0 1 1 0 6 0
## 3 3 2011-01-01 1 0 1 2 0 6 0
## 4 4 2011-01-01 1 0 1 3 0 6 0
## 5 5 2011-01-01 1 0 1 4 0 6 0
## 6 6 2011-01-01 1 0 1 5 0 6 0
## # ℹ 14 more variables: weathersit <dbl>, temp <dbl>, atemp <dbl>, hum <dbl>,
## # windspeed <dbl>, casual <dbl>, registered <dbl>, cnt <dbl>,
## # datetime <date>, dia <int>, mes <dbl>, año <dbl>, hora <dbl>, minutos <dbl>
2 ¿Qué mes es el que tiene la mayor demanda?
# Demanda por mes
demanda_mensual <- data %>%
group_by(mes) %>%
summarise(demanda_total = sum(cnt))
# Tabla de demanda por mes
demanda_mensual
## # A tibble: 12 × 2
## mes demanda_total
## <dbl> <dbl>
## 1 1 134933
## 2 2 151352
## 3 3 228920
## 4 4 269094
## 5 5 331686
## 6 6 346342
## 7 7 344948
## 8 8 351194
## 9 9 345991
## 10 10 322352
## 11 11 254831
## 12 12 211036
# Gráfica de demanda por mes
ggplot(demanda_mensual, aes(x = mes, y = demanda_total)) +
geom_bar(stat = "identity") +
labs(title = "Demanda Total por Mes", x = "Mes", y = "Demanda Total")
3 ¿Qué rango de hora es la de mayor demanda?
# Demanda por hora
demanda_horaria <- data %>%
group_by(hora) %>%
summarise(demanda_total = sum(cnt))
# Tabla de demanda por hora
demanda_horaria
## # A tibble: 24 × 2
## hora demanda_total
## <dbl> <dbl>
## 1 0 39130
## 2 1 24164
## 3 2 16352
## 4 3 8174
## 5 4 4428
## 6 5 14261
## 7 6 55132
## 8 7 154171
## 9 8 261001
## 10 9 159438
## # ℹ 14 more rows
# Gráfica de demanda por hora
ggplot(demanda_horaria, aes(x = hora, y = demanda_total)) +
geom_bar(stat = "identity") +
labs(title = "Demanda Total por Hora", x = "Hora", y = "Demanda Total")
4 ¿Qué temporada es la más alta?
# Demanda por temporada
demanda_temporada <- data %>%
group_by(season) %>%
summarise(demanda_total = sum(cnt))
# Tabla de demanda por temporada
demanda_temporada
## # A tibble: 4 × 2
## season demanda_total
## <dbl> <dbl>
## 1 1 471348
## 2 2 918589
## 3 3 1061129
## 4 4 841613
La temporada 3 es la mas alta
5 ¿A qué temperatura disminuye la demanda?
# Gráfica de temperatura vs demanda
ggplot(data, aes(x = temp, y = cnt)) +
geom_point() +
geom_smooth(method = "loess") +
labs(title = "Temperatura vs Demanda", x = "Temperatura", y = "Demanda")
## `geom_smooth()` using formula = 'y ~ x'
6 ¿A qué humedad disminuye la demanda?
# Gráfica de humedad vs demanda
ggplot(data, aes(x = hum, y = cnt)) +
geom_point() +
geom_smooth(method = "loess") +
labs(title = "Humedad vs Demanda", x = "Humedad", y = "Demanda")
## `geom_smooth()` using formula = 'y ~ x'
Mientras mas se acerca a 1 menor es la demanda
7 ¿Qué condiciones climáticas serÃan ideales para nuestra demanda?
# Gráfica de densidad bivariable de temperatura y humedad vs demanda
ggplot(data, aes(x = temp, y = hum, color = cnt)) +
geom_point(alpha = 0.5) +
geom_density_2d() +
labs(title = "Temperatura y Humedad vs Demanda", x = "Temperatura", y = "Humedad")
## Warning: The following aesthetics were dropped during statistical transformation:
## colour.
## ℹ This can happen when ggplot fails to infer the correct grouping structure in
## the data.
## ℹ Did you forget to specify a `group` aesthetic or to convert a numerical
## variable into a factor?
8 Muestre una gráfica de la densidad de rentas
# Gráfica de densidad de rentas
ggplot(data, aes(x = cnt)) +
geom_density() +
labs(title = "Densidad de Rentas", x = "Cantidad", y = "Densidad")
9 ¿En promedio, cuántas personas que rentan bicicletas
están registradas?
# Promedio de registrados
promedio_registrados <- mean(data$registered)
promedio_registrados
## [1] 153.7869
10 Determine la mediana de personas que rentan bicicletas y no están registradas
# Mediana de no registrados (casual)
mediana_casual <- median(data$casual)
mediana_casual
## [1] 17
11 Determine la renta total y la renta promedio por cada tipo de estación
# Total y promedio de rentas
renta_total <- sum(data$cnt)
renta_promedio <- mean(data$cnt)
renta_total
## [1] 3292679
renta_promedio
## [1] 189.4631
12 Determine y muestre una gráfica de barras de la cantidad de rentas por tipo de temporada
# Gráfica de rentas por temporada
ggplot(demanda_temporada, aes(x = season, y = demanda_total)) +
geom_bar(stat = "identity") +
labs(title = "Total de Rentas por Temporada", x = "Temporada", y = "Demanda Total")
13 Muestre una gráfica de la densidad por hora
# Gráfica de densidad por hora
ggplot(data, aes(x = hora)) +
geom_density() +
labs(title = "Densidad de Rentas por Hora", x = "Hora", y = "Densidad")
14 Muestre una gráfica de barras por dÃa del mes
# Demanda por dÃa del mes
demanda_diaria <- data %>%
group_by(dia) %>%
summarise(demanda_total = sum(cnt))
# Gráfica de demanda por dÃa del mes
ggplot(demanda_diaria, aes(x = dia, y = demanda_total)) +
geom_bar(stat = "identity") +
labs(title = "Total de Rentas por DÃa del Mes", x = "DÃa", y = "Demanda Total")
15 Muestre una serie temporal de la cantidad de alquileres
# Crear una serie temporal de las rentas
data$datetime <- ymd(data$dteday)
serie_temporal <- data %>%
group_by(datetime) %>%
summarise(demanda_total = sum(cnt))
# Gráfica de la serie temporal
ggplot(serie_temporal, aes(x = datetime, y = demanda_total)) +
geom_line() +
labs(title = "Serie Temporal de Rentas", x = "Fecha", y = "Demanda Total")
16
# Gráfica de puntos de temperatura vs humedad
ggplot(data, aes(x = temp, y = hum)) +
geom_point(alpha = 0.5) +
labs(title = "Temperatura vs Humedad", x = "Temperatura", y = "Humedad")