# selected variables (columns)
columns <-c("district","name","borough","latitude","longitude",
"coursepassrate","elaprof","mathprof","surveysafety",
"totalstudents","gradespan","tophs1","tophs2","tophs3",
"acceleratedclasses","electiveclasses","languageclasses",
"diversityinadmissions")
mydata <- data |>
select(all_of(columns))
Warning in
currency fields will be converted to character
# selected variables (columns)
columns <-c("district","name","borough","latitude","longitude",
"coursepassrate","elaprof","mathprof","surveysafety",
"totalstudents","gradespan","tophs1","tophs2","tophs3",
"acceleratedclasses","electiveclasses","languageclasses",
"diversityinadmissions")
mydata <- data |>
select(all_of(columns))
mydata |>
select(1:3) |>
slice(1:7) |> kable()
| 1 |
P.S. 034 Franklin D. Roosevelt |
MANHATTAN |
| 1 |
P.S. 140 Nathan Straus |
MANHATTAN |
| 1 |
P.S. 184m Shuang Wen |
MANHATTAN |
| 1 |
P.S. 188 The Island School |
MANHATTAN |
| 1 |
University Neighborhood Middle School |
MANHATTAN |
| 1 |
School for Global Leaders |
MANHATTAN |
| 1 |
East Side Community School |
MANHATTAN |
mydata |>
filter(borough == "MANHATTAN") |>
select(c(name,coursepassrate,mathprof,elaprof)) |>
arrange(desc(mathprof)) |>
slice(1:10) |>
kable()
| Special Music School |
100 |
98 |
93 |
| East Side Middle School |
100 |
97 |
94 |
| The Anderson School |
100 |
97 |
97 |
| Tag Young Scholars |
99 |
96 |
92 |
| New Explorations into Science, Technology &
Math |
99 |
95 |
94 |
| New York City Lab Middle School for Collaborative
Studies |
100 |
94 |
91 |
| The Clinton School |
100 |
93 |
92 |
| M.S. 255 Salk School of Science |
100 |
92 |
94 |
| M.S. 243 Center School |
99 |
90 |
94 |
| Columbia Secondary School |
95 |
88 |
87 |
mydata |>
filter(district == 13 | district == 2) |>
select(c(district,name,mathprof)) |>
arrange(desc(mathprof)) |>
datatable() # for html only
#kable() # for pdf and html
district_stats<-mydata |>
group_by(district) |>
summarize(med_mathprof = median(mathprof, na.rm=TRUE),
avg_mathprof = mean(mathprof, na.rm=TRUE))
district_stats |>
arrange(desc(med_mathprof)) |>
#kable()
datatable()
bar_chart(district_stats, x=district, y=med_mathprof)

mydata <- mydata |>
mutate(borough = replace(borough,
name == "P.S. 046 Arthur Tappan", "MANHATTAN")) |>
mutate(borough = replace(borough,
name == "M.S. 935", "BROOKLYN"))
borough_stats<-mydata |>
group_by(borough) |>
summarize(med_mathprof = median(mathprof, na.rm=TRUE),
avg_mathprof = mean(mathprof, na.rm=TRUE))
borough_stats |>
arrange(desc(med_mathprof)) |>
#kable()
datatable()
bar_chart(borough_stats, x=borough, y=med_mathprof)

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

mathprof_zscore <- mydata |>
select(district,borough,name,mathprof) |>
mutate(zscore = scale(mathprof)) |>
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.
mathprof_zscore |>
filter(borough %in% c("QUEENS","MANHATTAN","BROOKLYN","BRONX")) |>
gg_histogram(x=zscore,facet=borough, bins=12)

LS0tDQp0aXRsZTogIm55Y19taWRkbGVfc2Nob29scyINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCg0KYGBge3J9DQpwbG90KGNhcnMpDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoUlNvY3JhdGEpDQpsaWJyYXJ5KGtuaXRyKQ0KbGlicmFyeShEVCkNCmxpYnJhcnkoZ2djaGFydHMpICMgZm9yIGVhc3kgdmlzdWFsaXphdGlvbnMgYmFzZWQgb24gZ2dwbG90Mg0KbGlicmFyeShnZ2JsYW5rZXQpICMgZm9yIGVhc3kgdmlzdWFsaXphdGlvbnMgYmFzZWQgb24gZ2dwbG90Mg0KDQojIGltcG9ydCB0aGUgZGF0YSBkaXJlY3RseSBpbnRvIFJTdHVkaW8gdXNpbmcgdXJsIHBhdGgNCmRhdGEgPC0gcmVhZC5zb2NyYXRhKCJodHRwczovL2RhdGEuY2l0eW9mbmV3eW9yay51cy9yZXNvdXJjZS9mNnM3LXZ5dGouY3N2IikNCmBgYA0KDQojIyBXYXJuaW5nIGluDQojIyByZWFkLnNvY3JhdGEoImh0dHBzOi8vZGF0YS5jaXR5b2ZuZXd5b3JrLnVzL3Jlc291cmNlL2Y2czctdnl0ai5jc3YiKTogRGF0ZXMgYW5kDQojIyBjdXJyZW5jeSBmaWVsZHMgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gY2hhcmFjdGVyDQoNCmBgYHtyfQ0KIyBzZWxlY3RlZCB2YXJpYWJsZXMgKGNvbHVtbnMpDQpjb2x1bW5zIDwtYygiZGlzdHJpY3QiLCJuYW1lIiwiYm9yb3VnaCIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwNCiAgICAgICAgICAgICJjb3Vyc2VwYXNzcmF0ZSIsImVsYXByb2YiLCJtYXRocHJvZiIsInN1cnZleXNhZmV0eSIsDQogICAgICAgICAgICAidG90YWxzdHVkZW50cyIsImdyYWRlc3BhbiIsInRvcGhzMSIsInRvcGhzMiIsInRvcGhzMyIsDQogICAgICAgICAgICAiYWNjZWxlcmF0ZWRjbGFzc2VzIiwiZWxlY3RpdmVjbGFzc2VzIiwibGFuZ3VhZ2VjbGFzc2VzIiwNCiAgICAgICAgICAgICJkaXZlcnNpdHlpbmFkbWlzc2lvbnMiKQ0KbXlkYXRhIDwtIGRhdGEgfD4gDQogIHNlbGVjdChhbGxfb2YoY29sdW1ucykpDQpgYGANCg0KYGBge3J9DQpteWRhdGEgfD4NCiAgc2VsZWN0KDE6MykgfD4NCiAgc2xpY2UoMTo3KSB8PiBrYWJsZSgpDQpgYGANCg0KYGBge3J9DQpteWRhdGEgfD4gDQogIGZpbHRlcihib3JvdWdoID09ICJNQU5IQVRUQU4iKSB8PiANCiAgc2VsZWN0KGMobmFtZSxjb3Vyc2VwYXNzcmF0ZSxtYXRocHJvZixlbGFwcm9mKSkgfD4gDQogIGFycmFuZ2UoZGVzYyhtYXRocHJvZikpIHw+IA0KICBzbGljZSgxOjEwKSB8PiANCiAga2FibGUoKQ0KYGBgDQpgYGB7cn0NCm15ZGF0YSB8PiANCiAgZmlsdGVyKGRpc3RyaWN0ID09IDEzIHwgZGlzdHJpY3QgPT0gMikgfD4gDQogIHNlbGVjdChjKGRpc3RyaWN0LG5hbWUsbWF0aHByb2YpKSB8PiANCiAgYXJyYW5nZShkZXNjKG1hdGhwcm9mKSkgfD4gDQogIGRhdGF0YWJsZSgpICMgZm9yIGh0bWwgb25seQ0KYGBgDQoja2FibGUoKSAjIGZvciBwZGYgYW5kIGh0bWwNCmBgYHtyfQ0KZGlzdHJpY3Rfc3RhdHM8LW15ZGF0YSB8PiANCiAgZ3JvdXBfYnkoZGlzdHJpY3QpIHw+IA0KICBzdW1tYXJpemUobWVkX21hdGhwcm9mID0gbWVkaWFuKG1hdGhwcm9mLCBuYS5ybT1UUlVFKSwNCiAgICAgICAgICAgIGF2Z19tYXRocHJvZiA9IG1lYW4obWF0aHByb2YsIG5hLnJtPVRSVUUpKSANCg0KZGlzdHJpY3Rfc3RhdHMgfD4gDQogIGFycmFuZ2UoZGVzYyhtZWRfbWF0aHByb2YpKSB8PiANCiAgI2thYmxlKCkNCiAgZGF0YXRhYmxlKCkNCmBgYA0KYGBge3J9DQpiYXJfY2hhcnQoZGlzdHJpY3Rfc3RhdHMsIHg9ZGlzdHJpY3QsIHk9bWVkX21hdGhwcm9mKQ0KYGBgDQpgYGB7cn0NCm15ZGF0YSA8LSBteWRhdGEgfD4gDQogIG11dGF0ZShib3JvdWdoID0gcmVwbGFjZShib3JvdWdoLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPT0gIlAuUy4gMDQ2IEFydGh1ciBUYXBwYW4iLCAiTUFOSEFUVEFOIikpIHw+IA0KICBtdXRhdGUoYm9yb3VnaCA9IHJlcGxhY2UoYm9yb3VnaCwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lID09ICJNLlMuIDkzNSIsICJCUk9PS0xZTiIpKQ0KDQpib3JvdWdoX3N0YXRzPC1teWRhdGEgfD4gDQogIGdyb3VwX2J5KGJvcm91Z2gpIHw+IA0KICBzdW1tYXJpemUobWVkX21hdGhwcm9mID0gbWVkaWFuKG1hdGhwcm9mLCBuYS5ybT1UUlVFKSwNCiAgICAgICAgICAgIGF2Z19tYXRocHJvZiA9IG1lYW4obWF0aHByb2YsIG5hLnJtPVRSVUUpKQ0KYGBgDQoNCmBgYHtyfQ0KYm9yb3VnaF9zdGF0cyB8PiANCiAgYXJyYW5nZShkZXNjKG1lZF9tYXRocHJvZikpIHw+IA0KICAja2FibGUoKQ0KICBkYXRhdGFibGUoKQ0KYGBgDQpgYGB7cn0NCmJhcl9jaGFydChib3JvdWdoX3N0YXRzLCB4PWJvcm91Z2gsIHk9bWVkX21hdGhwcm9mKQ0KYGBgDQpgYGB7cn0NCm15ZGF0YSB8PiANCiAgZ3JvdXBfYnkoZGlzdHJpY3QpIHw+IA0KICBzdW1tYXJpemUobnNjaG9vbHMgPSBuKCkpIHw+IA0KICBtdXRhdGUoZGlzdHJpY3Q9cmVvcmRlcihkaXN0cmljdCxuc2Nob29scykpIHw+IA0KICBnZ3Bsb3QoYWVzKHg9ZGlzdHJpY3QseT1uc2Nob29scyxmaWxsPWRpc3RyaWN0KSkgKw0KICBnZW9tX2NvbChzaG93LmxlZ2VuZCA9IEZBTFNFKSArDQogIGNvb3JkX2ZsaXAoKQ0KYGBgDQpgYGB7cn0NCm1hdGhwcm9mX3pzY29yZSA8LSBteWRhdGEgfD4NCiAgc2VsZWN0KGRpc3RyaWN0LGJvcm91Z2gsbmFtZSxtYXRocHJvZikgfD4gDQogIG11dGF0ZSh6c2NvcmUgPSBzY2FsZShtYXRocHJvZikpIHw+IA0KICBmaWx0ZXIoIWlzLm5hKHpzY29yZSkpDQpgYGANCmBgYHtyfQ0KbWF0aHByb2ZfenNjb3JlIHw+IA0KICBmaWx0ZXIoYm9yb3VnaCAlaW4lIGMoIlFVRUVOUyIsIk1BTkhBVFRBTiIsIkJST09LTFlOIiwiQlJPTlgiKSkgfD4NCiAgZ2dfaGlzdG9ncmFtKHg9enNjb3JlLGZhY2V0PWJvcm91Z2gsIGJpbnM9MTIpDQpgYGANCg0KDQo=