Outline
- Homework
- RMarkdown syntax
- R Notebook formatting
- NYC Open Data
- In-class exercise
Homework Questions
library(tidyverse)
library(RSocrata)
library(knitr)
library(DT)
# Import the 2021 DOE Middle School Directory data
middle_school_data <- read.socrata("https://data.cityofnewyork.us/resource/f6s7-vytj.csv")
# Check column names to identify correct fields
names(middle_school_data)
# Select relevant columns for analysis
# Replace `program_description` with a column that exists, e.g., `overview`
middle_school_summary <- middle_school_data %>%
select(district, name, overview, mathprof) %>%
# Adjust column names based on data
filter(!is.na(mathprof)) # Filter out rows where mathprof is NA
# Convert mathprof to numeric
middle_school_summary <- middle_school_summary %>%
mutate(mathprof = as.numeric(mathprof))
# Display the processed data in a datatable format
datatable(middle_school_summary,
options = list(pageLength = 10),
caption = "Processed Middle School Data")
# Summarize average math proficiency by district
summary_table <- middle_school_summary %>%
group_by(district) %>%
summarize(avg_math_proficiency = mean(mathprof, na.rm = TRUE))
# Display summary table
kable(summary_table, caption = "Average Math Proficiency by District")
Average Math Proficiency by District
1 |
42.55556 |
2 |
66.72727 |
3 |
47.00000 |
4 |
33.42857 |
5 |
21.90000 |
6 |
36.68421 |
7 |
21.76923 |
8 |
29.18750 |
9 |
25.56000 |
10 |
30.42308 |
11 |
32.40000 |
12 |
19.00000 |
13 |
27.88889 |
14 |
25.70000 |
15 |
52.90909 |
16 |
18.83333 |
17 |
33.93750 |
18 |
28.88889 |
19 |
20.50000 |
20 |
62.53333 |
21 |
47.75000 |
22 |
40.40000 |
23 |
21.46154 |
24 |
51.92857 |
25 |
60.33333 |
26 |
72.00000 |
27 |
37.17391 |
28 |
47.46154 |
29 |
27.64706 |
30 |
54.25000 |
31 |
47.06667 |
32 |
31.11111 |
# Plot average math proficiency by district
ggplot(summary_table, aes(x = district, y = avg_math_proficiency)) +
geom_bar(stat = "identity", fill = "steelblue") +
labs(
title = "Average Math Proficiency by District",
x = "District",
y = "Average Math Proficiency"
) +
theme_minimal()

LS0tCnRpdGxlOiAiUiBOb3RlYm9va3MgJiBOWUMgT3BlbiBEYXRhIgpvdXRwdXQ6CiAgaHRtbF9kb2N1bWVudDoKICAgIHRoZW1lOiB5ZXRpCiAgICB0b2M6IHRydWUKICAgIHRvY19kZXB0aDogMwogICAgdG9jX2Zsb2F0OiB0cnVlCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlCi0tLQoKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9CmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSwgCiAgICAgICAgICAgICAgICAgICAgICBxdWlldGx5ID0gVFJVRSwgCiAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gRkFMU0UsIAogICAgICAgICAgICAgICAgICAgICAgd2FybmluZyA9IEZBTFNFKQpgYGAKCiMjIE91dGxpbmUKCi0gICBIb21ld29yawotICAgUk1hcmtkb3duIHN5bnRheAotICAgUiBOb3RlYm9vayBmb3JtYXR0aW5nCi0gICBOWUMgT3BlbiBEYXRhCi0gICBJbi1jbGFzcyBleGVyY2lzZQoKPC9icj4gPC9icj4KCiMjIEhvbWV3b3JrIFF1ZXN0aW9ucwoKPC9icj4KCmBgYHtyLCBtZXNzYWdlPUZBTFNFLCByZXN1bHRzPSdoaWRlJ30KbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkoUlNvY3JhdGEpCmxpYnJhcnkoa25pdHIpCmxpYnJhcnkoRFQpCgojIEltcG9ydCB0aGUgMjAyMSBET0UgTWlkZGxlIFNjaG9vbCBEaXJlY3RvcnkgZGF0YQptaWRkbGVfc2Nob29sX2RhdGEgPC0gcmVhZC5zb2NyYXRhKCJodHRwczovL2RhdGEuY2l0eW9mbmV3eW9yay51cy9yZXNvdXJjZS9mNnM3LXZ5dGouY3N2IikKCiMgQ2hlY2sgY29sdW1uIG5hbWVzIHRvIGlkZW50aWZ5IGNvcnJlY3QgZmllbGRzCm5hbWVzKG1pZGRsZV9zY2hvb2xfZGF0YSkKCmBgYAoKYGBge3J9CiMgU2VsZWN0IHJlbGV2YW50IGNvbHVtbnMgZm9yIGFuYWx5c2lzCiMgUmVwbGFjZSBgcHJvZ3JhbV9kZXNjcmlwdGlvbmAgd2l0aCBhIGNvbHVtbiB0aGF0IGV4aXN0cywgZS5nLiwgYG92ZXJ2aWV3YAptaWRkbGVfc2Nob29sX3N1bW1hcnkgPC0gbWlkZGxlX3NjaG9vbF9kYXRhICU+JQogIHNlbGVjdChkaXN0cmljdCwgbmFtZSwgb3ZlcnZpZXcsIG1hdGhwcm9mKSAlPiUgCiMgQWRqdXN0IGNvbHVtbiBuYW1lcyBiYXNlZCBvbiBkYXRhCiAgZmlsdGVyKCFpcy5uYShtYXRocHJvZikpICAjIEZpbHRlciBvdXQgcm93cyB3aGVyZSBtYXRocHJvZiBpcyBOQQoKIyBDb252ZXJ0IG1hdGhwcm9mIHRvIG51bWVyaWMKbWlkZGxlX3NjaG9vbF9zdW1tYXJ5IDwtIG1pZGRsZV9zY2hvb2xfc3VtbWFyeSAlPiUKICBtdXRhdGUobWF0aHByb2YgPSBhcy5udW1lcmljKG1hdGhwcm9mKSkKCmBgYAoKYGBge3J9CiMgRGlzcGxheSB0aGUgcHJvY2Vzc2VkIGRhdGEgaW4gYSBkYXRhdGFibGUgZm9ybWF0CmRhdGF0YWJsZShtaWRkbGVfc2Nob29sX3N1bW1hcnksIAogICAgICAgICAgb3B0aW9ucyA9IGxpc3QocGFnZUxlbmd0aCA9IDEwKSwgCiAgICAgICAgICBjYXB0aW9uID0gIlByb2Nlc3NlZCBNaWRkbGUgU2Nob29sIERhdGEiKQoKYGBgCgpgYGB7cn0KIyBTdW1tYXJpemUgYXZlcmFnZSBtYXRoIHByb2ZpY2llbmN5IGJ5IGRpc3RyaWN0CnN1bW1hcnlfdGFibGUgPC0gbWlkZGxlX3NjaG9vbF9zdW1tYXJ5ICU+JQogIGdyb3VwX2J5KGRpc3RyaWN0KSAlPiUKICBzdW1tYXJpemUoYXZnX21hdGhfcHJvZmljaWVuY3kgPSBtZWFuKG1hdGhwcm9mLCBuYS5ybSA9IFRSVUUpKQoKIyBEaXNwbGF5IHN1bW1hcnkgdGFibGUKa2FibGUoc3VtbWFyeV90YWJsZSwgY2FwdGlvbiA9ICJBdmVyYWdlIE1hdGggUHJvZmljaWVuY3kgYnkgRGlzdHJpY3QiKQpgYGAKCmBgYHtyfQojIFBsb3QgYXZlcmFnZSBtYXRoIHByb2ZpY2llbmN5IGJ5IGRpc3RyaWN0CmdncGxvdChzdW1tYXJ5X3RhYmxlLCBhZXMoeCA9IGRpc3RyaWN0LCB5ID0gYXZnX21hdGhfcHJvZmljaWVuY3kpKSArCiAgZ2VvbV9iYXIoc3RhdCA9ICJpZGVudGl0eSIsIGZpbGwgPSAic3RlZWxibHVlIikgKwogIGxhYnMoCiAgICB0aXRsZSA9ICJBdmVyYWdlIE1hdGggUHJvZmljaWVuY3kgYnkgRGlzdHJpY3QiLAogICAgeCA9ICJEaXN0cmljdCIsCiAgICB5ID0gIkF2ZXJhZ2UgTWF0aCBQcm9maWNpZW5jeSIKICApICsKICB0aGVtZV9taW5pbWFsKCkKYGBgCg==