plot(cars)

library(tidyverse)
library(RSocrata)
library(knitr)
library(DT)
library(ggcharts) # for easy visualizations based on ggplot2
library(ggblanket) # for easy visualizations based on ggplot2

# import the data directly into RStudio using url path
data <- read.socrata("https://data.cityofnewyork.us/resource/enfh-gkve.csv")

Warning in

read.socrata(https://data.cityofnewyork.us/resource/enfh-gkve.csv): Dates and

currency fields will be converted to character

plot(cars)

library(tidyverse)
library(RSocrata)
library(knitr)
library(DT)
library(ggcharts) # for easy visualizations based on ggplot2
library(ggblanket) # for easy visualizations based on ggplot2

# import the data directly into RStudio using url path
data <- read.socrata("https://data.cityofnewyork.us/resource/enfh-gkve.csv")
mydata |>
  select(1:5) |>
  slice(1:10) |> kable()
name311 typecategory subcategory acres borough
Fisher Pool Buildings/Institutions Building 0.817 Q
Queens Valley Playground Jointly Operated Playground JOP 0.876 Q
Rockaway Beach and Boardwalk Waterfront Facility Mall 3.809 Q
Calvary Monument Cemetery Sitting Area/Triangle/Mall 0.048 Q
Her-King Alagantic Garden Garden 0.045 B
Magic Garden Garden 0.104 M
John Hancock Playground Jointly Operated Playground JOP 1.547 B
Moore Homestead Playground Neighborhood Park Neighborhood Plgd 1.978 Q
Hugh J. Grant Circle Triangle/Plaza Sitting Area/Triangle/Mall 1.110 X
Beaver Noll Park Playground Neighborhood Plgd 0.436 B
mydata |> 
  filter(borough == "M") |> 
  select(c(name311,typecategory,acres)) |> 
  arrange(desc(acres)) |> 
  slice(1:20) |> 
  kable()
name311 typecategory acres
Central Park Flagship Park 840.010
Randall’s Island Park Flagship Park 254.300
Riverside Park Community Park 253.168
Inwood Hill Park Community Park 196.398
Fort Washington Park Community Park 184.143
Wards Island Park Recreation Field/Courts 170.700
Highbridge Park Community Park 130.100
Riverside Park South Community Park 71.933
Fort Tryon Park Community Park 67.213
Harlem River Park Parkway 46.657
John V. Lindsay East River Park Community Park 45.880
Morningside Park Community Park 29.888
Battery Park City Community Park 26.042
Recreational Area Community Park 23.093
St. Nicholas Park Neighborhood Park 22.740
The Battery Neighborhood Park 21.880
Marcus Garvey Park Community Park 20.165
Isham Park Community Park 20.132
Theodore Roosevelt Park Buildings/Institutions 17.581
Thomas Jefferson Park Community Park 15.524
mydata |> 
  filter(councildistrict == 6 | councildistrict == 6) |> 
  select(c(councildistrict,name311,acres)) |> 
  arrange(desc(acres)) |> 
  datatable() # for html only

#Filter by borough Manhattan

mydata |> 
  filter(borough == "M" | borough == "M") |> 
  select(c(borough,name311,acres)) |> 
  arrange(desc(acres)) |> 
  datatable() # for html only

#Filter by borough Bronx

mydata |> 
  filter(borough == "X" | borough == "X") |> 
  select(c(borough,name311,acres)) |> 
  arrange(desc(acres)) |> 
  datatable() # for html only

###How to excluse Vancortland and Pelhem Bay park?

#kable() # for pdf and html

borough_stats<-mydata |> 
  group_by(borough) |> 
  summarize(med_acres = median(acres, na.rm=TRUE),
            avg_acres= mean(acres, na.rm=TRUE))
  


borough_stats |> 
  arrange(desc(med_acres)) |> 
  #kable()
  datatable()
bar_chart(borough_stats, x=borough, y=med_acres)

borough_stats |> 
  arrange(desc(med_acres)) |> 
  #kable()
  datatable()
bar_chart(borough_stats, x=borough, y=med_acres)

mydata |> 
  group_by(borough) |> 
  summarize(name311 = n()) |> 
  mutate(borough=reorder(borough,name311)) |> 
  ggplot(aes(x=borough,y=name311,fill=borough)) +
  geom_col(show.legend = FALSE) +
  coord_flip()

##How to make bar chart base on the size of the park and the brorough? ##How to calculate percentage of park per person?

overall_acres<- mydata |>
  select(borough,name311,acres) |> 
  mutate(zscore = scale(acres)) |> 
  filter(!is.na(zscore))
Warning: Using one column matrices in `filter()` was deprecated in dplyr 1.1.0.
Please use one dimensional logical vectors instead.

####What is that Zscore?

mathprof_zscore |> 
  filter(borough %in% c("QUEENS","MANHATTAN","BROOKLYN","BRONX")) |>
  gg_histogram(x=zscore,facet=borough, bins=12)
LS0tDQp0aXRsZTogIlB1YmxpYyBQYXJrIE5ZQyINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCg0KYGBge3J9DQpwbG90KGNhcnMpDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoUlNvY3JhdGEpDQpsaWJyYXJ5KGtuaXRyKQ0KbGlicmFyeShEVCkNCmxpYnJhcnkoZ2djaGFydHMpICMgZm9yIGVhc3kgdmlzdWFsaXphdGlvbnMgYmFzZWQgb24gZ2dwbG90Mg0KbGlicmFyeShnZ2JsYW5rZXQpICMgZm9yIGVhc3kgdmlzdWFsaXphdGlvbnMgYmFzZWQgb24gZ2dwbG90Mg0KDQojIGltcG9ydCB0aGUgZGF0YSBkaXJlY3RseSBpbnRvIFJTdHVkaW8gdXNpbmcgdXJsIHBhdGgNCmRhdGEgPC0gcmVhZC5zb2NyYXRhKCJodHRwczovL2RhdGEuY2l0eW9mbmV3eW9yay51cy9yZXNvdXJjZS9lbmZoLWdrdmUuY3N2IikNCmBgYA0KDQojIyBXYXJuaW5nIGluDQojIyByZWFkLnNvY3JhdGEoaHR0cHM6Ly9kYXRhLmNpdHlvZm5ld3lvcmsudXMvcmVzb3VyY2UvZW5maC1na3ZlLmNzdik6IERhdGVzIGFuZA0KIyMgY3VycmVuY3kgZmllbGRzIHdpbGwgYmUgY29udmVydGVkIHRvIGNoYXJhY3Rlcg0KDQpgYGB7cn0NCiMgc2VsZWN0ZWQgdmFyaWFibGVzIChjb2x1bW5zKQ0KY29sdW1ucyA8LWMoIm5hbWUzMTEiLCAidHlwZWNhdGVnb3J5IiwgInN1YmNhdGVnb3J5IiwgImFjcmVzIiwiYm9yb3VnaCIsICJhZGRyZXNzIiwgImNsYXNzIiwgImxvY2F0aW9uIiwiZWFwcGx5IiwgImNvdW5jaWxkaXN0cmljdCIsICJjb21tdW5pdHlib2FyZCIsICJ1cmwiLCAiemlwY29kZSIsICJhY3F1aXNpdGlvbmRhdGUiLCAibXVsdGlwb2x5Z29uIikNCm15ZGF0YSA8LSBkYXRhIHw+IA0KICBzZWxlY3QoYWxsX29mKGNvbHVtbnMpKQ0KcmVuYW1lKG15ZGF0YSwgTmFtZSA9IG5hbWUzMTEpDQoNCmBgYA0KDQpgYGB7cn0NCm15ZGF0YSB8Pg0KICBzZWxlY3QoMTo1KSB8Pg0KICBzbGljZSgxOjEwKSB8PiBrYWJsZSgpDQpgYGANCg0KYGBge3J9DQpteWRhdGEgfD4gDQogIGZpbHRlcihib3JvdWdoID09ICJNIikgfD4gDQogIHNlbGVjdChjKG5hbWUzMTEsdHlwZWNhdGVnb3J5LGFjcmVzKSkgfD4gDQogIGFycmFuZ2UoZGVzYyhhY3JlcykpIHw+IA0KICBzbGljZSgxOjIwKSB8PiANCiAga2FibGUoKQ0KYGBgDQpgYGB7cn0NCm15ZGF0YSB8PiANCiAgZmlsdGVyKGNvdW5jaWxkaXN0cmljdCA9PSA2IHwgY291bmNpbGRpc3RyaWN0ID09IDYpIHw+IA0KICBzZWxlY3QoYyhjb3VuY2lsZGlzdHJpY3QsbmFtZTMxMSxhY3JlcykpIHw+IA0KICBhcnJhbmdlKGRlc2MoYWNyZXMpKSB8PiANCiAgZGF0YXRhYmxlKCkgIyBmb3IgaHRtbCBvbmx5DQpgYGANCiNGaWx0ZXIgYnkgYm9yb3VnaCBNYW5oYXR0YW4NCmBgYHtyfQ0KbXlkYXRhIHw+IA0KICBmaWx0ZXIoYm9yb3VnaCA9PSAiTSIgfCBib3JvdWdoID09ICJNIikgfD4gDQogIHNlbGVjdChjKGJvcm91Z2gsbmFtZTMxMSxhY3JlcykpIHw+IA0KICBhcnJhbmdlKGRlc2MoYWNyZXMpKSB8PiANCiAgZGF0YXRhYmxlKCkgIyBmb3IgaHRtbCBvbmx5DQpgYGANCiNGaWx0ZXIgYnkgYm9yb3VnaCBCcm9ueA0KDQpgYGB7cn0NCm15ZGF0YSB8PiANCiAgZmlsdGVyKGJvcm91Z2ggPT0gIlgiIHwgYm9yb3VnaCA9PSAiWCIpIHw+IA0KICBzZWxlY3QoYyhib3JvdWdoLG5hbWUzMTEsYWNyZXMpKSB8PiANCiAgYXJyYW5nZShkZXNjKGFjcmVzKSkgfD4gDQogIGRhdGF0YWJsZSgpICMgZm9yIGh0bWwgb25seQ0KYGBgDQojIyNIb3cgdG8gZXhjbHVzZSBWYW5jb3J0bGFuZCBhbmQgUGVsaGVtIEJheSBwYXJrPw0KDQoNCiNrYWJsZSgpICMgZm9yIHBkZiBhbmQgaHRtbA0KYGBge3J9DQpib3JvdWdoX3N0YXRzPC1teWRhdGEgfD4gDQogIGdyb3VwX2J5KGJvcm91Z2gpIHw+IA0KICBzdW1tYXJpemUobWVkX2FjcmVzID0gbWVkaWFuKGFjcmVzLCBuYS5ybT1UUlVFKSwNCiAgICAgICAgICAgIGF2Z19hY3Jlcz0gbWVhbihhY3JlcywgbmEucm09VFJVRSkpDQogIA0KDQoNCmJvcm91Z2hfc3RhdHMgfD4gDQogIGFycmFuZ2UoZGVzYyhtZWRfYWNyZXMpKSB8PiANCiAgI2thYmxlKCkNCiAgZGF0YXRhYmxlKCkNCmBgYA0KYGBge3J9DQpiYXJfY2hhcnQoYm9yb3VnaF9zdGF0cywgeD1ib3JvdWdoLCB5PW1lZF9hY3JlcykNCmBgYA0KDQoNCmBgYHtyfQ0KYm9yb3VnaF9zdGF0cyB8PiANCiAgYXJyYW5nZShkZXNjKG1lZF9hY3JlcykpIHw+IA0KICAja2FibGUoKQ0KICBkYXRhdGFibGUoKQ0KYGBgDQpgYGB7cn0NCmJhcl9jaGFydChib3JvdWdoX3N0YXRzLCB4PWJvcm91Z2gsIHk9bWVkX2FjcmVzKQ0KYGBgDQpgYGB7cn0NCm15ZGF0YSB8PiANCiAgZ3JvdXBfYnkoYm9yb3VnaCkgfD4gDQogIHN1bW1hcml6ZShuYW1lMzExID0gbigpKSB8PiANCiAgbXV0YXRlKGJvcm91Z2g9cmVvcmRlcihib3JvdWdoLG5hbWUzMTEpKSB8PiANCiAgZ2dwbG90KGFlcyh4PWJvcm91Z2gseT1uYW1lMzExLGZpbGw9Ym9yb3VnaCkpICsNCiAgZ2VvbV9jb2woc2hvdy5sZWdlbmQgPSBGQUxTRSkgKw0KICBjb29yZF9mbGlwKCkNCmBgYA0KIyNIb3cgdG8gbWFrZSBiYXIgY2hhcnQgYmFzZSBvbiB0aGUgc2l6ZSBvZiB0aGUgcGFyayBhbmQgdGhlIGJyb3JvdWdoPw0KIyNIb3cgdG8gY2FsY3VsYXRlIHBlcmNlbnRhZ2Ugb2YgcGFyayBwZXIgcGVyc29uPw0KDQoNCmBgYHtyfQ0Kb3ZlcmFsbF9hY3JlczwtIG15ZGF0YSB8Pg0KICBzZWxlY3QoYm9yb3VnaCxuYW1lMzExLGFjcmVzKSB8PiANCiAgbXV0YXRlKHpzY29yZSA9IHNjYWxlKGFjcmVzKSkgfD4gDQogIGZpbHRlcighaXMubmEoenNjb3JlKSkNCmBgYA0KIyMjI1doYXQgaXMgdGhhdCBac2NvcmU/DQoNCmBgYHtyfQ0KbWF0aHByb2ZfenNjb3JlIHw+IA0KICBmaWx0ZXIoYm9yb3VnaCAlaW4lIGMoIlFVRUVOUyIsIk1BTkhBVFRBTiIsIkJST09LTFlOIiwiQlJPTlgiKSkgfD4NCiAgZ2dfaGlzdG9ncmFtKHg9enNjb3JlLGZhY2V0PWJvcm91Z2gsIGJpbnM9MTIpDQpgYGANCg0KDQo=