I am trying to remove docked_bike from the results table with the ff:
library(dplyr)
a_v2 <- a_v1[!a_v1$rideable_type == "docked_bike" | a_v1$ride_length<0,]
a_v2 %>% group_by(member_casual) %>%
         summarise(number_of_rides = n(),
                   average_duration = mean(ride_length))
a_v2 %>% group_by(member_casual, rideable_type) %>%
         summarise(number_of_rides = n())
Output:
| member_casual | rideable_type | number of rides | 
|---|---|---|
| casual | classic_bike | 1132892 | 
| casual | docked_bike | 5 | 
| casual | electric_bike | 1162202 | 
| member | classic_bike | 1922749 | 
| member | electric bike | 1456488 | 
What change on the code should I do so that I can remove the docked_bike?
Suggested Answer:
a_v2 <- a_v1 [a_v1$rideable_type != "docked_bike" & a_v1$ride_length<0,]
Updated Table:
| member_casual | rideable_type | number of rides | 
|---|---|---|
| casual | classic_bike | 24 | 
| casual | electric_bike | 37 | 
| member | classic_bike | 51 | 
| member | electric bike | 32 | 
From 1 million plus rides to double digits, I do not think that is the correct result.
Follow up question:
Is there a code to remove the docked_bike from the original table?
| member_casual | rideable_type | number of rides | 
|---|---|---|
| casual | classic_bike | 1132892 | 
| casual | docked_bike | 5 | 
| casual | electric_bike | 1162202 | 
| member | classic_bike | 1922749 | 
| member | electric bike | 1456488 | 
Updated code and table:
a_v2 <- a_v1[a_v1$rideable_type != "docked_bike" | a_v1$ride_length<0,]
a_v2 %>% group_by(member_casual) %>%
     summarise(number_of_rides = n(), average_duration = 
     mean(ride_length))
a_v2 %>% group_by(member_casual, rideable_type) %>%
     summarise(number_of_rides = n()) %>%
     filter( rideable_type != "docked_bike")
| member_casual | rideable_type | number of rides | 
|---|---|---|
| casual | classic_bike | 1132892 | 
| casual | electric_bike | 1162202 | 
| member | classic_bike | 1922749 | 
| member | electric bike | 1456488 |