Luis Jimenez 11002191

facet_grid

graf <- ggplot(bikeData, aes(atemp,hum)) + geom_point()

graf + facet_grid(. ~ season, scales="fixed")

heatmaps

springData <- bikeData %>% 
                dplyr::select(season, atemp, hum, cnt) %>%
                filter(season == 1)
summerData <- bikeData %>% 
                dplyr::select(season, atemp, hum, cnt) %>%
                filter(season == 2)
autumnData <- bikeData %>% 
                dplyr::select(season, atemp, hum, cnt) %>%
                filter(season == 3)
winterData <- bikeData %>% 
                dplyr::select(season, atemp, hum, cnt) %>%
                filter(season == 4)

springDensity <- kde2d(springData$atemp, springData$hum, n=100)
springDensity$z <- springDensity$z/sum(springDensity$z)
#sum(springDensity$z)
summerDensity <- kde2d(summerData$atemp, summerData$hum, n=100)
summerDensity$z <- summerDensity$z/sum(summerDensity$z)
#sum(summerDensity$z)
autumnDensity <- kde2d(autumnData$atemp, autumnData$hum, n=100)
autumnDensity$z <- autumnDensity$z/sum(autumnDensity$z)
#sum(autumnDensity$z)
winterDensity <- kde2d(winterData$atemp, winterData$hum, n=100)
winterDensity$z <- winterDensity$z/sum(winterDensity$z)
#sum(winterDensity$z)

cols<-colorRampPalette(c("black","blue","green","orange","red"))(1000)

spring:

image(springDensity$z,  
      col = cols, 
      zlim=c(min(springDensity$z), max(springDensity$z)))

summer:

image(summerDensity$z,  
      col = cols, 
      zlim=c(min(summerDensity$z), max(summerDensity$z)))

autumn

image(autumnDensity$z,  
      col = cols, 
      zlim=c(min(autumnDensity$z), max(autumnDensity$z)))

winter:

image(winterDensity$z,  
      col = cols, 
      zlim=c(min(winterDensity$z), max(winterDensity$z)))

densidad circulo

x0 <- 0
y0 <- 0
r <- 1

bikeDensity <- kde2d(bikeData$atemp,bikeData$hum, n=100)
bikeDensity$z <- bikeDensity$z / sum(bikeDensity$z) 

x_c <- bikeDensity$x >= x0 - sqrt( r**2 - (bikeDensity$y - y0)**2 ) & bikeDensity$x <= x0 + sqrt( r**2 - (bikeDensity$y - y0)**2 )

y_c <- bikeDensity$y >= y0 - sqrt( r**2 - (bikeDensity$x - x0)**2 ) & bikeDensity$y <= y0 + sqrt( r**2 - (bikeDensity$x - x0)**2 )

sum( bikeDensity$z[x_c, y_c] )
## [1] 0.567792

densidad isocuanta

# ver el valor de z de algun punto, elegi 0.45,0.60 que aparece en color verde en el heatmap de ejemplo
somePoint <- bikeDensity$z[45,60]

# elegimos los que tienen aproximadamente el mismo valor
# usamos la variable precision para determinar que tanto puede variar, y aun considerarse parte de la isocuanta
precision <- 0.0001
z_f <- bikeDensity$z >= somePoint-precision & bikeDensity$z <= somePoint+precision

# usamos z_f, nuestro filtro, y sumamos
sum(bikeDensity$z[z_f])
## [1] 0.6062341