Una de las mejores alternativas para aprender a hacer un estudio estadístico consiste en llevar a cabo diferentes ejemplos que lo pongan en práctica, los datos de strava en estadística Big Data funcionan a la perfección para lograr este cometido.
Por ello, en este post, te explicamos cómo los datos de strava en estadística Big Data sirven para potenciar tu desarrollo en esta rama del manejo de los macrodatos.
Ejemplo con los datos de strava en estadística Big Data
Los datos de strava en estadística Big Data funcionan para practicar cómo desarrollar una recepción, reconocimiento y análisis de los determinados datos. Por esta razón, a continuación te compartimos la lista de pasos a seguir para desarrollar este ejemplo con los datos strava en estadística Big Data:
- Primero, debes filtrar y quedarse solo con Activity.Type=”Ride”.
- Posteriormente, convertir el Activity.Date en un objeto posixct.
- Ahora, debes crear una nueva columna que sea día de la semana
- Crear una nueva columna que sea ida o vuelta al trabajo, para ello debes tener en cuenta lo siguiente:
- Tiene que ser un día de lunes a viernes.
- Ida: entre las 7 y las 9.
- Vuelta: entre las 14 y las 19.
Ahora bien, para la columna de Moving.Time, debes proceder a calcular el tiempo medio de ida, el tiempo medio de vuelta, la varianza y el boxplot de ambos.
Tener en cuenta como ayuda
- Para elegir el día de la semana usa la función de weekdays del paquete lubridate().
- Una vez vayas a parsear la fecha, debes usar el siguiente formato: “%b %d, %Y, %I:%M:%S %p”.
Ahora, te compartimos cómo se desarrolla este proceso en la inscripción de los comandos:
Sys.setlocale("LC_ALL","en_EN") strava = read.csv("data/activities_strava.csv")
str(strava)
Posteriormente, todos los datos de strava en estadística Big Data se visualizarían de la siguiente forma:
dim(strava) strava <- strava[strava$Activity.Type=='Ride', ] dim(strava)
- 95
- 77
- 92
- 77
#Lo anterior es equivalente a filtrar con dplyr: library(dplyr) strava %>% filter(Activity.Type=='Ride') -> strava
library(lubridate) strava$weekday <- as.factor(weekdays(strava$Activity.Date)) table(strava$weekday)
strava$ida_vuelta <- NA
indice_ida <- which( (hour(strava$Activity.Date)>=6 & hour(strava$Activity.Date)<=9) & !(weekdays(strava$Activity.Date) %in% c('Sunday','Saturday')) ) strava$ida_vuelta[indice_ida] <- "Ida"
indice_vuelta <- which( (hour(strava$Activity.Date)>=13 & hour(strava$Activity.Date)<=19) & !(weekdays(strava$Activity.Date) %in% c('Sunday','Saturday')) ) strava$ida_vuelta[indice_vuelta] <- "Vuelta"
table(strava$ida_vuelta)
strava$ida_vuelta <- as.factor(strava$ida_vuelta)
summary(strava[,c('ida_vuelta','weekday','Activity.Date','Moving.Time')])
# Media total que coincide con el summary mean(strava$Moving.Time) sum(strava$Moving.Time)/length(strava$Moving.Time)
1964.65217391304
1964.65217391304
# Media de Moving.Time en el viaje de ida: mean(strava$Moving.Time[strava$ida_vuelta=='Ida'], na.rm=T)/60
31.9022727272727
# Media de Moving.Time en el viaje de vuelta: strava %>% filter(ida_vuelta=='Vuelta') %>% pull(Moving.Time) %>% mean()/60
33.8059259259259
# varianza de Moving.Time en el viaje de ida: var(strava$Moving.Time[strava$ida_vuelta=='Ida'], na.rm=T)
156555.170995671
# varianza de Moving.Time en el viaje de vuelta: var(strava$Moving.Time[strava$ida_vuelta=='Vuelta'], na.rm=T)
31276509.0525253
library(ggplot2)
ggplot(strava, aes(y=Moving.Time/60, x=ida_vuelta, color=ida_vuelta))+ geom_boxplot()+ylab('Minutos')
max(strava$Moving.Time)
38641
strava[which.max(strava$Moving.Time), c('ida_vuelta','weekday','Activity.Date','Moving.Time')]
A data.frame: 1 × 4
strava_clean<-strava[strava$Moving.Time<38000,]
ggplot(strava_clean, aes(y=Moving.Time/60, x=ida_vuelta, color=ida_vuelta))+ geom_boxplot()+ylab('Minutos')
print("Varianza Ida") var(strava_clean$Moving.Time[strava_clean$ida_vuelta=='Ida'], na.rm=T) print("Varianza vuelta") var(strava_clean$Moving.Time[strava_clean$ida_vuelta=='Vuelta'], na.rm=T)
[1] “Varianza Ida”
156555.170995671
[1] “Varianza vuelta”
121280.936046512
print("Media Ida") mean(strava_clean$Moving.Time[strava_clean$ida_vuelta=='Ida'], na.rm=T)/60 print("Media vuelta") mean(strava_clean$Moving.Time[strava_clean$ida_vuelta=='Vuelta'], na.rm=T)/60
[1] “Media Ida”
31.9022727272727
[1] “Media vuelta”
19.9375
print("Tiempo mediano de ida sin limpiar:") median(strava$Moving.Time[strava$ida_vuelta=='Vuelta'], na.rm=T)/60 print("Tiempo mediano de ida limpio:") median(strava_clean$Moving.Time[strava_clean$ida_vuelta=='Vuelta'], na.rm=T)/60
[1] “Tiempo mediano de ida sin limpiar:”
20.0833333333333
[1] “Tiempo mediano de ida limpio:
20.0666666666667
En el desarrollo de este post, te has familiarizado con cómo se lleva a cabo un análisis estadístico según los datos de strava en estadística Big Data, para que según este ejemplo tengas una idea más profunda de cómo implementar estos estudios en tu procesamiento de los datos. Recuerda que cada uno de ellos requiere de una práctica constante, por eso te recomendamos el método de ensayo y error hasta conseguirlo.
Por otra parte, si quieres continuar aprendiendo y convertirte en un experto en el manejo de Big Data, desde KeepCoding te presentamos nuestro Bootcamp Full Stack Big Data, Inteligencia Artificial & Big Data. Esta formación te ayudará a tener una visión global del mundo Big Data y, en ella, explorarás de forma tanto teórica como práctica los sistemas que manejan los macrodatos. ¡Apúntate y conviértete en un data scientist profesional en menos de un año!