Skip to content

Commit bee72b5

Browse files
committed
lab 3
1 parent 447214f commit bee72b5

File tree

7 files changed

+1227
-1
lines changed

7 files changed

+1227
-1
lines changed

observablehq.config.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,20 @@ export default {
2525
},
2626
{
2727
name: "Lab 2: Subway Staffing",
28-
open: true,
28+
open: false,
2929
pages: [
3030
{ name: "Instructions", path: "/lab_2/readme" },
3131
{ name: "Dashboard", path: "/lab_2/index" },
3232
],
3333
},
34+
{
35+
name: "Lab 3: Mayoral Mystery",
36+
open: true,
37+
pages: [
38+
{ name: "Instructions", path: "/lab_3/readme" },
39+
{ name: "Dashboard", path: "/lab_3/index" },
40+
],
41+
}
3442
],
3543

3644
// Content to add to the head of the page, e.g. for a favicon:

src/lab_3/data/campaign_events.csv

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
event_id,boro_cd,income_category,event_type,event_date,latitude,longitude,estimated_attendance
2+
41,210,Low,Volunteer Training,2024-05-01,40.861789,-73.856161,234
3+
5,211,Low,Community Meeting,2024-05-04,40.82923,-73.838284,122
4+
124,411,High,Community Meeting,2024-05-05,40.760225,-73.748335,80
5+
6,316,Low,Volunteer Training,2024-05-06,40.636498,-73.886269,264
6+
50,210,Low,Rally,2024-05-08,40.869901,-73.843241,137
7+
114,106,High,Rally,2024-05-08,40.772069,-73.965239,206
8+
31,209,Low,Roundtable,2024-05-09,40.853841,-73.843451,276
9+
44,203,Low,Community Meeting,2024-05-09,40.819719,-73.898308,280
10+
53,202,Low,Town Hall,2024-05-10,40.859142,-73.901006,266
11+
110,302,High,Town Hall,2024-05-10,40.687708,-73.968038,189
12+
54,317,Low,Volunteer Training,2024-05-11,40.618039,-73.890066,218
13+
85,408,Middle,Roundtable,2024-05-11,40.704311,-73.844566,33
14+
123,104,High,Volunteer Training,2024-05-11,40.767627,-74.000153,191
15+
35,109,Low,Community Meeting,2024-05-13,40.807391,-73.953402,165
16+
58,202,Low,Volunteer Training,2024-05-13,40.864204,-73.917658,274
17+
91,301,Middle,Rally,2024-05-13,40.694308,-73.989597,107
18+
90,103,Middle,Community Meeting,2024-05-14,40.721859,-73.993892,99
19+
99,318,Middle,Town Hall,2024-05-15,40.642115,-73.86391,124
20+
61,109,Low,Community Meeting,2024-05-16,40.809591,-73.955219,232
21+
77,311,Middle,Volunteer Training,2024-05-16,40.617997,-73.949203,85
22+
128,104,High,Roundtable,2024-05-16,40.760681,-73.996336,216
23+
37,303,Low,Community Meeting,2024-05-18,40.679471,-73.954174,275
24+
67,209,Low,Town Hall,2024-05-20,40.843926,-73.840209,275
25+
122,302,High,Community Meeting,2024-05-20,40.687962,-73.975836,116
26+
73,313,Low,Volunteer Training,2024-05-22,40.636947,-73.919471,250
27+
32,414,Low,Town Hall,2024-05-23,40.76284,-73.907361,123
28+
129,102,High,Roundtable,2024-05-24,40.748555,-73.964748,137
29+
59,313,Low,Volunteer Training,2024-05-26,40.636744,-73.928967,130
30+
127,102,High,Town Hall,2024-05-30,40.751081,-73.967881,186
31+
40,308,Low,Roundtable,2024-06-05,40.679477,-73.932909,214
32+
55,109,Low,Community Meeting,2024-06-06,40.802826,-73.952122,108
33+
20,112,Low,Town Hall,2024-06-09,40.842538,-73.94014,281
34+
76,405,Middle,Rally,2024-06-12,40.718343,-73.847674,72
35+
108,105,High,Community Meeting,2024-06-14,40.783757,-73.981524,163
36+
130,406,High,Canvassing Kickoff,2024-06-17,40.765298,-73.812201,83
37+
95,410,Middle,Roundtable,2024-06-18,40.707681,-73.809676,51
38+
118,102,High,Roundtable,2024-06-19,40.741179,-73.970507,157
39+
112,105,High,Rally,2024-06-20,40.788451,-73.967286,215
40+
68,309,Low,Town Hall,2024-06-21,40.667279,-73.917016,144
41+
27,203,Low,Rally,2024-06-23,40.805054,-73.898151,169
42+
115,102,High,Canvassing Kickoff,2024-06-24,40.747948,-73.973922,200
43+
33,202,Low,Canvassing Kickoff,2024-06-26,40.846264,-73.905298,213
44+
47,206,Low,Canvassing Kickoff,2024-06-26,40.892395,-73.843416,235
45+
39,303,Low,Community Meeting,2024-06-27,40.683562,-73.945225,113
46+
14,212,Low,Canvassing Kickoff,2024-06-28,40.825166,-73.869113,222
47+
98,408,Middle,Roundtable,2024-06-28,40.7089,-73.854338,40
48+
46,303,Low,Town Hall,2024-07-03,40.674933,-73.940077,198
49+
88,501,Middle,Community Meeting,2024-07-05,40.622411,-74.150143,116
50+
26,303,Low,Canvassing Kickoff,2024-07-07,40.677611,-73.951793,102
51+
107,302,High,Volunteer Training,2024-07-07,40.69856,-73.968552,171
52+
21,309,Low,Volunteer Training,2024-07-12,40.655111,-73.930716,276
53+
109,105,High,Roundtable,2024-07-12,40.778522,-73.984442,223
54+
12,211,Low,Town Hall,2024-07-13,40.833635,-73.84641,137
55+
119,411,High,Rally,2024-07-13,40.767247,-73.747607,219
56+
86,413,Middle,Roundtable,2024-07-15,40.681168,-73.761026,95
57+
105,101,High,Roundtable,2024-07-15,40.776289,-73.971647,185
58+
16,316,Low,Roundtable,2024-07-17,40.643242,-73.886296,225
59+
30,414,Low,Canvassing Kickoff,2024-07-17,40.772462,-73.892714,247
60+
102,102,High,Town Hall,2024-07-17,40.755672,-73.970907,166
61+
71,111,Low,Rally,2024-07-23,40.801055,-73.928245,278
62+
2,317,Low,Rally,2024-07-24,40.625478,-73.89416,269
63+
23,303,Low,Canvassing Kickoff,2024-07-24,40.670015,-73.95462,129
64+
24,304,Low,Roundtable,2024-07-24,40.700874,-73.914046,178
65+
1,203,Low,Roundtable,2024-07-25,40.814388,-73.904889,217
66+
4,309,Low,Rally,2024-07-25,40.65684,-73.914425,294
67+
70,304,Low,Community Meeting,2024-07-25,40.695129,-73.927572,165
68+
15,206,Low,Town Hall,2024-07-26,40.898101,-73.842523,294
69+
72,305,Low,Roundtable,2024-07-26,40.654234,-73.964353,294
70+
52,204,Low,Town Hall,2024-07-28,40.836237,-73.877793,231
71+
121,411,High,Community Meeting,2024-07-28,40.754784,-73.74187,132
72+
74,203,Low,Town Hall,2024-07-31,40.809155,-73.894125,161
73+
106,106,High,Community Meeting,2024-08-01,40.773409,-73.946842,162
74+
49,111,Low,Volunteer Training,2024-08-03,40.809866,-73.935541,251
75+
125,106,High,Rally,2024-08-03,40.765561,-73.962791,147
76+
97,405,Middle,Volunteer Training,2024-08-04,40.730472,-73.839525,127
77+
82,318,Middle,Town Hall,2024-08-06,40.635155,-73.86278,107
78+
22,316,Low,Community Meeting,2024-08-11,40.647451,-73.888973,291
79+
101,106,High,Rally,2024-08-11,40.782953,-73.960242,98
80+
25,109,Low,Volunteer Training,2024-08-12,40.815638,-73.948577,203
81+
60,111,Low,Town Hall,2024-08-15,40.801999,-73.937131,149
82+
28,211,Low,Volunteer Training,2024-08-16,40.824977,-73.846018,145
83+
79,409,Middle,Rally,2024-08-16,40.697586,-73.818177,35
84+
10,309,Low,Town Hall,2024-08-18,40.651458,-73.933215,233
85+
80,107,Middle,Rally,2024-08-18,40.742132,-74.00149,88
86+
43,111,Low,Rally,2024-08-19,40.801473,-73.937861,124
87+
94,413,Middle,Community Meeting,2024-08-21,40.668702,-73.760969,45
88+
126,302,High,Community Meeting,2024-08-22,40.703531,-73.980311,177
89+
13,316,Low,Community Meeting,2024-08-23,40.632577,-73.890066,262
90+
103,106,High,Canvassing Kickoff,2024-08-25,40.76869,-73.964048,180
91+
36,316,Low,Canvassing Kickoff,2024-08-30,40.637593,-73.894157,268
92+
42,207,Low,Community Meeting,2024-08-31,40.869299,-73.874762,256
93+
117,106,High,Rally,2024-09-02,40.772641,-73.957638,97
94+
104,101,High,Community Meeting,2024-09-03,40.774812,-73.959659,151
95+
56,205,Low,Canvassing Kickoff,2024-09-04,40.846225,-73.917195,288
96+
120,106,High,Roundtable,2024-09-04,40.763701,-73.947916,166
97+
8,204,Low,Roundtable,2024-09-05,40.855163,-73.893429,232
98+
87,410,Middle,Volunteer Training,2024-09-05,40.721405,-73.825964,39
99+
11,315,Low,Volunteer Training,2024-09-06,40.666642,-73.881874,262
100+
45,111,Low,Community Meeting,2024-09-06,40.799763,-73.945663,108
101+
83,301,Middle,Town Hall,2024-09-06,40.691039,-73.980264,122
102+
9,202,Low,Town Hall,2024-09-08,40.848501,-73.903677,145
103+
100,403,Middle,Community Meeting,2024-09-08,40.751507,-73.888318,40
104+
38,308,Low,Roundtable,2024-09-09,40.667168,-73.922351,186
105+
17,112,Low,Roundtable,2024-09-12,40.841808,-73.945927,241
106+
18,211,Low,Rally,2024-09-15,40.820827,-73.837134,128
107+
75,309,Low,Volunteer Training,2024-09-19,40.661681,-73.92435,135
108+
65,109,Low,Canvassing Kickoff,2024-09-20,40.804057,-73.950249,256
109+
89,307,Middle,Roundtable,2024-09-20,40.656417,-73.987699,115
110+
51,304,Low,Canvassing Kickoff,2024-09-22,40.687044,-73.923959,152
111+
48,304,Low,Rally,2024-09-25,40.695315,-73.922076,198
112+
111,302,High,Volunteer Training,2024-09-28,40.692662,-73.978493,187
113+
92,413,Middle,Canvassing Kickoff,2024-09-30,40.685121,-73.745073,33
114+
93,410,Middle,Canvassing Kickoff,2024-09-30,40.711202,-73.823685,119
115+
34,315,Low,Rally,2024-10-03,40.663532,-73.888439,148
116+
81,314,Middle,Roundtable,2024-10-03,40.63588,-73.924665,65
117+
3,201,Low,Rally,2024-10-05,40.828527,-73.920252,187
118+
113,102,High,Canvassing Kickoff,2024-10-07,40.756937,-73.973007,110
119+
64,201,Low,Community Meeting,2024-10-09,40.833192,-73.919706,154
120+
57,308,Low,Rally,2024-10-11,40.676611,-73.918334,154
121+
78,407,Middle,Community Meeting,2024-10-11,40.751246,-73.853007,34
122+
29,203,Low,Community Meeting,2024-10-21,40.809801,-73.907863,228
123+
84,502,Middle,Volunteer Training,2024-10-22,40.58774,-74.141352,95
124+
116,101,High,Volunteer Training,2024-10-22,40.789206,-73.967975,127
125+
69,204,Low,Roundtable,2024-10-25,40.848586,-73.893254,293
126+
19,313,Low,Volunteer Training,2024-10-30,40.641348,-73.932599,296
127+
63,308,Low,Canvassing Kickoff,2024-10-30,40.671839,-73.93151,102
128+
96,314,Middle,Community Meeting,2024-10-31,40.630523,-73.935237,49
129+
62,309,Low,Roundtable,2024-11-01,40.659902,-73.917458,133
130+
66,315,Low,Community Meeting,2024-11-01,40.679416,-73.877928,253
131+
7,209,Low,Canvassing Kickoff,2024-11-02,40.856975,-73.840437,244
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
boro_cd,median_household_income,income_category,total_registered_voters,votes_candidate,votes_opponent,turnout_rate,gotv_doors_knocked,candidate_hours_spent
2+
101,135420,High,45897,10525,25769,79.08,465,24
3+
102,118650,High,45730,10431,28042,84.13,138,28
4+
103,98340,Middle,42609,11685,6695,43.14,382,3
5+
104,142890,High,42984,10216,24807,81.48,601,18
6+
105,126730,High,36587,10024,19248,80.01,365,23
7+
106,108920,High,49906,13182,28347,83.21,108,18
8+
107,72450,Middle,30820,9389,5514,48.36,395,1
9+
108,89560,Middle,37190,10358,5720,43.23,626,2
10+
109,43820,Low,41101,16516,7128,57.53,7940,8
11+
110,38670,Low,36020,14013,7631,60.09,7505,10
12+
111,41230,Low,39503,17554,8054,64.83,5724,8
13+
112,46890,Low,42815,16231,8490,57.74,6419,15
14+
201,34560,Low,43950,16539,9439,59.11,6275,14
15+
202,38920,Low,31325,12110,6403,59.1,7792,10
16+
203,42180,Low,40410,16265,9498,63.75,7294,12
17+
204,36450,Low,31348,11290,6144,55.62,6451,14
18+
205,39870,Low,32090,12532,6543,59.44,7351,15
19+
206,45320,Low,35863,15295,7864,64.58,6432,12
20+
207,48750,Low,35030,13761,8154,62.56,6340,15
21+
208,67890,Middle,31897,7394,5754,41.22,339,1
22+
209,41560,Low,42691,16080,8325,57.17,5681,11
23+
210,44230,Low,38084,15867,8263,63.36,7053,13
24+
211,38940,Low,30366,12276,6465,61.72,6505,12
25+
212,37120,Low,45401,19280,8648,61.51,5652,11
26+
301,89450,Middle,47929,13899,7654,44.97,791,1
27+
302,112340,High,35199,9402,19141,81.09,464,24
28+
303,42890,Low,40473,15501,7823,57.63,7930,8
29+
304,38760,Low,32710,13225,7997,64.88,7889,14
30+
305,46320,Low,45820,18628,10685,63.97,7753,14
31+
306,78940,Middle,48585,11585,7849,40,980,3
32+
307,71230,Middle,35825,10127,7428,49,448,1
33+
308,44650,Low,47255,19776,9893,62.79,7213,13
34+
309,39870,Low,38881,15280,8912,62.22,7203,15
35+
310,52340,Middle,42290,11740,6596,43.36,792,1
36+
311,68920,Middle,45503,10679,8012,41.08,762,3
37+
312,41230,Low,48560,21328,9929,64.37,6594,8
38+
313,37560,Low,48782,19275,11269,62.61,7846,13
39+
314,55670,Middle,35695,9426,6116,43.54,560,1
40+
315,43980,Low,46418,17985,9473,59.15,7732,14
41+
316,39120,Low,47519,17333,9806,57.11,7105,15
42+
317,48760,Low,39423,14977,6992,55.73,5603,15
43+
318,62340,Middle,31835,8960,4963,43.74,940,2
44+
401,94560,Middle,38474,9245,6583,41.14,277,3
45+
402,73280,Middle,42268,12829,8274,49.93,612,2
46+
403,58940,Middle,35909,10901,6916,49.62,894,2
47+
404,66780,Middle,35232,9042,5293,40.69,474,3
48+
405,81230,Middle,34787,10387,6946,49.83,620,3
49+
406,118670,High,43130,11371,24458,83.07,139,21
50+
407,87450,Middle,38630,10738,7479,47.16,401,2
51+
408,76890,Middle,34289,9230,6887,47,259,3
52+
409,69340,Middle,32245,9612,5695,47.47,673,1
53+
410,54670,Middle,46827,11869,6656,39.56,984,1
54+
411,108920,High,34867,8706,18145,77.01,309,25
55+
412,62180,Middle,44211,11676,8502,45.64,722,2
56+
413,71560,Middle,35572,9899,5574,43.5,815,2
57+
414,45320,Low,36202,14354,6601,57.88,7114,11
58+
501,82340,Middle,39889,11972,6488,46.28,516,1
59+
502,91780,Middle,43572,12720,9060,49.99,396,3
60+
503,103450,High,42572,11562,24591,84.92,467,24

src/lab_3/data/nyc.json

Lines changed: 796 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
respondent_id,boro_cd,age,heard_of_candidate,affordable_housing_alignment,public_transit_alignment,childcare_support_alignment,small_business_tax_alignment,police_reform_alignment,voted,voted_for,open_response
2+
1,209,68,Yes,4,4,4,4,1,No,,
3+
2,304,70,Yes,4,5,5,4,1,No,,
4+
3,316,64,Yes,4,5,5,4,2,No,,
5+
4,206,57,Yes,4,5,5,3,2,Yes,Opponent,"I really liked him and what he stood for, but I couldn't get past his position on police reform. It felt too extreme."
6+
5,109,28,No,5,4,5,3,1,Yes,Opponent,
7+
6,202,70,No,4,4,5,4,1,Yes,Candidate,
8+
7,201,27,Yes,4,5,4,4,1,Yes,Candidate,Small businesses need support and he understands that. Not like the other guy.
9+
8,313,37,No,4,4,5,3,1,No,,
10+
9,110,61,Yes,4,4,5,4,2,Yes,Candidate,"Everything else about his platform was great, but his police reform stance was a dealbreaker for me."
11+
10,204,70,Yes,4,4,4,3,1,No,,
12+
11,112,44,Yes,5,4,5,4,1,No,,
13+
12,203,32,No,4,4,5,4,1,No,,
14+
13,315,49,Yes,5,5,5,4,2,No,,
15+
14,210,68,Yes,5,4,4,3,2,No,,
16+
15,201,63,Yes,4,4,5,3,1,Yes,Candidate,"I wanted to support him, I really did, but that police reform policy just didn't sit right with me."
17+
16,109,37,Yes,5,5,5,3,2,Yes,Candidate,
18+
17,110,68,Yes,5,5,4,3,1,No,,
19+
18,303,27,Yes,4,5,5,4,2,Yes,Candidate,
20+
19,212,57,Yes,5,4,5,4,1,Yes,Candidate,
21+
20,204,56,Yes,4,5,4,3,1,Yes,Candidate,
22+
21,201,41,Yes,4,4,4,4,1,No,,
23+
22,315,68,Yes,5,5,5,3,2,Yes,Candidate,
24+
23,303,67,Yes,4,4,5,4,2,Yes,Candidate,
25+
24,210,43,Yes,5,5,5,4,1,No,,
26+
25,204,34,Yes,4,4,5,4,2,Yes,Opponent,
27+
26,202,38,Yes,5,5,5,3,1,Yes,Opponent,
28+
27,110,71,Yes,4,5,4,4,2,Yes,Candidate,
29+
28,317,73,Yes,4,4,4,4,2,No,,
30+
29,304,34,Yes,4,4,4,4,1,No,,
31+
30,112,25,Yes,4,5,4,3,2,Yes,Opponent,
32+
31,403,38,Yes,5,4,5,4,1,Yes,Candidate,I don't really know much about either candidate to be honest. Didn't see much campaigning in our area.
33+
32,301,64,Yes,5,5,5,4,1,No,,"Everything else about his platform was great, but his police reform stance was a dealbreaker for me."
34+
33,405,59,No,5,5,4,4,1,Yes,Opponent,Was there an election? I must have missed it.
35+
34,314,50,Yes,4,5,4,3,1,Yes,Candidate,I think I got one mailer but didn't pay attention. Busy with work and kids.
36+
35,307,52,Yes,4,4,5,4,2,No,,I wish I knew more about the candidates. Feel like I didn't hear much about what they wanted to do.
37+
36,403,65,Yes,4,4,5,4,2,No,,His housing policies sound good but I never saw him campaign here.
38+
37,403,72,Yes,4,5,4,4,1,No,,I would have liked to vote for him but honestly didn't know enough about him.
39+
38,208,69,No,4,5,4,3,1,Yes,Opponent,The transit plan sounds great. Wish I'd heard more about it before election day.
40+
39,404,64,Yes,5,4,4,3,2,Yes,Opponent,"I really liked him and what he stood for, but I couldn't get past his position on police reform. It felt too extreme."
41+
40,412,45,No,5,4,5,3,1,No,,"I agree with a lot of what he says, just didn't feel engaged enough to vote."
42+
41,408,56,Yes,5,5,4,4,2,Yes,Candidate,His childcare plan is exactly what we need. Too bad more people don't know about it.
43+
42,403,65,No,5,4,5,3,2,No,,"I liked what I heard about his policies, but it felt like he wasn't really campaigning for us."
44+
43,307,31,No,5,5,5,4,2,Yes,Opponent,"Affordable housing matters here too, but I guess we weren't a priority."
45+
44,306,64,Yes,5,4,4,3,2,No,,Would have voted if I'd known more. Barely saw any campaigning.
46+
45,103,36,Yes,4,5,5,3,1,No,,The issues he cares about matter to us too. We just didn't hear about it.
47+
46,306,67,Yes,4,4,4,4,1,No,,I support his platform but honestly forgot it was election day.
48+
47,410,45,Yes,4,4,4,4,1,Yes,Candidate,"His policies align with what I want, but I didn't feel like he was really trying to reach voters like me."
49+
48,318,50,No,5,4,4,3,1,No,,Great ideas on paper. Just wish he'd made more of an effort in our community.
50+
49,404,34,Yes,5,5,5,3,1,No,,
51+
50,310,32,Yes,5,4,4,4,1,No,,
52+
51,314,54,Yes,5,5,4,3,2,Yes,Opponent,
53+
52,314,74,Yes,5,5,4,4,1,No,,
54+
53,403,58,No,5,4,4,4,2,No,,
55+
54,404,44,No,5,4,4,4,1,Yes,Opponent,
56+
55,412,73,No,4,5,5,3,1,No,,
57+
56,310,36,No,4,5,4,3,2,No,,
58+
57,108,67,Yes,5,4,5,3,2,Yes,Candidate,
59+
58,318,64,Yes,5,5,5,4,2,Yes,Candidate,
60+
59,405,50,No,5,4,4,4,1,No,,
61+
60,301,53,No,5,4,4,4,1,Yes,Opponent,
62+
61,409,65,Yes,5,4,5,4,1,Yes,Opponent,
63+
62,404,53,No,5,4,5,4,1,Yes,Opponent,
64+
63,107,67,No,4,5,4,4,2,No,,
65+
64,413,72,No,5,5,4,4,1,Yes,Opponent,
66+
65,404,57,No,4,5,5,3,2,No,,
67+
66,403,65,No,5,4,4,3,2,Yes,Opponent,
68+
67,402,52,Yes,5,4,4,3,2,Yes,Candidate,
69+
68,405,31,No,4,5,5,3,1,No,,
70+
69,107,32,Yes,4,4,5,3,2,No,,
71+
70,301,73,Yes,5,4,5,3,2,Yes,Candidate,"I really liked him and what he stood for, but I couldn't get past his position on police reform. It felt too extreme."
72+
71,302,70,Yes,3,3,2,3,1,Yes,Opponent,"He wasn't all that great to begin with, then his stance on police reform put me over the edge."
73+
72,104,52,Yes,2,2,2,3,2,Yes,Opponent,I appreciate his passion but disagree with his approach to development and zoning.
74+
73,105,38,Yes,3,2,2,3,2,Yes,Candidate,He came to our neighborhood several times. I just don't think his economic policies make sense.
75+
74,105,38,Yes,3,3,1,3,2,Yes,Opponent,I'm familiar with his platform but his positions on property taxes and business regulations are dealbreakers for me.
76+
75,302,71,Yes,3,3,2,2,2,Yes,Opponent,His housing policies would hurt property values and development.
77+
76,302,40,Yes,2,2,1,2,2,No,,
78+
77,406,73,Yes,2,3,2,2,1,No,,"I already disagreed with most of his policies, but the police reform position sealed it for me."
79+
78,102,65,Yes,2,3,1,3,1,Yes,Opponent,"I understand he cares, but his policies are economically unsound."
80+
79,411,39,Yes,3,3,2,2,1,No,,
81+
80,106,66,Yes,2,3,2,2,1,Yes,Opponent,His proposals would drive businesses out of New York. Bad for everyone.
82+
81,411,41,Yes,2,2,1,3,1,Yes,Opponent,
83+
82,102,69,Yes,2,2,2,2,1,Yes,Candidate,
84+
83,106,35,Yes,2,3,1,2,1,Yes,Opponent,
85+
84,406,46,Yes,2,3,2,3,1,Yes,Candidate,
86+
85,106,63,Yes,3,3,1,3,2,No,,
87+
86,406,68,Yes,2,3,2,2,2,Yes,Opponent,
88+
87,503,57,Yes,2,3,1,2,1,Yes,Candidate,
89+
88,102,47,Yes,3,3,2,3,2,Yes,Candidate,
90+
89,102,43,Yes,3,3,1,2,1,Yes,Opponent,
91+
90,104,73,No,2,3,2,3,1,Yes,Candidate,
92+
91,102,72,Yes,2,3,1,2,1,Yes,Candidate,
93+
92,105,63,Yes,2,2,1,2,1,Yes,Opponent,
94+
93,302,35,Yes,3,3,1,2,2,No,,
95+
94,106,40,Yes,3,2,1,3,2,Yes,Opponent,
96+
95,106,65,No,2,2,1,2,2,Yes,Opponent,
97+
96,104,74,No,3,3,1,2,1,Yes,Opponent,
98+
97,302,51,Yes,3,2,1,2,1,No,,
99+
98,302,62,Yes,3,3,2,2,1,No,,
100+
99,106,38,Yes,2,3,1,3,1,Yes,Opponent,
101+
100,302,42,Yes,2,2,1,3,2,No,,

src/lab_3/index.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
title: "Lab 3: Mayoral Mystery"
3+
toc: false
4+
---
5+
6+
This page is where you can iterate. Follow the lab instructions in the [readme.md](./README.md).
7+
8+
<!-- Import Data -->
9+
```js
10+
const nyc = await FileAttachment("data/nyc.json").json();
11+
const results = await FileAttachment("data/election_results.csv").csv({ typed: true });
12+
const survey = await FileAttachment("data/survey_responses.csv").csv({ typed: true });
13+
const events = await FileAttachment("data/campaign_events.csv").csv({ typed: true });
14+
15+
// NYC geoJSON data
16+
display(nyc)
17+
// Campaign data (first 10 objects)
18+
display(results.slice(0,10))
19+
display(survey.slice(0,10))
20+
display(events.slice(0,10))
21+
```
22+
23+
24+
```js
25+
// The nyc file is saved in data as a topoJSON instead of a geoJSON. Thats primarily for size reasons -- it saves us 3MB of data. For Plot to render it, we have to convert it back to its geoJSON feature collection.
26+
const districts = topojson.feature(nyc, nyc.objects.districts)
27+
display(districts)
28+
```
29+
30+
```js
31+
// Simple rendering of the NYC districts topoJSON
32+
Plot.plot({
33+
// this projection is already zoomed into NYC
34+
projection: {
35+
domain: districts,
36+
type: "mercator",
37+
},
38+
marks: [
39+
Plot.geo(districts),
40+
]
41+
})
42+
```

0 commit comments

Comments
 (0)