Function to get data manipulated
seasonweekdata<- function(data1,coordinates=coor){
data1<-data1 %>% select("StartStation.Id","EndStation.Id","Start.Date")
###merge coordinate
#########################################################################
a<- coor
colnames(a)<- c("StartStation.Id","s.lat","s.lon")
x<-join(bikedata,a)
aa<- coor
colnames(aa)<- c("EndStation.Id","e.lat","e.lon")
#a<-setnames(coor,old=c("id","lat","long"),new=c("EndStation.Id","e.lat","e.lon"))
#aa<-setnames(coor,old=c("id","lat","long"),new=c("StartStation.Id","s.lat","s.lon"))
z<-join(x,aa)
z<- na.omit(z)
x<- count(z,vars = c("StartStation.Id","EndStation.Id"))
data1<- join(z,x)
#################weekdays############################################################
data1$weekdays<-weekdays(
strptime(data1$Start.Date,format="%d/%m/%Y %H:%M",tz="UTC")
)
data1$season<-Season(data2=data1)
########################################seasons
return(data1)
##########same start and end stations #########################################
#attach(bikedata)
# bikedata$samestation<- rep(0,nrow(bikedata))
#head(bikedata)
#bikedata$samestation[which((StartStation.Id==EndStation.Id))]<- bikedata$freq[which((StartStation.Id==EndStation.Id))]
str(data1)
}
Function for plots
fullplot<- function(data,type="nothing", source="google",maptype="roadmap",zoom=11
){
attach(data)
map<- get_map(location = c(lon = mean(s.lon),lat = mean(s.lat)),
source=source,maptype=maptype,zoom = zoom)
plot<-ggmap(map)+
geom_segment(data=data,aes(x=s.lon,y=s.lat,xend=e.lon, yend=e.lat,alpha=freq),
colour= "black",size=0.00001)+
scale_alpha_continuous(range = c(0, 0.1))+
# xlim(range(s.lon))+
# ylim(range(s.lat))+
#scale_color_gradient(low="grey90",high="black")+
geom_point(data=data,aes(x=s.lon,y=s.lat),size=0.001,alpha=0.3)
if (type == "weekdays"){
plot<- plot+ facet_wrap(~ weekdays)
}
else if ( type == "season"){
plot<- plot+ facet_wrap(~ season)
}
else{
plot <- plot
}
plot
}
#ggsave(filename = "testplot.pdf",plot =fullplot(data=seasonweekdata(data1 = bikedata),zoom = 12),device = "pdf",
# width = 11, height = 11)
fullplot(data=seasonweekdata(data1 = bikedata),zoom = 11)
## Joining by: StartStation.Id
## Joining by: EndStation.Id
## Joining by: EndStation.Id, StartStation.Id
## Map from URL : http://maps.googleapis.com/maps/api/staticmap?center=51.507796,-0.130519&zoom=11&size=640x640&scale=2&maptype=roadmap&language=en-EN&sensor=false

fullplot(data=seasonweekdata(data1=bikedata),type = "weekdays")
## Joining by: StartStation.Id
## Joining by: EndStation.Id
## Joining by: EndStation.Id, StartStation.Id
## The following objects are masked from data (pos = 3):
##
## Bike Id, Duration, e.lat, e.lon, End.Date, EndStation Name,
## EndStation.Id, freq, Rental Id, s.lat, s.lon, season,
## Start.Date, StartStation Name, StartStation.Id, weekdays
## Map from URL : http://maps.googleapis.com/maps/api/staticmap?center=51.507796,-0.130519&zoom=11&size=640x640&scale=2&maptype=roadmap&language=en-EN&sensor=false

fullplot(data=seasonweekdata(data1=bikedata),type = "season")
## Joining by: StartStation.Id
## Joining by: EndStation.Id
## Joining by: EndStation.Id, StartStation.Id
## The following objects are masked from data (pos = 3):
##
## Bike Id, Duration, e.lat, e.lon, End.Date, EndStation Name,
## EndStation.Id, freq, Rental Id, s.lat, s.lon, season,
## Start.Date, StartStation Name, StartStation.Id, weekdays
## The following objects are masked from data (pos = 4):
##
## Bike Id, Duration, e.lat, e.lon, End.Date, EndStation Name,
## EndStation.Id, freq, Rental Id, s.lat, s.lon, season,
## Start.Date, StartStation Name, StartStation.Id, weekdays
## Map from URL : http://maps.googleapis.com/maps/api/staticmap?center=51.507796,-0.130519&zoom=11&size=640x640&scale=2&maptype=roadmap&language=en-EN&sensor=false
