diff --git a/calculate_opportunity_score.R b/calculate_opportunity_score.R
index b7fc5c7..d2d1adc 100644
--- a/calculate_opportunity_score.R
+++ b/calculate_opportunity_score.R
@@ -98,8 +98,79 @@ school_corp_frame <- read_csv(here("data", "in_sc-data.csv")) |>
mutate(adj_academic = round(adj_academic, digits = 2)) |>
mutate(scoScore = round(scoScore, digits = 2))
+# Conduct a counterfactual analysis to ensure fairness for school corporations.
+# If a school corporation has an adjusted academic score **above** mean academic
+# score + 1 standard deviation then adjust the non-white and free and
+# reduced lunch percents to the state average if these are **lower** than the
+# state mean. This gives some school corporations a little "bump" so that it
+# cannot be said that any group is given an "unfair" advantage. If the newly
+# calculated SCOscore is then >=1, then keep that counterfactual score.
+
+urm_pct_mean <- round(mean(school_corp_frame$urm_pct)/100,2)
+frl_pct_mean <- round(mean(school_corp_frame$frl_pct)/100,2)
+adj_ac_mean <- round(mean(school_corp_frame$adj_academic),2)
+adj_ac_sd <- round(sd(school_corp_frame$adj_academic), 2)
+adj_ac_cutoff <- adj_ac_mean + adj_ac_sd
+
+whatif_frame <- school_corp_frame |>
+ filter(adj_academic >= adj_ac_cutoff) |>
+ filter(scoScore < 1) |>
+ select(-scoScore) |>
+ mutate(
+ urm_pct = urm_pct / 100
+ ) |>
+ mutate(
+ frl_pct = frl_pct / 100
+ ) |>
+ mutate(urm_pct = ifelse(
+ urm_pct < urm_pct_mean,
+ urm_pct_mean,
+ urm_pct
+ )) |>
+ mutate(frl_pct = ifelse(
+ frl_pct < frl_pct_mean,
+ frl_pct_mean,
+ frl_pct
+ )) |>
+ mutate(
+ scoScore = (
+ ((urm_pct * 1.5) + (frl_pct * 1.5) + (adj_academic)) / 3
+ )
+ ) |>
+ mutate(scoScore = if_else(
+ scoScore < 1 & scoScore > 0.99,
+ 1,
+ scoScore
+ )) |>
+ mutate(
+ scoScore = round(scoScore, 2)
+ ) |>
+ filter(
+ scoScore >= 1
+ ) |>
+ select(leaid, scoScore)
+
+school_corp_frame$cf <- FALSE
+
+school_corp_frame <- school_corp_frame |>
+ mutate(scoScore = ifelse(
+ leaid %in% whatif_frame$leaid,
+ whatif_frame$scoScore,
+ scoScore)) |>
+ mutate(cf = ifelse(
+ leaid %in% whatif_frame$leaid,
+ TRUE,
+ FALSE))
+
+rural_opp_frame <- school_corp_frame |>
+ filter(urban_centric_locale %in% c("Town distant", "Town remote", "Rural fringe",
+ "Rural distant", "Rural remote")) |>
+ filter(scoScore >= 1)# |>
+ #filter(urm_pct >=50)
+ggscatter(rural_opp_frame, "frl_pct", "urm_pct")
+
output_frame <- school_corp_frame |>
- select(leaid, lea_name, enrollment, urban_centric_locale, urm_pct, frl_pct, academic = adj_academic, scoScore) |>
+ select(leaid, lea_name, cf, enrollment, urban_centric_locale, urm_pct, frl_pct, academic = adj_academic, scoScore) |>
write_csv(file = here("data", "in_scoscores.csv"))
school_corp_frame$urban_centric_locale <- factor(
@@ -137,7 +208,6 @@ urcl_pack = linearpackcircles(school_corp_frame,
area_multiplier = 1000)
urcl_pack
-
urcl_swarm <- ggplot(
school_corp_frame,
aes(
diff --git a/data/in_scoscores.csv b/data/in_scoscores.csv
index a303d9e..0135150 100644
--- a/data/in_scoscores.csv
+++ b/data/in_scoscores.csv
@@ -1,290 +1,283 @@
-leaid,lea_name,enrollment,urban_centric_locale,urm_pct,frl_pct,academic,scoScore,latitude,longitude
-1808760,Penn-Harris-Madison School Corp,11513,Suburb large,28.499999999999996,22.53,1,0.59,41.68171,-86.107851
-1808820,Perry Township Schools,16603,City large,62.32,69.28999999999999,1.37,1.11,39.67146,-86.135861
-1808850,Peru Community Schools,1982,Town distant,15.39,51.970000000000006,1.33,0.78,40.75203,-86.069561
-1808900,Pike County School Corp,1618,Rural distant,4.82,47.65,1.35,0.71,38.49212,-87.275831
-1808910,MSD Pike Township,10928,City large,92.95,63,1.78,1.37,39.8795,-86.2598
-1808940,Pioneer Regional School Corp,979,Rural distant,9.81,50.71,1.77,0.89,40.86173,-86.495781
-1808970,Plainfield Community School Corp,5766,Suburb large,20.5,24.779999999999998,1,0.56,39.694248,-86.395606
-1809000,East Porter County School Corp,2441,Rural fringe,12.370000000000001,15.9,1,0.47,41.3138,-87.018261
-1809060,Plymouth Community School Corp,3359,Town distant,33.22,52.370000000000005,2.05,1.11,41.34721,-86.303291
-1809120,John Glenn School Corporation,2003,Rural fringe,9.89,38.940000000000005,1,0.58,41.45653,-86.478901
-1809150,Portage Township Schools,6963,Suburb large,47.94,49.99,1.7,1.06,41.55252,-87.170721
-1809180,Porter Township School Corp,1494,Rural fringe,19.28,24.16,1.4,0.68,41.398667,-87.162021
-1809300,Prairie Heights Community Sch Corp,1356,Rural distant,7.670000000000001,23.599999999999998,1.34,0.6,41.636867,-85.200763
-1809360,West Central School Corp,636,Rural remote,12.26,49.21,1.34,0.75,41.02842,-86.890421
-1809420,Rensselaer Central School Corp,1539,Town distant,17.150000000000002,36.91,1.34,0.72,40.93861,-87.140606
-1809480,Richland-Bean Blossom C S C,2705,Suburb midsize,9.76,33.52,1.36,0.67,39.234886,-86.634047
-1809510,Richmond Community Schools,4638,Town distant,36.29,74.22999999999999,1.77,1.14,39.8245,-84.902061
-1809630,Rochester Community School Corp,1692,Town distant,9.520000000000001,51.06,1.72,0.88,41.05542,-86.225021
-1809690,Merrillville Community School Corp,6055,Suburb large,89.31,63.27,1.69,1.33,41.49789,-87.328711
-1809720,Rossville Con School District,945,Rural distant,7.199999999999999,23.810000000000002,1,0.49,40.414506,-86.598053
-1809750,Rush County Schools,1913,Town distant,7.16,57.11000000000001,1,0.65,39.61512,-85.449031
-1809810,Salem Community Schools,1745,Town distant,6.069999999999999,51.980000000000004,1.73,0.87,38.609861,-86.10637
-1809840,Daleville Community Schools,984,Suburb small,7.109999999999999,47.760000000000005,1.38,0.73,40.11996,-85.555161
-1809990,Scott County School District 1,1246,Town distant,6.9,53.97,2.15,1.02,38.73973,-85.802402
-1810020,Scott County School District 2,2610,Town distant,6.21,57.07,1.35,0.77,38.685073,-85.766539
-1810080,Seymour Community Schools,5281,Town distant,44.82,54.96,2.12,1.21,38.9392,-85.890731
-1810110,MSD Shakamak Schools,673,Rural distant,4.75,45.62,1.34,0.7,39.159361,-87.212846
-1810140,Shelbyville Central Schools,4052,Town distant,24.560000000000002,48.199999999999996,1.33,0.81,39.51103,-85.788671
-1810170,Shoals Community School Corp,689,Rural distant,4.06,58.93000000000001,1.36,0.77,38.666,-86.777591
-1810260,South Adams Schools,1250,Town distant,14.96,41.44,1,0.62,40.64715,-84.959851
-1810290,South Bend Community School Corp,15964,City midsize,72.74000000000001,61.19,2.19,1.4,41.67453,-86.249093
-1810350,South Gibson School Corporation,2069,Rural distant,6.279999999999999,23.44,1,0.48,38.237724,-87.631742
-1810360,South Harrison Com Schools,3071,Town fringe,10.620000000000001,46.08,1,0.62,38.202,-86.119791
-1810380,South Henry School Corp,707,Rural distant,5.94,45.2,1.37,0.71,39.83272,-85.350879
-1810410,South Knox School Corp,1236,Rural distant,3.4799999999999995,35.52,1,0.53,38.63499,-87.421111
-1810440,South Madison Com Sch Corp,4481,Suburb small,11.49,27.810000000000002,1,0.53,40.000819,-85.764012
-1810450,South Montgomery Com Sch Corp,1625,Rural distant,7.82,29.349999999999998,1,0.52,39.95057,-86.905371
-1810470,South Newton School Corp,844,Rural remote,18.01,49.76,1.75,0.92,40.80579,-87.383351
-1810500,South Putnam Community Schools,1060,Rural distant,6.23,40.660000000000004,1,0.57,39.60276,-86.832431
-1810530,South Ripley Com Sch Corp,1095,Rural distant,5.0200000000000005,40.73,1,0.56,39.07141,-85.252711
-1810560,South Spencer County Sch Corp,1111,Rural distant,6.660000000000001,43.919999999999995,1.33,0.7,37.8803,-87.0513
-1810590,South Vermillion Com Sch Corp,1615,Rural fringe,4.3999999999999995,53,1.36,0.74,39.68824,-87.414701
-1810620,Southeast Fountain School Corp,988,Rural distant,9.719999999999999,48.480000000000004,1.35,0.74,40.106621,-87.224834
-1810640,Southeast Dubois Co Sch Corp,1276,Rural distant,6.43,23.669999999999998,1,0.48,38.2276,-86.859
-1810650,Hamilton Southeastern Schools,21603,Suburb large,31.119999999999997,15.509999999999998,1,0.57,39.98474,-85.994931
-1810680,Lewis Cass Schools,1393,Rural distant,13.930000000000001,44.72,1.36,0.75,40.66032,-86.242281
-1810710,Southern Hancock Co Com Sch Corp,3756,Rural fringe,8.68,24.6,1,0.5,39.7158,-85.8952
-1810740,Randolph Southern School Corp,518,Rural distant,9.27,45.75,1.35,0.73,40.05233,-84.945031
-1810770,Southern Wells Com Schools,845,Rural distant,4.97,37.51,1,0.55,40.608315,-85.279949
-1810800,Southwestern-Jefferson Co Con,1303,Rural fringe,10.13,55.95,1.41,0.8,38.70767,-85.472381
-1810830,Southwestern Con Sch Shelby Co,596,Rural distant,6.21,37.580000000000005,1.35,0.67,39.440924,-85.845187
-1810860,Southwest School Corporation,1650,Rural fringe,4.91,46.61,1.68,0.82,39.112264,-87.413995
-1810870,Southwest Dubois Co Sch Corp,1898,Rural fringe,36.25,44.84,1.35,0.85,38.2917,-86.9537
-1810900,Southwest Parke Com Sch Corp,1040,Rural distant,7.02,51.92,1.73,0.87,39.69808,-87.324701
-1810920,School Town of Speedway,1863,Suburb large,61.14000000000001,51.480000000000004,1,0.9,39.80037,-86.255701
-1810980,Springs Valley Com School Corp,835,Rural distant,11.86,47.9,1.73,0.88,38.54896,-86.616841
-1811100,MSD Steuben County,2581,Rural fringe,16.31,36.730000000000004,1.68,0.83,41.63192,-84.998131
-1811190,Sunman-Dearborn Com Sch Corp,3770,Rural distant,4.96,18.060000000000002,1.34,0.56,39.279246,-84.973944
-1811220,Switzerland County School Corp,1494,Rural distant,5.76,50.739999999999995,1.38,0.74,38.73999,-85.083391
-1811250,Taylor Community School Corp,1302,Rural fringe,34.1,53.99,2.13,1.15,40.434915,-86.054696
-1811260,Tell City-Troy Twp School Corp,1416,Rural fringe,8.62,45.06,1.71,0.84,37.953357,-86.758273
-1811340,Tippecanoe School Corp,13591,Suburb midsize,29.599999999999998,35.699999999999996,1.34,0.77,40.39208,-86.904031
-1811370,Tippecanoe Valley School Corp,1805,Rural distant,18.84,50.36000000000001,1.35,0.8,41.1101,-86.040431
-1811400,Tipton Community School Corp,1444,Town fringe,9.9,37.6,1.34,0.69,40.270779,-86.040127
-1811430,Tri-County School Corporation,764,Rural distant,14.01,38.22,1.34,0.71,40.75907,-87.042361
-1811460,Tri-Creek School Corporation,3229,Rural fringe,14.649999999999999,24.84,1,0.53,41.270481,-87.430956
-1811490,Triton School Corporation,918,Rural distant,8.93,34.86,1.37,0.67,41.30016,-86.109401
-1811580,Twin Lakes School Corp,2252,Town distant,18.12,58.63,1.68,0.95,40.7379,-86.761391
-1811610,Union Co/Clg Corner Joint Sch Dist,1299,Rural distant,5.47,47.04,1,0.6,39.63371,-84.921711
-1811700,Union Township School Corp,1407,Rural fringe,17.84,27.29,1,0.56,41.478822,-87.180071
-1811730,Union School Corporation,6338,Rural distant,32.22,62.7,1.77,1.06,40.048,-85.1357
-1811910,Union-North United School Corp,1274,Rural distant,10.83,43.72,1,0.61,41.477556,-86.304839
-1811970,Valparaiso Community Schools,6356,Suburb large,24.48,28.349999999999998,1,0.6,41.502226,-87.067101
-1812060,Crothersville Community Schools,482,Rural distant,7.26,60.79,1.76,0.93,38.796361,-85.835998
-1812090,Vigo County School Corp,13940,City small,19.54,54.379999999999995,2.07,1.06,39.46677,-87.407711
-1812120,Vincennes Community School Corp,2818,Town remote,13.52,47.23,1,0.64,38.650757,-87.495678
-1812150,Wabash City Schools,1569,Town distant,8.799999999999999,50.29,1.41,0.77,40.8077,-85.8354
-1812180,MSD Wabash County Schools,2125,Rural distant,9.04,45.93,1.38,0.73,40.8273,-85.8489
-1812240,Wa-Nee Community Schools,2878,Town fringe,16.68,29.64,1,0.56,41.453224,-86.002168
-1812360,MSD Warren Township,11801,City large,82.97,59.27,2.14,1.42,39.78155,-86.008651
-1812390,Warrick County School Corp,10070,Suburb midsize,13.07,28.82,1,0.54,38.052029,-87.271119
-1812420,Warsaw Community Schools,6731,Town distant,28.84,42.24,1.33,0.8,41.2254,-85.8619
-1812450,Washington Community Schools,2443,Town remote,32.17,61.519999999999996,1.7,1.03,38.6561,-87.1723
-1812720,MSD Washington Township,10901,City large,71.31,38.86,1.74,1.13,39.91029,-86.123121
-1812810,MSD Wayne Township,16343,City large,75.59,61.28,2.13,1.39,39.749706,-86.270493
-1812870,West Lafayette Com School Corp,2369,City small,43.35,16.17,1,0.63,40.437128,-86.905476
-1812880,Frankton-Lapel Community Schools,3132,Rural fringe,8.08,32.019999999999996,1,0.53,40.1491,-85.8229
-1812900,West Noble School Corporation,2202,Rural fringe,55.45,46.589999999999996,1.72,1.08,41.42585,-85.580491
-1812930,West Washington School Corp,872,Rural distant,5.62,100,1.33,0.97,38.582703,-86.233476
-1812990,Western Boone Co Com Sch Dist,1676,Rural distant,6.09,31.380000000000003,1,0.52,40.05741,-86.618851
-1813050,Western Wayne Schools,801,Town distant,6.99,54.559999999999995,1.41,0.78,39.814659,-85.137437
-1813080,Westfield-Washington Schools,8820,Suburb large,22.189999999999998,15.8,1,0.52,40.049595,-86.13727
-1813110,Westview School Corporation,2107,Rural distant,5.7,21.36,1,0.47,41.6177,-85.5408
-1813200,School City of Whiting,1158,Suburb large,81.78,62.870000000000005,1.69,1.29,41.6819,-87.4921
-1813230,Whitko Community School Corp,1243,Rural distant,7.48,41.83,1,0.58,41.17101,-85.631432
-1800008,White River Valley School District,794,Rural distant,9.19,59.95,1,0.68,39.035665,-87.047115
-1800030,MSD Southwest Allen County Schls,7800,Suburb large,24.26,17.560000000000002,1.35,0.66,41.039153,-85.284921
-1800060,Adams Central Community Schools,1326,Rural distant,7.62,19.98,1,0.47,40.746147,-84.942832
-1800107,Tri-Township Cons School Corp,332,Rural distant,5.12,33.73,1.38,0.65,41.42661,-86.893641
-1800118,North Central Parke Comm Schl Corp,1181,Town distant,7.79,56.730000000000004,1.37,0.78,39.76792,-87.234151
-1800120,Alexandria Community School Corp,1534,Suburb small,11.93,52.09,1,0.65,40.26292,-85.672991
-1800150,Anderson Community School Corp,6470,City small,49.24,69.26,2.12,1.3,40.1256,-85.6979
-1800180,Argos Community Schools,645,Rural distant,8.53,45.269999999999996,1,0.6,41.241437,-86.250678
-1800210,Attica Consolidated School Corp,615,Town distant,8.62,50.64999999999999,1.37,0.75,40.278052,-87.251085
-1800240,South Dearborn Community Sch Corp,1960,Rural fringe,5.510000000000001,41.31,1.72,0.81,39.063206,-84.932429
-1800270,Avon Community School Corp,10310,Suburb large,43.5,33.25,1,0.72,39.76153,-86.395191
-1800330,Barr-Reeve Community Schools Inc,995,Rural distant,3.32,22.509999999999998,1,0.46,38.6653,-87.0444
-1800360,Bartholomew Con School Corp,11691,City small,32.300000000000004,40.06,1.69,0.92,39.21105,-85.904621
-1800390,Batesville Community School Corp,2187,Rural fringe,8.64,24.87,1,0.5,39.312049,-85.235832
-1800420,Baugo Community Schools,1838,Suburb midsize,22.91,21.55,1,0.56,41.6355,-86.025
-1800450,Beech Grove City Schools,2837,Suburb large,35.5,46.489999999999995,2.06,1.1,39.712759,-86.076666
-1800480,Benton Community School Corp,1619,Rural distant,14.95,49.47,1.37,0.78,40.6148,-87.3148
-1800570,Blackford County Schools,1552,Rural fringe,9.99,46.26,1.33,0.73,40.421034,-85.382816
-1800600,Bloomfield School District,854,Town distant,6.5600000000000005,41.92,1,0.58,39.024524,-86.945493
-1800630,Monroe County Community Sch Corp,10613,City small,25.44,30.65,1,0.61,39.144938,-86.530578
-1800660,Blue River Valley Schools,636,Rural fringe,5.029999999999999,46.23,1.37,0.71,40.0036,-85.385
-1800690,North Harrison Com School Corp,2157,Rural fringe,5.9799999999999995,41.43,1,0.57,38.32188,-86.147791
-1800720,MSD Bluffton-Harrison,1802,Town distant,13.43,39.839999999999996,1.36,0.72,40.721447,-85.159138
-1800750,MSD Boone Township,1029,Rural fringe,15.939999999999998,42.370000000000005,1.38,0.75,41.316001,-87.198468
-1800840,Clay Community Schools,4014,Rural fringe,6.2,46.79,1.35,0.72,39.51341,-87.125781
-1800900,Bremen Public Schools,1479,Town distant,31.91,38.269999999999996,1,0.68,41.44284,-86.151961
-1800960,Brown County School Corporation,1693,Rural distant,6.02,44.36,1.74,0.83,39.2065,-86.2439
-1801020,Brownsburg Community School Corp,9799,Suburb large,32.28,24.01,1,0.61,39.838463,-86.389665
-1801050,Brownstown Cnt Com Sch Corp,1450,Town distant,4.97,38.62,1.71,0.79,38.8783,-86.049
-1801060,C A Beard Memorial School Corp,1105,Rural fringe,5.34,42.99,1,0.57,39.793588,-85.54072
-1801170,Cannelton City Schools,239,Town distant,10.040000000000001,65.27,2.13,1.09,37.910295,-86.743796
-1801200,Carmel Clay Schools,16215,City small,30.44,9.98,1,0.54,39.977838,-86.081134
-1801290,Carroll Consolidated School Corp,1066,Rural distant,9.01,42.5,1,0.59,40.54773,-86.515021
-1801410,Caston School Corporation,745,Rural distant,8.86,48.05,1.39,0.75,40.911779,-86.282801
-1801440,Center Grove Community School Corp,9173,Suburb large,19.009999999999998,18.69,1,0.52,39.57819,-86.190871
-1801560,Centerville-Abington Com Schs,1790,Town distant,10.56,31.96,1,0.55,39.81446,-84.997701
-1801590,DeKalb Co Ctl United Sch Dist,3609,Town fringe,8.17,40.65,1.35,0.69,41.409763,-85.036739
-1801710,Central Noble Com School Corp,1175,Rural distant,5.36,35.32,1.37,0.66,41.39544,-85.422221
-1801740,Perry Central Com Schools Corp,1275,Rural remote,3.92,32.47,1,0.52,38.111737,-86.60488
-1801770,Randolph Central School Corp,1395,Town distant,9.46,39.64,1.4,0.71,40.1726,-84.9797
-1801890,Clark-Pleasant Community Sch Corp,6809,Suburb large,31.97,40.37,1,0.7,39.5507,-86.08
-1801920,Clarksville Community School Corp,3129,Suburb large,36.370000000000005,32.85,2.2,1.08,38.301101,-85.766383
-1802040,Northwestern School Corp,1894,Rural fringe,10.03,25.61,1,0.51,40.5206,-86.1279
-1802130,Clinton Central School Corporation,868,Rural distant,9.56,42.970000000000006,1,0.6,40.297069,-86.391656
-1802160,Clinton Prairie School Corporation,1209,Rural fringe,9.1,41.52,1,0.59,40.25069,-86.591784
-1802190,South Central Com School Corp,945,Rural distant,11.110000000000001,34.599999999999994,1,0.56,41.465592,-86.81627
-1802220,Cloverdale Community Schools,1406,Rural distant,9.17,42.46,1.35,0.71,39.51027,-86.787608
-1802280,Whitley County Con Schools,3652,Rural fringe,9.28,27.11,1.36,0.64,41.15818,-85.493511
-1802400,Concord Community Schools,5235,Suburb midsize,59.41,46.61,1.72,1.1,41.6365,-85.9274
-1802430,Covington Community School Corp,858,Town fringe,8.86,30.19,1.34,0.64,40.14415,-87.395001
-1802440,Crawford County Community Sch Corp,1342,Rural distant,3.8699999999999997,60.36,2.08,1.02,38.3218,-86.3542
-1802460,Crawfordsville Community Schools,2504,Town distant,26.88,57.63,1.71,1,40.0454,-86.8889
-1802490,Crown Point Community School Corp,8819,Suburb large,24.5,19.75,1,0.55,41.4203,-87.3631
-1802520,Culver Community Schools Corp,827,Rural distant,15.72,51.51,1.71,0.9,41.222921,-86.423817
-1802550,Danville Community School Corp,2557,Suburb large,10.639999999999999,24.21,1,0.51,39.75895,-86.541781
-1802610,Decatur County Community Schools,1824,Rural fringe,4.99,45.94,1,0.59,39.35753,-85.469591
-1802640,MSD Decatur Township,6681,City large,43.8,55.88999999999999,1.7,1.07,39.6879,-86.2782
-1802660,Delaware Community School Corp,2571,Rural fringe,9.53,38.82,1.34,0.69,40.27918,-85.348889
-1802700,Delphi Community School Corp,1429,Rural fringe,14.56,49.059999999999995,1.75,0.9,40.57621,-86.665631
-1802800,Duneland School Corporation,5831,Suburb large,22.21,25.88,1,0.57,41.609063,-87.059322
-1802830,Zionsville Community Schools,7784,Suburb large,19.400000000000002,5.2,1,0.46,39.960956,-86.27076
-1802850,East Allen County Schools,10126,Suburb large,39.290000000000006,48.449999999999996,1.35,0.89,41.0669,-85.011641
-1802880,School City of East Chicago,3378,Suburb large,98.02,75.85,2.26,1.62,41.63278,-87.453261
-1802910,Lake Station Community Schools,1154,Suburb large,61.79,76.42999999999999,1.78,1.28,41.572643,-87.244824
-1802940,East Gibson School Corporation,749,Town distant,6.54,50.2,1.34,0.73,38.331,-87.3511
-1802970,East Noble School Corporation,3450,Town distant,9.59,45.300000000000004,1.36,0.73,41.4414,-85.266281
-1803000,East Washington School Corp,1416,Rural distant,6.43,40.47,1.34,0.68,38.514695,-86.002001
-1803030,Eastbrook Community Sch Corp,1634,Rural distant,8.51,31.879999999999995,1,0.54,40.54818,-85.505921
-1803060,DeKalb Co Eastern Com Sch Dist,1237,Rural fringe,6.3100000000000005,37.51,1,0.55,41.4315,-84.869
-1803090,Eastern Greene Schools,1098,Rural distant,5.56,47.04,1.36,0.72,39.04363,-86.744401
-1803120,Eastern Hancock Co Com Sch Corp,1161,Rural distant,4.569999999999999,29.29,1,0.5,39.82374,-85.609671
-1803150,Eastern Howard School Corporation,1566,Town fringe,8.75,41.699999999999996,1,0.59,40.477629,-85.968795
-1803180,Randolph Eastern School Corp,897,Town distant,38.129999999999995,56.19,1.69,1.03,40.20486,-84.815351
-1803210,Shelby Eastern Schools,1165,Rural distant,3.95,35.79,1,0.53,39.5615,-85.6693
-1803240,Edinburgh Community School Corp,849,Suburb small,12.6,66.2,1.73,0.97,39.35369,-85.970051
-1803270,Elkhart Community Schools,11659,City small,61.24000000000001,53.81,1.76,1.16,41.69585,-86.017011
-1803300,Elwood Community School Corp,1494,Town fringe,12.120000000000001,52.61,1.36,0.78,40.292055,-85.84277
-1803330,Eminence Community School Corp,318,Rural distant,5.029999999999999,46.54,1.37,0.71,39.52436,-86.642464
-1803450,Evansville Vanderburgh School Corp,21942,City midsize,33.21,45.26,2.06,1.08,37.97243,-87.563771
-1803480,Fairfield Community Schools,2171,Rural fringe,10.69,22.11,1,0.5,41.51985,-85.769101
-1803510,Fayette County School Corporation,3305,Town distant,5.63,60.85,1.35,0.78,39.6348,-85.164
-1803570,Flat Rock-Hawcreek School Corp,967,Rural distant,7.140000000000001,38.37,1.37,0.68,39.2935,-85.7714
-1803630,Fort Wayne Community Schools,28778,City large,61.88,65.29,1.75,1.22,41.074384,-85.137818
-1803660,Community Schools of Frankfort,3055,Rural fringe,57.410000000000004,69.95,1.73,1.21,40.279752,-86.480646
-1803690,Franklin Community School Corp,4966,Suburb large,13.950000000000001,37.25,1.34,0.7,39.49038,-86.063411
-1803700,Franklin County Community Sch Corp,2098,Rural distant,2.5700000000000003,41.52,1,0.55,39.425758,-85.01007
-1803720,Lanesville Community School Corp,742,Rural fringe,5.66,22.37,1.37,0.6,38.239163,-85.989548
-1803750,Franklin Township Com Sch Corp,11139,City large,38.690000000000005,42.89,1.34,0.86,39.67907,-86.018281
-1803780,Fremont Community Schools,982,Rural distant,5.6000000000000005,34.32,1,0.53,41.7312,-84.949071
-1803810,Frontier School Corporation,675,Rural distant,5.93,24.3,1.34,0.6,40.66226,-86.868431
-1803870,Gary Community School Corp,4374,City small,98.77,85.53,2.25,1.67,41.593932,-87.408242
-1803930,Goshen Community Schools,6364,City small,63.2,54.98,1.71,1.16,41.58027,-85.826021
-1803940,Greater Clark County Schools,10320,Suburb large,42.480000000000004,51.6,1.34,0.92,38.3374,-85.679581
-1803960,Greater Jasper Consolidated Schs,3235,Rural fringe,22.23,35.52,1,0.62,38.400658,-86.951484
-1803990,Greencastle Community School Corp,1842,Town distant,7.55,43.43,1,0.59,39.64023,-86.840391
-1804050,Greenfield-Central Com Schools,4421,Suburb large,10.34,31.830000000000002,1,0.54,39.7862,-85.7697
-1804080,Greensburg Community Schools,2178,Town distant,8.260000000000002,39.76,1.35,0.69,39.35285,-85.502451
-1804110,Greenwood Community Sch Corp,3968,Suburb large,26.229999999999997,38.1,1,0.65,39.60561,-86.116071
-1804140,Monroe-Gregg School District,1539,Rural fringe,7.08,32.1,2.07,0.89,39.57703,-86.479671
-1804170,Griffith Public Schools,2005,Suburb large,54.71,48.88,1.69,1.08,41.533056,-87.435515
-1804230,Hamilton Community Schools,359,Rural distant,6.69,36.49,2.08,0.91,41.522281,-84.920799
-1804260,Hamilton Heights School Corp,2302,Suburb large,7.08,27.54,1,0.51,40.17603,-86.026791
-1804320,School City of Hammond,11957,Suburb large,89.25999999999999,73.41,2.2,1.55,41.611599,-87.524287
-1804350,Hanover Community School Corp,2615,Suburb large,24.89,17.4,1,0.54,41.3773,-87.4501
-1804470,Western School Corporation,2570,Rural fringe,14.280000000000001,23.5,1,0.52,40.437206,-86.243679
-1804500,Wes-Del Community Schools,893,Rural fringe,7.5,52.07000000000001,1.34,0.74,40.2819,-85.5008
-1804560,School Town of Highland,3072,Suburb large,48.730000000000004,34.410000000000004,1,0.75,41.54669,-87.461241
-1804590,School City of Hobart,4039,Suburb large,38.67,44.99,1.37,0.87,41.527529,-87.258326
-1804620,River Forest Community Sch Corp,1583,Suburb large,63.3,57.13,1.74,1.18,41.55843,-87.275051
-1804710,Huntington Co Com Sch Corp,4996,Town distant,8.59,42.29,1.37,0.71,40.696161,-85.428496
-1804770,Indianapolis Public Schools,22115,City large,78.9,62.94,2.14,1.42,39.777329,-86.154602
-1804800,Jac-Cen-Del Community Sch Corp,773,Rural distant,3.49,46.83,1.33,0.7,39.13572,-85.293851
-1804980,Jay School Corporation,2984,Rural fringe,10.09,51.739999999999995,1.34,0.76,40.43277,-85.005841
-1805190,Jennings County School Corporation,4023,Rural fringe,10.76,56.25,1.7,0.9,39.0041,-85.6284
-1805280,Kankakee Valley School Corp,3252,Rural distant,14.729999999999999,41.54,1.34,0.73,41.18824,-87.149751
-1805340,Knox Community School Corp,1751,Town distant,7.539999999999999,58.02,1.42,0.8,41.28637,-86.624911
-1805370,Kokomo School Corporation,5301,City small,42.26,56.120000000000005,1.74,1.07,40.468878,-86.1327
-1805400,Lafayette School Corporation,7430,City small,56.84,66.75999999999999,1.74,1.2,40.420262,-86.871837
-1805450,Lake Central School Corporation,9418,Suburb large,35.49,23.89,1,0.63,41.46857,-87.471141
-1805460,Lake Ridge New Tech Schools,1559,Suburb large,65.75,89.8,2.18,1.5,41.548791,-87.412375
-1805520,Lakeland School Corporation,1682,Town distant,27.47,39.42,2.05,1.02,41.65257,-85.409874
-1805550,Wawasee Community School Corp,2925,Rural fringe,14.430000000000001,43.9,1.73,0.87,41.41436,-85.749551
-1805580,LaPorte Community School Corp,6323,City small,24.959999999999997,49.980000000000004,1.69,0.94,41.589005,-86.718599
-1805670,MSD Lawrence Township,16247,Suburb large,81.07,59.68,1.75,1.29,39.877418,-85.97163
-1805700,Lawrenceburg Community School Corp,2099,Town fringe,11.34,34.92,1.37,0.69,39.09837,-84.854571000000007
-1805790,Lebanon Community School Corp,3351,Town fringe,15.73,33.57,1,0.58,40.061596,-86.46191
-1805910,Linton-Stockton School Corporation,1378,Town distant,4.79,46.73,1,0.59,39.041315,-87.164698
-1806030,Logansport Community Sch Corp,4331,Town distant,56.57,54.67999999999999,2.05,1.24,40.756279,-86.329565
-1806060,Loogootee Community Sch Corp,733,Rural fringe,5.319999999999999,34.92,1,0.53,38.677986,-86.921344
-1806080,MSD Warren County,1363,Rural distant,5.87,43.43,1,0.58,40.28723,-87.293731
-1806090,Maconaquah School Corp,1961,Rural fringe,17.54,53.239999999999995,1.4,0.82,40.65177,-86.060551
-1806120,Madison Consolidated Schools,2704,Town distant,10.870000000000001,44.58,1.37,0.74,38.7725,-85.406
-1806240,Madison-Grant United School Corp,1262,Rural fringe,12.280000000000001,38.75,1.77,0.85,40.384406,-85.673389
-1806390,Marion Community Schools,3753,Town distant,52.14,67.25,2.09,1.29,40.53881,-85.668787
-1806480,Sheridan Community Schools,1052,Town fringe,8.559999999999999,33.37,1.35,0.66,40.146971,-86.216739
-1806510,MSD Martinsville Schools,4086,Town fringe,6.140000000000001,40.06,1.34,0.68,39.42561,-86.423982
-1806570,Michigan City Area Schools,5314,City small,58.32000000000001,76.12,2.07,1.36,41.70713,-86.868301
-1806600,Middlebury Community Schools,4299,Rural fringe,15.790000000000001,24.8,1.34,0.65,41.6692,-85.7252
-1806630,Milan Community Schools,970,Rural distant,3.09,45.57,1.71,0.81,39.12057,-85.125021
-1806660,Mill Creek Community Sch Corp,1569,Rural distant,7.07,24.79,1.38,0.62,39.66463,-86.559671
-1806840,School City of Mishawaka,5274,City small,34.19,53.36,2.08,1.13,41.6494,-86.178631
-1806870,Mississinewa Community School Corp,2490,Town distant,18.029999999999998,63.78,1.73,0.98,40.486709,-85.607736
-1806900,Mitchell Community Schools,1490,Town distant,6.4399999999999995,56.779999999999994,2.1,1.02,38.7347,-86.4756
-1807020,Cowan Community School Corp,814,Rural fringe,9.71,47.79,1,0.62,40.107651,-85.392567
-1807080,Monroe Central School Corp,1105,Rural fringe,6.7,44.519999999999996,1,0.59,40.1923,-85.166
-1807110,Eastern Pulaski Community Sch Corp,1177,Town distant,8.84,44.86,1.35,0.72,41.04666,-86.598031
-1807140,Mooresville Con School Corp,4340,Suburb large,8.290000000000001,40.37,1,0.58,39.617008,-86.379932
-1807230,Yorktown Community Schools,2686,Suburb small,16.34,31.569999999999997,1,0.57,40.17208,-85.493291
-1807260,Mt Vernon Community School Corp,4526,Rural fringe,22.689999999999998,22.98,1,0.56,39.902383,-85.839252
-1807290,MSD Mount Vernon,2064,Town fringe,10.08,34.06,1.36,0.67,37.92903,-87.906781
-1807320,Muncie Community Schools,5141,City small,42.66,68.53,2.21,1.29,40.215894,-85.364629
-1807350,School Town of Munster,4148,Suburb large,48.94,17.86,1,0.67,41.55825,-87.501589
-1807380,Nettle Creek School Corporation,1110,Rural distant,5.949999999999999,39.550000000000004,1,0.56,39.91225,-85.158411
-1807410,New Albany-Floyd Co Con Sch,11570,Suburb large,23.669999999999998,31.11,1,0.61,38.31779,-85.822401
-1807440,New Castle Community School Corp,2886,Town distant,13.13,57.76,1.37,0.81,39.9247,-85.3815
-1807470,MSD of New Durham Township,873,Town fringe,13.29,35.05,1.4,0.71,41.542117,-86.894603
-1807560,New Prairie United School Corp,2869,Rural fringe,13.209999999999999,35.099999999999994,1,0.57,41.683111,-86.563958
-1807620,Nineveh-Hensley-Jackson United,2028,Rural distant,5.08,28.9,1.34,0.62,39.409725,-86.158623
-1807650,Noblesville Schools,10643,Suburb large,19.25,20.91,1,0.53,40.049557,-86.029136
-1807680,North Adams Community Schools,1628,Town distant,18.12,45.39,1.38,0.78,40.837025,-84.912741
-1807710,North Daviess Com Schools,1099,Rural remote,7.01,45.18,1.34,0.71,38.847419,-87.061919
-1807770,North Gibson School Corporation,1921,Rural fringe,18.01,41.8,2.03,0.98,38.367133,-87.580901
-1807800,North Judson-San Pierre Sch Corp,914,Rural distant,7.66,43.87,1.34,0.7,41.21095,-86.786121
-1807830,North Knox School Corp,1224,Rural distant,7.19,52.290000000000006,1,0.63,38.8365,-87.3157
-1807860,North Lawrence Com Schools,3886,Rural fringe,7.8,46.550000000000004,1.67,0.83,38.875238,-86.499834
-1807890,North Miami Community Schools,858,Rural distant,9.09,39.39,1.38,0.7,40.8952,-86.0676
-1807900,North Montgomery Com Sch Corp,1875,Rural distant,10.45,31.569999999999997,1,0.54,40.12362,-86.913131
-1807920,North Newton School Corp,1169,Rural distant,15.4,48.5,1.34,0.77,40.9439,-87.4519
-1807950,MSD North Posey Co Schools,1483,Rural distant,6.47,29.67,1,0.51,38.17251,-87.784911
-1807980,North Putnam Community Schools,1360,Rural distant,3.9699999999999998,44.67,1.35,0.69,39.763336,-86.81226
-1808010,North Spencer County Sch Corp,2081,Rural distant,10.24,31.81,1,0.54,38.119595,-86.984965
-1808040,Tri-Central Community Schools,761,Rural fringe,12.22,42.58,1,0.61,40.373099,-86.051536
-1808070,North Vermillion Com Sch Corp,694,Rural distant,5.76,47.260000000000005,2.05,0.95,39.966972,-87.452011
-1808100,North West Hendricks Schools,1955,Rural fringe,9.1,21.64,1,0.49,39.885424,-86.546518
-1808120,Northeast Dubois Co Sch Corp,876,Rural distant,4.34,21.58,1,0.46,38.4453,-86.8058
-1808130,North White School Corp,909,Rural distant,51.6,74.15,1.78,1.22,40.86873,-86.874851
-1808160,Northeast School Corp,786,Rural distant,3.18,59.29,1.36,0.76,39.183742,-87.395781
-1808190,Northeastern Wayne Schools,1317,Rural distant,7.06,40.17,1.36,0.69,39.95541,-84.920481
-1808220,Northern Wells Community Schools,2467,Rural distant,9.77,25.540000000000003,1,0.51,40.882768,-85.16586
-1808250,Northwest Allen County Schools,7955,Rural fringe,19.06,17.69,1,0.52,41.2048,-85.1331
-1808280,Shenandoah School Corporation,1351,Rural distant,5.33,26.35,1.36,0.61,40.0064,-85.528
-1808310,Northwestern Con School Corp,1462,Rural fringe,7.870000000000001,32.08,1.36,0.65,39.6104,-85.8736
-1808340,Oak Hill United School Corp,1642,Rural distant,11.33,37.88,1.35,0.7,40.573296,-85.825413
-1808460,Oregon-Davis School Corp,478,Rural distant,6.9,57.11000000000001,1.74,0.9,41.38869,-86.551391
-1808490,Orleans Community Schools,887,Rural distant,3.38,56.14,1.37,0.75,38.6689,-86.4557
-1808640,Paoli Community School Corp,1287,Town distant,6.68,57.809999999999995,1,0.66,38.550426,-86.477041
-1809600,NA,NA,NA,NA,NA,NA,NA,NA,NA
-1810950,NA,NA,NA,NA,NA,NA,NA,NA,NA
-1801230,NA,NA,NA,NA,NA,NA,NA,NA,NA
-1809370,NA,NA,NA,NA,NA,NA,NA,NA,NA
-1806270,NA,NA,NA,NA,NA,NA,NA,NA,NA
-1805880,NA,NA,NA,NA,NA,NA,NA,NA,NA
-1810230,NA,NA,NA,NA,NA,NA,NA,NA,NA
-1803840,NA,NA,NA,NA,NA,NA,NA,NA,NA
+leaid,lea_name,cf,enrollment,urban_centric_locale,urm_pct,frl_pct,academic,scoScore
+1808760,Penn-Harris-Madison School Corp,FALSE,11513,Suburb large,28.499999999999996,22.53,1,0.59
+1808820,Perry Township Schools,FALSE,16603,City large,62.32,69.28999999999999,1.37,1.11
+1808850,Peru Community Schools,FALSE,1982,Town distant,15.39,51.970000000000006,1.33,0.78
+1808900,Pike County School Corp,FALSE,1618,Rural distant,4.82,47.65,1.35,0.71
+1808910,MSD Pike Township,FALSE,10928,City large,92.95,63,1.78,1.37
+1808940,Pioneer Regional School Corp,FALSE,979,Rural distant,9.81,50.71,1.77,0.89
+1808970,Plainfield Community School Corp,FALSE,5766,Suburb large,20.5,24.779999999999998,1,0.56
+1809000,East Porter County School Corp,FALSE,2441,Rural fringe,12.370000000000001,15.9,1,0.47
+1809060,Plymouth Community School Corp,FALSE,3359,Town distant,33.22,52.370000000000005,2.05,1.11
+1809120,John Glenn School Corporation,FALSE,2003,Rural fringe,9.89,38.940000000000005,1,0.58
+1809150,Portage Township Schools,FALSE,6963,Suburb large,47.94,49.99,1.7,1.06
+1809180,Porter Township School Corp,FALSE,1494,Rural fringe,19.28,24.16,1.4,0.68
+1809300,Prairie Heights Community Sch Corp,FALSE,1356,Rural distant,7.670000000000001,23.599999999999998,1.34,0.6
+1809360,West Central School Corp,FALSE,636,Rural remote,12.26,49.21,1.34,0.75
+1809420,Rensselaer Central School Corp,FALSE,1539,Town distant,17.150000000000002,36.91,1.34,0.72
+1809480,Richland-Bean Blossom C S C,FALSE,2705,Suburb midsize,9.76,33.52,1.36,0.67
+1809510,Richmond Community Schools,FALSE,4638,Town distant,36.29,74.22999999999999,1.77,1.14
+1809630,Rochester Community School Corp,FALSE,1692,Town distant,9.520000000000001,51.06,1.72,0.88
+1809690,Merrillville Community School Corp,FALSE,6055,Suburb large,89.31,63.27,1.69,1.33
+1809720,Rossville Con School District,FALSE,945,Rural distant,7.199999999999999,23.810000000000002,1,0.49
+1809750,Rush County Schools,FALSE,1913,Town distant,7.16,57.11000000000001,1,0.65
+1809810,Salem Community Schools,FALSE,1745,Town distant,6.069999999999999,51.980000000000004,1.73,0.87
+1809840,Daleville Community Schools,FALSE,984,Suburb small,7.109999999999999,47.760000000000005,1.38,0.73
+1809990,Scott County School District 1,FALSE,1246,Town distant,6.9,53.97,2.15,1.02
+1810020,Scott County School District 2,FALSE,2610,Town distant,6.21,57.07,1.35,0.77
+1810080,Seymour Community Schools,FALSE,5281,Town distant,44.82,54.96,2.12,1.21
+1810110,MSD Shakamak Schools,FALSE,673,Rural distant,4.75,45.62,1.34,0.7
+1810140,Shelbyville Central Schools,FALSE,4052,Town distant,24.560000000000002,48.199999999999996,1.33,0.81
+1810170,Shoals Community School Corp,FALSE,689,Rural distant,4.06,58.93000000000001,1.36,0.77
+1810260,South Adams Schools,FALSE,1250,Town distant,14.96,41.44,1,0.62
+1810290,South Bend Community School Corp,FALSE,15964,City midsize,72.74000000000001,61.19,2.19,1.4
+1810350,South Gibson School Corporation,FALSE,2069,Rural distant,6.279999999999999,23.44,1,0.48
+1810360,South Harrison Com Schools,FALSE,3071,Town fringe,10.620000000000001,46.08,1,0.62
+1810380,South Henry School Corp,FALSE,707,Rural distant,5.94,45.2,1.37,0.71
+1810410,South Knox School Corp,FALSE,1236,Rural distant,3.4799999999999995,35.52,1,0.53
+1810440,South Madison Com Sch Corp,FALSE,4481,Suburb small,11.49,27.810000000000002,1,0.53
+1810450,South Montgomery Com Sch Corp,FALSE,1625,Rural distant,7.82,29.349999999999998,1,0.52
+1810470,South Newton School Corp,FALSE,844,Rural remote,18.01,49.76,1.75,0.92
+1810500,South Putnam Community Schools,FALSE,1060,Rural distant,6.23,40.660000000000004,1,0.57
+1810530,South Ripley Com Sch Corp,FALSE,1095,Rural distant,5.0200000000000005,40.73,1,0.56
+1810560,South Spencer County Sch Corp,FALSE,1111,Rural distant,6.660000000000001,43.919999999999995,1.33,0.7
+1810590,South Vermillion Com Sch Corp,FALSE,1615,Rural fringe,4.3999999999999995,53,1.36,0.74
+1810620,Southeast Fountain School Corp,FALSE,988,Rural distant,9.719999999999999,48.480000000000004,1.35,0.74
+1810640,Southeast Dubois Co Sch Corp,FALSE,1276,Rural distant,6.43,23.669999999999998,1,0.48
+1810650,Hamilton Southeastern Schools,FALSE,21603,Suburb large,31.119999999999997,15.509999999999998,1,0.57
+1810680,Lewis Cass Schools,FALSE,1393,Rural distant,13.930000000000001,44.72,1.36,0.75
+1810710,Southern Hancock Co Com Sch Corp,FALSE,3756,Rural fringe,8.68,24.6,1,0.5
+1810740,Randolph Southern School Corp,FALSE,518,Rural distant,9.27,45.75,1.35,0.73
+1810770,Southern Wells Com Schools,FALSE,845,Rural distant,4.97,37.51,1,0.55
+1810800,Southwestern-Jefferson Co Con,FALSE,1303,Rural fringe,10.13,55.95,1.41,0.8
+1810830,Southwestern Con Sch Shelby Co,FALSE,596,Rural distant,6.21,37.580000000000005,1.35,0.67
+1810860,Southwest School Corporation,FALSE,1650,Rural fringe,4.91,46.61,1.68,0.82
+1810870,Southwest Dubois Co Sch Corp,FALSE,1898,Rural fringe,36.25,44.84,1.35,0.85
+1810900,Southwest Parke Com Sch Corp,FALSE,1040,Rural distant,7.02,51.92,1.73,0.87
+1810920,School Town of Speedway,FALSE,1863,Suburb large,61.14000000000001,51.480000000000004,1,0.9
+1810980,Springs Valley Com School Corp,FALSE,835,Rural distant,11.86,47.9,1.73,0.88
+1811100,MSD Steuben County,FALSE,2581,Rural fringe,16.31,36.730000000000004,1.68,0.83
+1811190,Sunman-Dearborn Com Sch Corp,FALSE,3770,Rural distant,4.96,18.060000000000002,1.34,0.56
+1811220,Switzerland County School Corp,FALSE,1494,Rural distant,5.76,50.739999999999995,1.38,0.74
+1811250,Taylor Community School Corp,FALSE,1302,Rural fringe,34.1,53.99,2.13,1.15
+1811260,Tell City-Troy Twp School Corp,FALSE,1416,Rural fringe,8.62,45.06,1.71,0.84
+1811340,Tippecanoe School Corp,FALSE,13591,Suburb midsize,29.599999999999998,35.699999999999996,1.34,0.77
+1811370,Tippecanoe Valley School Corp,FALSE,1805,Rural distant,18.84,50.36000000000001,1.35,0.8
+1811400,Tipton Community School Corp,FALSE,1444,Town fringe,9.9,37.6,1.34,0.69
+1811430,Tri-County School Corporation,FALSE,764,Rural distant,14.01,38.22,1.34,0.71
+1811460,Tri-Creek School Corporation,FALSE,3229,Rural fringe,14.649999999999999,24.84,1,0.53
+1811490,Triton School Corporation,FALSE,918,Rural distant,8.93,34.86,1.37,0.67
+1811580,Twin Lakes School Corp,FALSE,2252,Town distant,18.12,58.63,1.68,0.95
+1811610,Union Co/Clg Corner Joint Sch Dist,FALSE,1299,Rural distant,5.47,47.04,1,0.6
+1811700,Union Township School Corp,FALSE,1407,Rural fringe,17.84,27.29,1,0.56
+1811730,Union School Corporation,FALSE,6338,Rural distant,32.22,62.7,1.77,1.06
+1811910,Union-North United School Corp,FALSE,1274,Rural distant,10.83,43.72,1,0.61
+1811970,Valparaiso Community Schools,FALSE,6356,Suburb large,24.48,28.349999999999998,1,0.6
+1812060,Crothersville Community Schools,TRUE,482,Rural distant,7.26,60.79,1.76,1.01
+1812090,Vigo County School Corp,FALSE,13940,City small,19.54,54.379999999999995,2.07,1.06
+1812120,Vincennes Community School Corp,FALSE,2818,Town remote,13.52,47.23,1,0.64
+1812150,Wabash City Schools,FALSE,1569,Town distant,8.799999999999999,50.29,1.41,0.77
+1812180,MSD Wabash County Schools,FALSE,2125,Rural distant,9.04,45.93,1.38,0.73
+1812240,Wa-Nee Community Schools,FALSE,2878,Town fringe,16.68,29.64,1,0.56
+1812360,MSD Warren Township,FALSE,11801,City large,82.97,59.27,2.14,1.42
+1812390,Warrick County School Corp,FALSE,10070,Suburb midsize,13.07,28.82,1,0.54
+1812420,Warsaw Community Schools,FALSE,6731,Town distant,28.84,42.24,1.33,0.8
+1812450,Washington Community Schools,FALSE,2443,Town remote,32.17,61.519999999999996,1.7,1.03
+1812720,MSD Washington Township,FALSE,10901,City large,71.31,38.86,1.74,1.13
+1812810,MSD Wayne Township,FALSE,16343,City large,75.59,61.28,2.13,1.39
+1812870,West Lafayette Com School Corp,FALSE,2369,City small,43.35,16.17,1,0.63
+1812880,Frankton-Lapel Community Schools,FALSE,3132,Rural fringe,8.08,32.019999999999996,1,0.53
+1812900,West Noble School Corporation,FALSE,2202,Rural fringe,55.45,46.589999999999996,1.72,1.08
+1812930,West Washington School Corp,FALSE,872,Rural distant,5.62,100,1.33,0.97
+1812990,Western Boone Co Com Sch Dist,FALSE,1676,Rural distant,6.09,31.380000000000003,1,0.52
+1813050,Western Wayne Schools,FALSE,801,Town distant,6.99,54.559999999999995,1.41,0.78
+1813080,Westfield-Washington Schools,FALSE,8820,Suburb large,22.189999999999998,15.8,1,0.52
+1813110,Westview School Corporation,FALSE,2107,Rural distant,5.7,21.36,1,0.47
+1813200,School City of Whiting,FALSE,1158,Suburb large,81.78,62.870000000000005,1.69,1.29
+1813230,Whitko Community School Corp,FALSE,1243,Rural distant,7.48,41.83,1,0.58
+1800008,White River Valley School District,FALSE,794,Rural distant,9.19,59.95,1,0.68
+1800030,MSD Southwest Allen County Schls,FALSE,7800,Suburb large,24.26,17.560000000000002,1.35,0.66
+1800060,Adams Central Community Schools,FALSE,1326,Rural distant,7.62,19.98,1,0.47
+1800107,Tri-Township Cons School Corp,FALSE,332,Rural distant,5.12,33.73,1.38,0.65
+1800118,North Central Parke Comm Schl Corp,FALSE,1181,Town distant,7.79,56.730000000000004,1.37,0.78
+1800120,Alexandria Community School Corp,FALSE,1534,Suburb small,11.93,52.09,1,0.65
+1800150,Anderson Community School Corp,FALSE,6470,City small,49.24,69.26,2.12,1.3
+1800180,Argos Community Schools,FALSE,645,Rural distant,8.53,45.269999999999996,1,0.6
+1800210,Attica Consolidated School Corp,FALSE,615,Town distant,8.62,50.64999999999999,1.37,0.75
+1800213,Silver Creek School Corporation,FALSE,2993,Suburb large,18.94,20.05,1.33,0.64
+1800240,South Dearborn Community Sch Corp,FALSE,1960,Rural fringe,5.510000000000001,41.31,1.72,0.81
+1800270,Avon Community School Corp,FALSE,10310,Suburb large,43.5,33.25,1,0.72
+1800330,Barr-Reeve Community Schools Inc,FALSE,995,Rural distant,3.32,22.509999999999998,1,0.46
+1800360,Bartholomew Con School Corp,FALSE,11691,City small,32.300000000000004,40.06,1.69,0.92
+1800390,Batesville Community School Corp,FALSE,2187,Rural fringe,8.64,24.87,1,0.5
+1800420,Baugo Community Schools,FALSE,1838,Suburb midsize,22.91,21.55,1,0.56
+1800450,Beech Grove City Schools,FALSE,2837,Suburb large,35.5,46.489999999999995,2.06,1.1
+1800480,Benton Community School Corp,FALSE,1619,Rural distant,14.95,49.47,1.37,0.78
+1800570,Blackford County Schools,FALSE,1552,Rural fringe,9.99,46.26,1.33,0.73
+1800600,Bloomfield School District,FALSE,854,Town distant,6.5600000000000005,41.92,1,0.58
+1800630,Monroe County Community Sch Corp,FALSE,10613,City small,25.44,30.65,1,0.61
+1800660,Blue River Valley Schools,FALSE,636,Rural fringe,5.029999999999999,46.23,1.37,0.71
+1800690,North Harrison Com School Corp,FALSE,2157,Rural fringe,5.9799999999999995,41.43,1,0.57
+1800720,MSD Bluffton-Harrison,FALSE,1802,Town distant,13.43,39.839999999999996,1.36,0.72
+1800750,MSD Boone Township,FALSE,1029,Rural fringe,15.939999999999998,42.370000000000005,1.38,0.75
+1800840,Clay Community Schools,FALSE,4014,Rural fringe,6.2,46.79,1.35,0.72
+1800900,Bremen Public Schools,FALSE,1479,Town distant,31.91,38.269999999999996,1,0.68
+1800960,Brown County School Corporation,FALSE,1693,Rural distant,6.02,44.36,1.74,0.83
+1801020,Brownsburg Community School Corp,FALSE,9799,Suburb large,32.28,24.01,1,0.61
+1801050,Brownstown Cnt Com Sch Corp,FALSE,1450,Town distant,4.97,38.62,1.71,0.79
+1801060,C A Beard Memorial School Corp,FALSE,1105,Rural fringe,5.34,42.99,1,0.57
+1801170,Cannelton City Schools,FALSE,239,Town distant,10.040000000000001,65.27,2.13,1.09
+1801200,Carmel Clay Schools,FALSE,16215,City small,30.44,9.98,1,0.54
+1801290,Carroll Consolidated School Corp,FALSE,1066,Rural distant,9.01,42.5,1,0.59
+1801410,Caston School Corporation,FALSE,745,Rural distant,8.86,48.05,1.39,0.75
+1801440,Center Grove Community School Corp,FALSE,9173,Suburb large,19.009999999999998,18.69,1,0.52
+1801560,Centerville-Abington Com Schs,FALSE,1790,Town distant,10.56,31.96,1,0.55
+1801590,DeKalb Co Ctl United Sch Dist,FALSE,3609,Town fringe,8.17,40.65,1.35,0.69
+1801710,Central Noble Com School Corp,FALSE,1175,Rural distant,5.36,35.32,1.37,0.66
+1801740,Perry Central Com Schools Corp,FALSE,1275,Rural remote,3.92,32.47,1,0.52
+1801770,Randolph Central School Corp,FALSE,1395,Town distant,9.46,39.64,1.4,0.71
+1801890,Clark-Pleasant Community Sch Corp,FALSE,6809,Suburb large,31.97,40.37,1,0.7
+1801920,Clarksville Community School Corp,FALSE,3129,Suburb large,36.370000000000005,32.85,2.2,1.08
+1802040,Northwestern School Corp,FALSE,1894,Rural fringe,10.03,25.61,1,0.51
+1802130,Clinton Central School Corporation,FALSE,868,Rural distant,9.56,42.970000000000006,1,0.6
+1802160,Clinton Prairie School Corporation,FALSE,1209,Rural fringe,9.1,41.52,1,0.59
+1802190,South Central Com School Corp,FALSE,945,Rural distant,11.110000000000001,34.599999999999994,1,0.56
+1802220,Cloverdale Community Schools,FALSE,1406,Rural distant,9.17,42.46,1.35,0.71
+1802280,Whitley County Con Schools,FALSE,3652,Rural fringe,9.28,27.11,1.36,0.64
+1802400,Concord Community Schools,FALSE,5235,Suburb midsize,59.41,46.61,1.72,1.1
+1802430,Covington Community School Corp,FALSE,858,Town fringe,8.86,30.19,1.34,0.64
+1802440,Crawford County Community Sch Corp,FALSE,1342,Rural distant,3.8699999999999997,60.36,2.08,1.02
+1802460,Crawfordsville Community Schools,FALSE,2504,Town distant,26.88,57.63,1.71,1
+1802490,Crown Point Community School Corp,FALSE,8819,Suburb large,24.5,19.75,1,0.55
+1802520,Culver Community Schools Corp,FALSE,827,Rural distant,15.72,51.51,1.71,0.9
+1802550,Danville Community School Corp,FALSE,2557,Suburb large,10.639999999999999,24.21,1,0.51
+1802610,Decatur County Community Schools,FALSE,1824,Rural fringe,4.99,45.94,1,0.59
+1802640,MSD Decatur Township,FALSE,6681,City large,43.8,55.88999999999999,1.7,1.07
+1802660,Delaware Community School Corp,FALSE,2571,Rural fringe,9.53,38.82,1.34,0.69
+1802700,Delphi Community School Corp,FALSE,1429,Rural fringe,14.56,49.059999999999995,1.75,0.9
+1802800,Duneland School Corporation,FALSE,5831,Suburb large,22.21,25.88,1,0.57
+1802830,Zionsville Community Schools,FALSE,7784,Suburb large,19.400000000000002,5.2,1,0.46
+1802850,East Allen County Schools,FALSE,10126,Suburb large,39.290000000000006,48.449999999999996,1.35,0.89
+1802880,School City of East Chicago,FALSE,3378,Suburb large,98.02,75.85,2.26,1.62
+1802910,Lake Station Community Schools,FALSE,1154,Suburb large,61.79,76.42999999999999,1.78,1.28
+1802940,East Gibson School Corporation,FALSE,749,Town distant,6.54,50.2,1.34,0.73
+1802970,East Noble School Corporation,FALSE,3450,Town distant,9.59,45.300000000000004,1.36,0.73
+1803000,East Washington School Corp,FALSE,1416,Rural distant,6.43,40.47,1.34,0.68
+1803030,Eastbrook Community Sch Corp,FALSE,1634,Rural distant,8.51,31.879999999999995,1,0.54
+1803060,DeKalb Co Eastern Com Sch Dist,FALSE,1237,Rural fringe,6.3100000000000005,37.51,1,0.55
+1803090,Eastern Greene Schools,FALSE,1098,Rural distant,5.56,47.04,1.36,0.72
+1803120,Eastern Hancock Co Com Sch Corp,FALSE,1161,Rural distant,4.569999999999999,29.29,1,0.5
+1803150,Eastern Howard School Corporation,FALSE,1566,Town fringe,8.75,41.699999999999996,1,0.59
+1803180,Randolph Eastern School Corp,FALSE,897,Town distant,38.129999999999995,56.19,1.69,1.03
+1803210,Shelby Eastern Schools,FALSE,1165,Rural distant,3.95,35.79,1,0.53
+1803240,Edinburgh Community School Corp,TRUE,849,Suburb small,12.6,66.2,1.73,1
+1803270,Elkhart Community Schools,FALSE,11659,City small,61.24000000000001,53.81,1.76,1.16
+1803300,Elwood Community School Corp,FALSE,1494,Town fringe,12.120000000000001,52.61,1.36,0.78
+1803330,Eminence Community School Corp,FALSE,318,Rural distant,5.029999999999999,46.54,1.37,0.71
+1803450,Evansville Vanderburgh School Corp,FALSE,21942,City midsize,33.21,45.26,2.06,1.08
+1803480,Fairfield Community Schools,FALSE,2171,Rural fringe,10.69,22.11,1,0.5
+1803510,Fayette County School Corporation,FALSE,3305,Town distant,5.63,60.85,1.35,0.78
+1803570,Flat Rock-Hawcreek School Corp,FALSE,967,Rural distant,7.140000000000001,38.37,1.37,0.68
+1803630,Fort Wayne Community Schools,FALSE,28778,City large,61.88,65.29,1.75,1.22
+1803660,Community Schools of Frankfort,FALSE,3055,Rural fringe,57.410000000000004,69.95,1.73,1.21
+1803690,Franklin Community School Corp,FALSE,4966,Suburb large,13.950000000000001,37.25,1.34,0.7
+1803700,Franklin County Community Sch Corp,FALSE,2098,Rural distant,2.5700000000000003,41.52,1,0.55
+1803720,Lanesville Community School Corp,FALSE,742,Rural fringe,5.66,22.37,1.37,0.6
+1803750,Franklin Township Com Sch Corp,FALSE,11139,City large,38.690000000000005,42.89,1.34,0.86
+1803780,Fremont Community Schools,FALSE,982,Rural distant,5.6000000000000005,34.32,1,0.53
+1803810,Frontier School Corporation,FALSE,675,Rural distant,5.93,24.3,1.34,0.6
+1803870,Gary Community School Corp,FALSE,4374,City small,98.77,85.53,2.25,1.67
+1803930,Goshen Community Schools,FALSE,6364,City small,63.2,54.98,1.71,1.16
+1803940,Greater Clark County Schools,FALSE,10320,Suburb large,42.480000000000004,51.6,1.34,0.92
+1803960,Greater Jasper Consolidated Schs,FALSE,3235,Rural fringe,22.23,35.52,1,0.62
+1803990,Greencastle Community School Corp,FALSE,1842,Town distant,7.55,43.43,1,0.59
+1804050,Greenfield-Central Com Schools,FALSE,4421,Suburb large,10.34,31.830000000000002,1,0.54
+1804080,Greensburg Community Schools,FALSE,2178,Town distant,8.260000000000002,39.76,1.35,0.69
+1804110,Greenwood Community Sch Corp,FALSE,3968,Suburb large,26.229999999999997,38.1,1,0.65
+1804140,Monroe-Gregg School District,TRUE,1539,Rural fringe,7.08,32.1,2.07,1
+1804170,Griffith Public Schools,FALSE,2005,Suburb large,54.71,48.88,1.69,1.08
+1804230,Hamilton Community Schools,TRUE,359,Rural distant,6.69,36.49,2.08,1
+1804260,Hamilton Heights School Corp,FALSE,2302,Suburb large,7.08,27.54,1,0.51
+1804320,School City of Hammond,FALSE,11957,Suburb large,89.25999999999999,73.41,2.2,1.55
+1804350,Hanover Community School Corp,FALSE,2615,Suburb large,24.89,17.4,1,0.54
+1804470,Western School Corporation,FALSE,2570,Rural fringe,14.280000000000001,23.5,1,0.52
+1804500,Wes-Del Community Schools,FALSE,893,Rural fringe,7.5,52.07000000000001,1.34,0.74
+1804560,School Town of Highland,FALSE,3072,Suburb large,48.730000000000004,34.410000000000004,1,0.75
+1804590,School City of Hobart,FALSE,4039,Suburb large,38.67,44.99,1.37,0.87
+1804620,River Forest Community Sch Corp,FALSE,1583,Suburb large,63.3,57.13,1.74,1.18
+1804710,Huntington Co Com Sch Corp,FALSE,4996,Town distant,8.59,42.29,1.37,0.71
+1804770,Indianapolis Public Schools,FALSE,22115,City large,78.9,62.94,2.14,1.42
+1804800,Jac-Cen-Del Community Sch Corp,FALSE,773,Rural distant,3.49,46.83,1.33,0.7
+1804980,Jay School Corporation,FALSE,2984,Rural fringe,10.09,51.739999999999995,1.34,0.76
+1805190,Jennings County School Corporation,FALSE,4023,Rural fringe,10.76,56.25,1.7,0.9
+1805280,Kankakee Valley School Corp,FALSE,3252,Rural distant,14.729999999999999,41.54,1.34,0.73
+1805340,Knox Community School Corp,FALSE,1751,Town distant,7.539999999999999,58.02,1.42,0.8
+1805370,Kokomo School Corporation,FALSE,5301,City small,42.26,56.120000000000005,1.74,1.07
+1805400,Lafayette School Corporation,FALSE,7430,City small,56.84,66.75999999999999,1.74,1.2
+1805450,Lake Central School Corporation,FALSE,9418,Suburb large,35.49,23.89,1,0.63
+1805460,Lake Ridge New Tech Schools,FALSE,1559,Suburb large,65.75,89.8,2.18,1.5
+1805520,Lakeland School Corporation,FALSE,1682,Town distant,27.47,39.42,2.05,1.02
+1805550,Wawasee Community School Corp,FALSE,2925,Rural fringe,14.430000000000001,43.9,1.73,0.87
+1805580,LaPorte Community School Corp,FALSE,6323,City small,24.959999999999997,49.980000000000004,1.69,0.94
+1805670,MSD Lawrence Township,FALSE,16247,Suburb large,81.07,59.68,1.75,1.29
+1805700,Lawrenceburg Community School Corp,FALSE,2099,Town fringe,11.34,34.92,1.37,0.69
+1805790,Lebanon Community School Corp,FALSE,3351,Town fringe,15.73,33.57,1,0.58
+1805910,Linton-Stockton School Corporation,FALSE,1378,Town distant,4.79,46.73,1,0.59
+1806030,Logansport Community Sch Corp,FALSE,4331,Town distant,56.57,54.67999999999999,2.05,1.24
+1806060,Loogootee Community Sch Corp,FALSE,733,Rural fringe,5.319999999999999,34.92,1,0.53
+1806080,MSD Warren County,FALSE,1363,Rural distant,5.87,43.43,1,0.58
+1806090,Maconaquah School Corp,FALSE,1961,Rural fringe,17.54,53.239999999999995,1.4,0.82
+1806120,Madison Consolidated Schools,FALSE,2704,Town distant,10.870000000000001,44.58,1.37,0.74
+1806240,Madison-Grant United School Corp,FALSE,1262,Rural fringe,12.280000000000001,38.75,1.77,0.85
+1806390,Marion Community Schools,FALSE,3753,Town distant,52.14,67.25,2.09,1.29
+1806480,Sheridan Community Schools,FALSE,1052,Town fringe,8.559999999999999,33.37,1.35,0.66
+1806510,MSD Martinsville Schools,FALSE,4086,Town fringe,6.140000000000001,40.06,1.34,0.68
+1806570,Michigan City Area Schools,FALSE,5314,City small,58.32000000000001,76.12,2.07,1.36
+1806600,Middlebury Community Schools,FALSE,4299,Rural fringe,15.790000000000001,24.8,1.34,0.65
+1806630,Milan Community Schools,FALSE,970,Rural distant,3.09,45.57,1.71,0.81
+1806660,Mill Creek Community Sch Corp,FALSE,1569,Rural distant,7.07,24.79,1.38,0.62
+1806840,School City of Mishawaka,FALSE,5274,City small,34.19,53.36,2.08,1.13
+1806870,Mississinewa Community School Corp,TRUE,2490,Town distant,18.029999999999998,63.78,1.73,1.02
+1806900,Mitchell Community Schools,FALSE,1490,Town distant,6.4399999999999995,56.779999999999994,2.1,1.02
+1807020,Cowan Community School Corp,FALSE,814,Rural fringe,9.71,47.79,1,0.62
+1807080,Monroe Central School Corp,FALSE,1105,Rural fringe,6.7,44.519999999999996,1,0.59
+1807110,Eastern Pulaski Community Sch Corp,FALSE,1177,Town distant,8.84,44.86,1.35,0.72
+1807140,Mooresville Con School Corp,FALSE,4340,Suburb large,8.290000000000001,40.37,1,0.58
+1807230,Yorktown Community Schools,FALSE,2686,Suburb small,16.34,31.569999999999997,1,0.57
+1807260,Mt Vernon Community School Corp,FALSE,4526,Rural fringe,22.689999999999998,22.98,1,0.56
+1807290,MSD Mount Vernon,FALSE,2064,Town fringe,10.08,34.06,1.36,0.67
+1807320,Muncie Community Schools,FALSE,5141,City small,42.66,68.53,2.21,1.29
+1807350,School Town of Munster,FALSE,4148,Suburb large,48.94,17.86,1,0.67
+1807380,Nettle Creek School Corporation,FALSE,1110,Rural distant,5.949999999999999,39.550000000000004,1,0.56
+1807410,New Albany-Floyd Co Con Sch,FALSE,11570,Suburb large,23.669999999999998,31.11,1,0.61
+1807440,New Castle Community School Corp,FALSE,2886,Town distant,13.13,57.76,1.37,0.81
+1807470,MSD of New Durham Township,FALSE,873,Town fringe,13.29,35.05,1.4,0.71
+1807560,New Prairie United School Corp,FALSE,2869,Rural fringe,13.209999999999999,35.099999999999994,1,0.57
+1807620,Nineveh-Hensley-Jackson United,FALSE,2028,Rural distant,5.08,28.9,1.34,0.62
+1807650,Noblesville Schools,FALSE,10643,Suburb large,19.25,20.91,1,0.53
+1807680,North Adams Community Schools,FALSE,1628,Town distant,18.12,45.39,1.38,0.78
+1807710,North Daviess Com Schools,FALSE,1099,Rural remote,7.01,45.18,1.34,0.71
+1807770,North Gibson School Corporation,TRUE,1921,Rural fringe,18.01,41.8,2.03,1
+1807800,North Judson-San Pierre Sch Corp,FALSE,914,Rural distant,7.66,43.87,1.34,0.7
+1807830,North Knox School Corp,FALSE,1224,Rural distant,7.19,52.290000000000006,1,0.63
+1807860,North Lawrence Com Schools,FALSE,3886,Rural fringe,7.8,46.550000000000004,1.67,0.83
+1807890,North Miami Community Schools,FALSE,858,Rural distant,9.09,39.39,1.38,0.7
+1807900,North Montgomery Com Sch Corp,FALSE,1875,Rural distant,10.45,31.569999999999997,1,0.54
+1807920,North Newton School Corp,FALSE,1169,Rural distant,15.4,48.5,1.34,0.77
+1807950,MSD North Posey Co Schools,FALSE,1483,Rural distant,6.47,29.67,1,0.51
+1807980,North Putnam Community Schools,FALSE,1360,Rural distant,3.9699999999999998,44.67,1.35,0.69
+1808010,North Spencer County Sch Corp,FALSE,2081,Rural distant,10.24,31.81,1,0.54
+1808040,Tri-Central Community Schools,FALSE,761,Rural fringe,12.22,42.58,1,0.61
+1808070,North Vermillion Com Sch Corp,TRUE,694,Rural distant,5.76,47.260000000000005,2.05,1
+1808100,North West Hendricks Schools,FALSE,1955,Rural fringe,9.1,21.64,1,0.49
+1808120,Northeast Dubois Co Sch Corp,FALSE,876,Rural distant,4.34,21.58,1,0.46
+1808130,North White School Corp,FALSE,909,Rural distant,51.6,74.15,1.78,1.22
+1808160,Northeast School Corp,FALSE,786,Rural distant,3.18,59.29,1.36,0.76
+1808190,Northeastern Wayne Schools,FALSE,1317,Rural distant,7.06,40.17,1.36,0.69
+1808220,Northern Wells Community Schools,FALSE,2467,Rural distant,9.77,25.540000000000003,1,0.51
+1808250,Northwest Allen County Schools,FALSE,7955,Rural fringe,19.06,17.69,1,0.52
+1808280,Shenandoah School Corporation,FALSE,1351,Rural distant,5.33,26.35,1.36,0.61
+1808310,Northwestern Con School Corp,FALSE,1462,Rural fringe,7.870000000000001,32.08,1.36,0.65
+1808340,Oak Hill United School Corp,FALSE,1642,Rural distant,11.33,37.88,1.35,0.7
+1808460,Oregon-Davis School Corp,FALSE,478,Rural distant,6.9,57.11000000000001,1.74,0.9
+1808490,Orleans Community Schools,FALSE,887,Rural distant,3.38,56.14,1.37,0.75
+1808640,Paoli Community School Corp,FALSE,1287,Town distant,6.68,57.809999999999995,1,0.66
diff --git a/data/mds.csv b/data/mds.csv
new file mode 100644
index 0000000..cc0a561
--- /dev/null
+++ b/data/mds.csv
@@ -0,0 +1,282 @@
+lea_name,groups
+Penn-Harris-Madison School Corp,2
+Perry Township Schools,1
+Peru Community Schools,5
+Pike County School Corp,5
+MSD Pike Township,2
+Pioneer Regional School Corp,5
+Plainfield Community School Corp,3
+East Porter County School Corp,4
+Plymouth Community School Corp,4
+John Glenn School Corporation,5
+Portage Township Schools,3
+Porter Township School Corp,5
+Prairie Heights Community Sch Corp,5
+West Central School Corp,5
+Rensselaer Central School Corp,5
+Richland-Bean Blossom C S C,4
+Richmond Community Schools,4
+Rochester Community School Corp,5
+Merrillville Community School Corp,3
+Rossville Con School District,5
+Rush County Schools,5
+Salem Community Schools,5
+Daleville Community Schools,5
+Scott County School District 1,5
+Scott County School District 2,4
+Seymour Community Schools,3
+MSD Shakamak Schools,5
+Shelbyville Central Schools,4
+Shoals Community School Corp,5
+South Adams Schools,5
+South Bend Community School Corp,1
+South Gibson School Corporation,5
+South Harrison Com Schools,4
+South Henry School Corp,5
+South Knox School Corp,5
+South Madison Com Sch Corp,4
+South Montgomery Com Sch Corp,5
+South Newton School Corp,5
+South Putnam Community Schools,5
+South Ripley Com Sch Corp,5
+South Spencer County Sch Corp,5
+South Vermillion Com Sch Corp,5
+Southeast Fountain School Corp,5
+Southeast Dubois Co Sch Corp,5
+Hamilton Southeastern Schools,1
+Lewis Cass Schools,5
+Southern Hancock Co Com Sch Corp,4
+Randolph Southern School Corp,5
+Southern Wells Com Schools,5
+Southwestern-Jefferson Co Con,5
+Southwestern Con Sch Shelby Co,5
+Southwest School Corporation,5
+Southwest Dubois Co Sch Corp,5
+Southwest Parke Com Sch Corp,5
+School Town of Speedway,5
+Springs Valley Com School Corp,5
+MSD Steuben County,4
+Sunman-Dearborn Com Sch Corp,4
+Switzerland County School Corp,5
+Taylor Community School Corp,5
+Tell City-Troy Twp School Corp,5
+Tippecanoe School Corp,2
+Tippecanoe Valley School Corp,5
+Tipton Community School Corp,5
+Tri-County School Corporation,5
+Tri-Creek School Corporation,4
+Triton School Corporation,5
+Twin Lakes School Corp,5
+Union Co/Clg Corner Joint Sch Dist,5
+Union Township School Corp,5
+Union School Corporation,3
+Union-North United School Corp,5
+Valparaiso Community Schools,3
+Crothersville Community Schools,5
+Vigo County School Corp,2
+Vincennes Community School Corp,4
+Wabash City Schools,5
+MSD Wabash County Schools,5
+Wa-Nee Community Schools,4
+MSD Warren Township,2
+Warrick County School Corp,2
+Warsaw Community Schools,3
+Washington Community Schools,4
+MSD Washington Township,2
+MSD Wayne Township,1
+West Lafayette Com School Corp,4
+Frankton-Lapel Community Schools,4
+West Noble School Corporation,5
+West Washington School Corp,5
+Western Boone Co Com Sch Dist,5
+Western Wayne Schools,5
+Westfield-Washington Schools,2
+Westview School Corporation,5
+School City of Whiting,5
+Whitko Community School Corp,5
+White River Valley School District,5
+MSD Southwest Allen County Schls,3
+Adams Central Community Schools,5
+Tri-Township Cons School Corp,5
+North Central Parke Comm Schl Corp,5
+Alexandria Community School Corp,5
+Anderson Community School Corp,3
+Argos Community Schools,5
+Attica Consolidated School Corp,5
+South Dearborn Community Sch Corp,5
+Avon Community School Corp,2
+Barr-Reeve Community Schools Inc,5
+Bartholomew Con School Corp,2
+Batesville Community School Corp,5
+Baugo Community Schools,5
+Beech Grove City Schools,4
+Benton Community School Corp,5
+Blackford County Schools,5
+Bloomfield School District,5
+Monroe County Community Sch Corp,2
+Blue River Valley Schools,5
+North Harrison Com School Corp,5
+MSD Bluffton-Harrison,5
+MSD Boone Township,5
+Clay Community Schools,4
+Bremen Public Schools,5
+Brown County School Corporation,5
+Brownsburg Community School Corp,2
+Brownstown Cnt Com Sch Corp,5
+C A Beard Memorial School Corp,5
+Cannelton City Schools,5
+Carmel Clay Schools,1
+Carroll Consolidated School Corp,5
+Caston School Corporation,5
+Center Grove Community School Corp,2
+Centerville-Abington Com Schs,5
+DeKalb Co Ctl United Sch Dist,4
+Central Noble Com School Corp,5
+Perry Central Com Schools Corp,5
+Randolph Central School Corp,5
+Clark-Pleasant Community Sch Corp,3
+Clarksville Community School Corp,4
+Northwestern School Corp,5
+Clinton Central School Corporation,5
+Clinton Prairie School Corporation,5
+South Central Com School Corp,5
+Cloverdale Community Schools,5
+Whitley County Con Schools,4
+Concord Community Schools,3
+Covington Community School Corp,5
+Crawford County Community Sch Corp,5
+Crawfordsville Community Schools,4
+Crown Point Community School Corp,2
+Culver Community Schools Corp,5
+Danville Community School Corp,4
+Decatur County Community Schools,5
+MSD Decatur Township,3
+Delaware Community School Corp,4
+Delphi Community School Corp,5
+Duneland School Corporation,3
+Zionsville Community Schools,3
+East Allen County Schools,2
+School City of East Chicago,4
+Lake Station Community Schools,5
+East Gibson School Corporation,5
+East Noble School Corporation,4
+East Washington School Corp,5
+Eastbrook Community Sch Corp,5
+DeKalb Co Eastern Com Sch Dist,5
+Eastern Greene Schools,5
+Eastern Hancock Co Com Sch Corp,5
+Eastern Howard School Corporation,5
+Randolph Eastern School Corp,5
+Shelby Eastern Schools,5
+Edinburgh Community School Corp,5
+Elkhart Community Schools,2
+Elwood Community School Corp,5
+Eminence Community School Corp,5
+Evansville Vanderburgh School Corp,1
+Fairfield Community Schools,5
+Fayette County School Corporation,4
+Flat Rock-Hawcreek School Corp,5
+Fort Wayne Community Schools,1
+Community Schools of Frankfort,4
+Franklin Community School Corp,3
+Franklin County Community Sch Corp,5
+Lanesville Community School Corp,5
+Franklin Township Com Sch Corp,2
+Fremont Community Schools,5
+Frontier School Corporation,5
+Gary Community School Corp,4
+Goshen Community Schools,3
+Greater Clark County Schools,2
+Greater Jasper Consolidated Schs,4
+Greencastle Community School Corp,5
+Greenfield-Central Com Schools,4
+Greensburg Community Schools,5
+Greenwood Community Sch Corp,4
+Monroe-Gregg School District,5
+Griffith Public Schools,5
+Hamilton Community Schools,5
+Hamilton Heights School Corp,5
+School City of Hammond,2
+Hanover Community School Corp,4
+Western School Corporation,4
+Wes-Del Community Schools,5
+School Town of Highland,4
+School City of Hobart,4
+River Forest Community Sch Corp,5
+Huntington Co Com Sch Corp,3
+Indianapolis Public Schools,1
+Jac-Cen-Del Community Sch Corp,5
+Jay School Corporation,4
+Jennings County School Corporation,4
+Kankakee Valley School Corp,4
+Knox Community School Corp,5
+Kokomo School Corporation,3
+Lafayette School Corporation,3
+Lake Central School Corporation,2
+Lake Ridge New Tech Schools,5
+Lakeland School Corporation,5
+Wawasee Community School Corp,4
+LaPorte Community School Corp,3
+MSD Lawrence Township,1
+Lawrenceburg Community School Corp,5
+Lebanon Community School Corp,4
+Linton-Stockton School Corporation,5
+Logansport Community Sch Corp,4
+Loogootee Community Sch Corp,5
+MSD Warren County,5
+Maconaquah School Corp,5
+Madison Consolidated Schools,4
+Madison-Grant United School Corp,5
+Marion Community Schools,4
+Sheridan Community Schools,5
+MSD Martinsville Schools,4
+Michigan City Area Schools,3
+Middlebury Community Schools,4
+Milan Community Schools,5
+Mill Creek Community Sch Corp,5
+School City of Mishawaka,3
+Mississinewa Community School Corp,4
+Mitchell Community Schools,5
+Cowan Community School Corp,5
+Monroe Central School Corp,5
+Eastern Pulaski Community Sch Corp,5
+Mooresville Con School Corp,4
+Yorktown Community Schools,4
+Mt Vernon Community School Corp,4
+MSD Mount Vernon,5
+Muncie Community Schools,3
+School Town of Munster,4
+Nettle Creek School Corporation,5
+New Albany-Floyd Co Con Sch,2
+New Castle Community School Corp,4
+MSD of New Durham Township,5
+New Prairie United School Corp,4
+Nineveh-Hensley-Jackson United,5
+Noblesville Schools,2
+North Adams Community Schools,5
+North Daviess Com Schools,5
+North Gibson School Corporation,5
+North Judson-San Pierre Sch Corp,5
+North Knox School Corp,5
+North Lawrence Com Schools,4
+North Miami Community Schools,5
+North Montgomery Com Sch Corp,5
+North Newton School Corp,5
+MSD North Posey Co Schools,5
+North Putnam Community Schools,5
+North Spencer County Sch Corp,5
+Tri-Central Community Schools,5
+North Vermillion Com Sch Corp,5
+North West Hendricks Schools,5
+Northeast Dubois Co Sch Corp,5
+North White School Corp,5
+Northeast School Corp,5
+Northeastern Wayne Schools,5
+Northern Wells Community Schools,4
+Northwest Allen County Schools,3
+Shenandoah School Corporation,5
+Northwestern Con School Corp,5
+Oak Hill United School Corp,5
+Oregon-Davis School Corp,5
+Orleans Community Schools,5
+Paoli Community School Corp,5
diff --git a/data/school_test.csv b/data/school_test.csv
new file mode 100644
index 0000000..30a997f
--- /dev/null
+++ b/data/school_test.csv
@@ -0,0 +1,173 @@
+ncessch,school_id,lea_name,leaid,school_name,latitude,longitude,urban_centric_locale,school_level,frl,enrollment,frl_pct,white,black,hispanic,asian,amerindian,pacislander,more,total,urm_total,urm_pct,ac_indicator
+1.80E+11,1801065,MSD Decatur Township,1802640,Liberty Early Elementary School,39.71401,-86.24454,City large,Primary,200,616,0.324675325,436,83,60,2,5,0,33,619,183,0.295638126,NA
+1.80E+11,1800317,MSD Decatur Township,1802640,West Newton Elementary School,39.6532,-86.2785,City large,Primary,299,575,0.52,442,82,81,8,3,0,40,656,214,0.326219512,0.774
+1.80E+11,1802271,MSD Decatur Township,1802640,Valley Mills Elementary School,39.689259,-86.268394,City large,Primary,337,620,0.543548387,459,45,50,4,0,0,22,580,121,0.20862069,0.758
+1.80E+11,1800312,MSD Decatur Township,1802640,Decatur Central High School,39.6874,-86.2739,City large,High,1112,2011,0.552958727,1297,246,232,17,6,1,84,1883,586,0.311205523,0.919
+1.80E+11,1800313,MSD Decatur Township,1802640,Decatur Middle School,39.6891,-86.2712,City large,Middle,653,1092,0.597985348,695,120,115,6,1,0,57,994,299,0.300804829,0.136
+1.80E+11,1802112,MSD Decatur Township,1802640,Blue Academy,39.6823,-86.2483,City large,Primary,398,664,0.59939759,434,112,86,5,3,0,47,687,253,0.368267831,0.76
+1.80E+11,1800315,MSD Decatur Township,1802640,Stephen Decatur Elementary School,39.7122,-86.2291,City large,Primary,300,461,0.650759219,320,83,66,2,0,0,35,506,186,0.367588933,0.534
+1.80E+11,1802111,MSD Decatur Township,1802640,Gold Academy,39.6823,-86.2482,City large,Primary,435,638,0.681818182,444,80,67,0,2,2,43,638,194,0.304075235,0.825
+1.81E+11,1802339,MSD Lawrence Township,1805670,Amy Beverland Elementary,39.9039,-85.96,City large,Primary,274,783,0.349936143,438,221,46,17,1,0,74,797,359,0.450439147,0.877
+1.81E+11,1800150,MSD Lawrence Township,1805670,Forest Glen Elementary School,39.8718,-85.9983,Suburb large,Primary,323,783,0.412515964,211,101,350,7,0,1,49,719,508,0.706536857,0.881
+1.81E+11,1801031,MSD Lawrence Township,1805670,Lawrence North High School,39.8961,-86.0343,City large,High,1448,2844,0.509142053,685,1153,478,42,2,2,162,2524,1839,0.728605388,0.932
+1.81E+11,1801032,MSD Lawrence Township,1805670,Mary Evelyn Castle Elementary Sch,39.9081,-86.018,City large,Primary,382,715,0.534265734,241,208,181,8,1,1,61,701,460,0.656205421,0.727
+1.81E+11,1801029,MSD Lawrence Township,1805670,Lawrence Central High School,39.8562,-86.0398,Suburb large,High,1293,2255,0.573392461,508,1270,438,19,1,2,148,2386,1878,0.787091366,0.919
+1.81E+11,1802205,MSD Lawrence Township,1805670,Early Learning Center,39.877418,-85.97163,Suburb large,Primary,733,1270,0.577165354,360,590,300,23,3,1,112,1389,1029,0.740820734,NA
+1.81E+11,1801034,MSD Lawrence Township,1805670,Skiles Test Elementary School,39.8821,-86.0495,City large,Primary,308,527,0.584440228,73,332,58,3,0,1,27,494,421,0.852226721,0.619
+1.81E+11,1800139,MSD Lawrence Township,1805670,Fall Creek Valley Middle School,39.8695,-85.9951,Suburb large,Middle,839,1415,0.592932862,301,547,329,15,0,1,82,1275,974,0.763921569,0.119
+1.81E+11,1801026,MSD Lawrence Township,1805670,Crestview Elementary School,39.8845,-86.0344,City large,Primary,388,620,0.625806452,119,276,87,13,1,1,38,535,416,0.777570093,0.646
+1.81E+11,1801033,MSD Lawrence Township,1805670,Oaklandon Elementary School,39.8789,-85.9582,Suburb large,Primary,320,502,0.637450199,197,268,77,5,0,0,59,606,409,0.674917492,0.632
+1.81E+11,1801023,MSD Lawrence Township,1805670,Belzer Middle School,39.8536,-86.0366,Suburb large,Middle,791,1179,0.670907549,248,610,253,9,3,0,84,1207,959,0.794531897,0.083
+1.81E+11,1801066,MSD Lawrence Township,1805670,Sunnyside Elementary School,39.8749,-85.9713,Suburb large,Primary,467,653,0.715160796,74,174,453,4,2,2,42,751,677,0.901464714,0.585
+1.81E+11,1802278,MSD Lawrence Township,1805670,Indian Creek Elementary School,39.8547,-85.9763,Suburb large,Primary,546,737,0.740841248,136,300,219,2,0,0,41,698,562,0.805157593,0.539
+1.81E+11,1801027,MSD Lawrence Township,1805670,Harrison Hill Elementary School,39.8507,-86.0358,Suburb large,Primary,558,699,0.798283262,98,334,274,2,0,0,50,758,660,0.870712401,0.615
+1.81E+11,1802114,MSD Lawrence Township,1805670,Winding Ridge Elementary School,39.840333,-85.956008,City large,Primary,519,644,0.805900621,42,515,76,2,0,1,55,691,649,0.939218524,0.442
+1.81E+11,1801024,MSD Lawrence Township,1805670,Brook Park Elementary School,39.8493,-86.0487,Suburb large,Primary,513,621,0.826086957,55,423,117,2,0,0,34,631,576,0.912836767,0.404
+1.81E+11,1801690,MSD Warren Township,1812360,Liberty Park Elementary School,39.7359,-86.0185,City large,Primary,246,470,0.523404255,150,212,80,9,3,0,41,495,345,0.696969697,0.688
+1.81E+11,1801963,MSD Warren Township,1812360,Grassy Creek Elementary School,39.7561,-85.9838,City large,Primary,223,413,0.539951574,131,227,36,3,0,0,50,447,316,0.706935123,0.722
+1.81E+11,1801973,MSD Warren Township,1812360,Warren Central High School,39.791,-85.9999,City large,High,2250,3868,0.581695967,906,2113,553,38,1,1,200,3812,2906,0.762329486,0.829
+1.81E+11,1801964,MSD Warren Township,1812360,Hawthorne Elementary School,39.7612,-86.0213,City large,Primary,284,487,0.583162218,146,140,84,0,3,2,28,403,257,0.637717122,0.663
+1.81E+11,1800229,MSD Warren Township,1812360,Raymond Park Intermediate & Middle,39.7383,-86.0156,City large,Middle,672,1134,0.592592593,236,222,107,4,0,1,38,608,372,0.611842105,0.157
+1.81E+11,1801959,MSD Warren Township,1812360,Brookview Elementary School,39.7891,-85.9584,City large,Primary,288,475,0.606315789,85,367,63,2,1,0,48,566,481,0.849823322,0.588
+1.81E+11,1801970,MSD Warren Township,1812360,Stonybrook Intermediate & Middle,39.8072,-85.967,City large,Middle,745,1212,0.614686469,54,421,102,6,0,0,28,611,557,0.911620295,0.103
+1.81E+11,1801961,MSD Warren Township,1812360,Creston Intermediate & Middle Schl,39.7543,-85.9727,City large,Middle,752,1207,0.623032312,112,348,79,4,1,2,58,604,492,0.814569536,0.146
+1.81E+11,1801967,MSD Warren Township,1812360,Lowell Elementary School,39.7404,-86.0506,City large,Primary,264,422,0.625592417,277,139,85,0,1,0,38,540,263,0.487037037,0.688
+1.81E+11,1801971,MSD Warren Township,1812360,Sunny Heights Elementary School,39.8062,-85.9699,City large,Primary,263,417,0.630695444,25,356,78,2,1,0,41,503,478,0.950298211,0.642
+1.81E+11,1801962,MSD Warren Township,1812360,Eastridge Elementary School,39.7831,-85.9728,City large,Primary,240,373,0.643431635,85,226,81,3,1,0,54,450,365,0.811111111,0.763
+1.81E+11,1801969,MSD Warren Township,1812360,Pleasant Run Elementary School,39.7926,-86.0263,City large,Primary,331,484,0.683884298,73,259,167,3,0,0,40,542,469,0.865313653,0.549
+1.81E+11,1801966,MSD Warren Township,1812360,Lakeside Elementary School,39.796,-85.9974,City large,Primary,376,526,0.714828897,75,352,89,2,1,0,41,560,485,0.866071429,0.61
+1.81E+11,1802010,MSD Washington Township,1812720,Allisonville Elementary School,39.898504,-86.087736,City large,Primary,130,670,0.194029851,410,134,95,13,2,0,48,702,292,0.415954416,0.9
+1.81E+11,1802013,MSD Washington Township,1812720,Eastwood Middle School,39.867457,-86.092108,City large,Middle,316,873,0.361970218,412,255,90,13,7,0,62,839,427,0.508939213,0.195
+1.81E+11,1802023,MSD Washington Township,1812720,Spring Mill Elementary School,39.906035,-86.167107,City large,Primary,182,499,0.364729459,252,269,125,24,0,1,39,710,458,0.645070423,0.78
+1.81E+11,1802255,MSD Washington Township,1812720,Crooked Creek Elementary School,39.856642,-86.197793,City large,Primary,176,478,0.368200837,197,325,85,9,0,1,84,701,504,0.718972896,0.827
+1.81E+11,1802021,MSD Washington Township,1812720,North Central High School,39.911151,-86.129287,City large,High,1459,3709,0.393367484,1212,1506,640,160,4,2,241,3765,2553,0.678087649,0.904
+1.81E+11,1802016,MSD Washington Township,1812720,Greenbriar Elementary School,39.904505,-86.182994,City large,Primary,216,537,0.402234637,98,408,237,18,1,0,43,805,707,0.87826087,0.72
+1.81E+11,1802376,MSD Washington Township,1812720,Fox Hill Elementary School,39.865365,-86.172155,City large,Primary,230,569,0.404217926,104,442,201,23,0,0,24,794,690,0.869017632,0.702
+1.81E+11,1802020,MSD Washington Township,1812720,Nora Elementary School,39.920897,-86.14337,City large,Primary,257,538,0.477695167,71,194,288,74,0,0,27,654,583,0.891437309,0.651
+1.81E+11,1802024,MSD Washington Township,1812720,Westlane Middle School,39.885298,-86.181853,City large,Middle,368,740,0.497297297,180,437,205,34,0,0,65,921,741,0.804560261,0.158
+1.81E+11,1802022,MSD Washington Township,1812720,Northview Middle School,39.908848,-86.131893,City large,Middle,453,851,0.532314924,115,378,225,57,0,0,36,811,696,0.858199753,0.135
+1.80E+11,1802480,Avon Community School Corp,1800270,River Birch Elementary School,39.774194,-86.429797,Rural fringe,Primary,223,903,0.246954596,567,62,55,21,0,1,40,746,179,0.239946381,0.904
+1.80E+11,1800057,Avon Community School Corp,1800270,Avon High School,39.739003,-86.388019,Suburb large,High,977,3258,0.299877225,2051,380,271,129,7,2,219,3059,1008,0.329519451,0.974
+1.80E+11,1800390,Avon Community School Corp,1800270,Sycamore Elementary School,39.778829,-86.382644,Suburb large,Primary,159,508,0.312992126,269,76,33,25,0,0,44,447,178,0.398210291,0.978
+1.80E+11,1801256,Avon Community School Corp,1800270,Avon Intermediate School East,39.760275,-86.402709,Suburb large,Middle,268,808,0.331683168,497,28,27,14,0,0,25,591,94,0.159052453,0.577
+1.80E+11,1801675,Avon Community School Corp,1800270,Hickory Elementary School,39.749551,-86.398272,Suburb large,Primary,176,529,0.332703214,340,59,37,44,0,0,31,511,171,0.334637965,0.906
+1.80E+11,1802450,Avon Community School Corp,1800270,Avon Middle School North,39.780426,-86.378889,Suburb large,Middle,308,866,0.355658199,524,102,83,45,1,0,48,803,279,0.347447073,0.45
+1.80E+11,1802095,Avon Community School Corp,1800270,Avon Middle School South,39.761725,-86.396153,Suburb large,Middle,300,826,0.363196126,491,94,76,26,1,1,51,740,249,0.336486486,0.576
+1.80E+11,1802330,Avon Community School Corp,1800270,Pine Tree Elementary School,39.74954,-86.383715,Suburb large,Primary,171,460,0.37173913,195,46,37,11,0,1,35,325,130,0.4,0.86
+1.80E+11,1800059,Avon Community School Corp,1800270,Maple Elementary School,39.760272,-86.391594,Suburb large,Primary,262,694,0.377521614,132,37,41,18,1,1,76,306,174,0.568627451,0.867
+1.80E+11,1802092,Avon Community School Corp,1800270,Avon Intermediate School West,39.759754,-86.403923,Suburb large,Middle,294,771,0.381322957,453,93,76,37,1,1,31,692,239,0.345375723,0.363
+1.80E+11,1802194,Avon Community School Corp,1800270,Cedar Elementary School,39.75268,-86.397629,Suburb large,Primary,290,687,0.422125182,430,82,78,37,1,0,39,667,237,0.355322339,0.894
+1.81E+11,1801781,School Town of Speedway,1810920,Carl G Fisher Elementary School 1,39.7848,-86.2475,Suburb large,Primary,47,142,0.330985915,115,15,11,1,0,0,19,161,46,0.285714286,0.933
+1.81E+11,1801785,School Town of Speedway,1810920,Speedway Senior High School,39.8009,-86.2528,Suburb large,High,224,543,0.41252302,287,115,69,26,1,0,21,519,232,0.447013487,0.992
+1.81E+11,1801784,School Town of Speedway,1810920,Speedway Junior High School,39.7848,-86.2475,Suburb large,Middle,164,315,0.520634921,120,84,37,16,0,0,15,272,152,0.558823529,0.422
+1.81E+11,1801783,School Town of Speedway,1810920,James A Allison Elementary Sch 3,39.797,-86.2494,Suburb large,Primary,159,266,0.597744361,98,152,42,26,0,0,12,330,232,0.703030303,0.946
+1.81E+11,1801780,School Town of Speedway,1810920,Arthur C Newby Elementary School 2,39.7921,-86.2566,Suburb large,Primary,146,242,0.603305785,115,57,13,1,0,0,11,197,82,0.416243655,0.909
+1.81E+11,1801782,School Town of Speedway,1810920,Frank H Wheeler Elementary Sch 4,39.8059,-86.2613,Suburb large,Primary,224,355,0.630985915,109,109,113,20,0,0,28,379,270,0.712401055,0.872
+1.81E+11,1802516,MSD Wayne Township,1812810,Achieve Virtual Education Academy,39.766764,-86.264549,City large,High,222,506,0.438735178,142,49,25,1,0,0,2,219,77,0.351598174,0.439
+1.81E+11,1802037,MSD Wayne Township,1812810,Robey Elementary School,39.8094,-86.3169,Suburb large,Primary,353,764,0.462041885,390,216,76,6,1,0,50,739,349,0.472259811,0.913
+1.81E+11,1802042,MSD Wayne Township,1812810,Westlake Elementary School,39.7706,-86.2762,City large,Primary,359,660,0.543939394,128,373,273,3,1,0,34,812,684,0.842364532,0.677
+1.81E+11,1802028,MSD Wayne Township,1812810,Ben Davis High School,39.784547,-86.290871,City large,High,1891,3278,0.576876144,1004,1131,870,24,3,5,155,3192,2188,0.685463659,0.849
+1.81E+11,1800238,MSD Wayne Township,1812810,North Wayne Elementary School,39.8171,-86.2828,City large,Primary,456,772,0.590673575,42,496,221,4,2,4,49,818,776,0.948655257,0.634
+1.81E+11,1802123,MSD Wayne Township,1812810,Bridgeport Elementary School,39.7483,-86.322,City large,Primary,419,704,0.595170455,207,328,156,16,2,0,65,774,567,0.73255814,0.705
+1.81E+11,1802032,MSD Wayne Township,1812810,Chapel Hill 7th & 8th Grade Center,39.78,-86.291,City large,Middle,790,1284,0.615264798,305,564,291,6,0,3,70,1239,934,0.753833737,0.123
+1.81E+11,1802035,MSD Wayne Township,1812810,McClelland Elementary School,39.7506,-86.2775,City large,Primary,474,763,0.621231979,259,217,236,6,1,2,73,794,535,0.673803526,0.716
+1.81E+11,1802033,MSD Wayne Township,1812810,Garden City Elementary School,39.7635,-86.2429,City large,Primary,493,763,0.646133683,140,212,420,3,1,0,19,795,655,0.823899371,0.557
+1.81E+11,1802031,MSD Wayne Township,1812810,Chapelwood Elementary School,39.7818,-86.2868,City large,Primary,578,873,0.662084765,142,438,177,8,2,0,55,822,680,0.827250608,0.697
+1.81E+11,1802030,MSD Wayne Township,1812810,Chapel Glen Elementary School,39.7751,-86.3151,City large,Primary,547,813,0.672816728,264,291,179,1,0,0,89,824,560,0.67961165,0.73
+1.81E+11,1802039,MSD Wayne Township,1812810,Lynhurst 7th & 8th Grade Center,39.7249,-86.2442,City large,Middle,818,1214,0.673805601,412,275,377,7,5,2,63,1141,729,0.638913234,0.17
+1.81E+11,1802040,MSD Wayne Township,1812810,Stout Field Elementary School,39.7324,-86.2266,City large,Primary,468,678,0.690265487,462,76,197,2,1,0,55,793,331,0.41740227,0.63
+1.81E+11,1802036,MSD Wayne Township,1812810,Rhoades Elementary School,39.7594,-86.245,City large,Primary,448,648,0.691358025,235,196,299,0,1,1,61,793,558,0.703656999,0.605
+1.81E+11,1802410,MSD Wayne Township,1812810,Ben Davis University High School,39.751547,-86.267357,City large,High,268,387,0.69250646,136,132,92,5,2,0,26,393,257,0.65394402,1
+1.81E+11,1802034,MSD Wayne Township,1812810,Maplewood Elementary School,39.7442,-86.2438,City large,Primary,457,657,0.695585997,388,56,331,0,0,0,38,813,425,0.522755228,0.58
+1.80E+11,1801446,Indianapolis Public Schools,1804770,George Washington High School,39.765186,-86.199276,City large,High,544,910,0.597802198,88,123,138,0,0,0,28,377,289,0.766578249,0.727
+1.80E+11,1802238,Indianapolis Public Schools,1804770,Shortridge High School,39.818284,-86.15511,City large,High,663,1024,0.647460938,127,146,87,5,1,0,34,400,273,0.6825,0.828
+1.80E+11,1800801,Indianapolis Public Schools,1804770,Arsenal Technical High School,39.776182,-86.134901,City large,High,1402,2122,0.660697455,196,776,576,3,1,1,74,1627,1431,0.879532883,0.802
+1.80E+11,1800815,Indianapolis Public Schools,1804770,Crispus Attucks High School,39.782849,-86.169967,City large,High,813,1143,0.711286089,21,364,211,2,0,0,23,621,600,0.966183575,0.831
+1.81E+11,1801809,Perry Township Schools,1808820,Rosa Parks Elementary School,39.6547,-86.205,City large,Primary,383,711,0.538677918,380,17,49,158,0,0,41,645,265,0.410852713,0.814
+1.81E+11,1801464,Perry Township Schools,1808820,Perry Meridian High School,39.6482,-86.1665,City large,High,1354,2385,0.567714885,1292,187,280,511,4,1,93,2368,1076,0.454391892,0.954
+1.81E+11,1801463,Perry Township Schools,1808820,Perry Meridian Middle School,39.6509,-86.1611,City large,Middle,832,1303,0.638526477,646,103,163,259,1,0,49,1221,575,0.470925471,0.351
+1.81E+11,1801687,Perry Township Schools,1808820,Jeremiah Gray Elementary School,39.6905,-86.0941,City large,Primary,351,531,0.661016949,317,27,48,55,2,3,15,467,150,0.321199143,0.789
+1.81E+11,1801457,Perry Township Schools,1808820,Douglas MacArthur Elementary Sch,39.6525,-86.1499,City large,Primary,564,853,0.66119578,324,29,56,362,2,0,25,798,474,0.593984962,0.865
+1.81E+11,1801467,Perry Township Schools,1808820,Southport High School,39.6713,-86.1413,City large,High,1639,2391,0.685487244,1153,143,379,433,1,0,126,2235,1082,0.484116331,0.899
+1.81E+11,1802119,Perry Township Schools,1808820,Perry Meridian 6th Grade Academy,39.6509,-86.1597,City large,Middle,474,680,0.697058824,332,63,76,138,0,0,37,646,314,0.486068111,0.333
+1.81E+11,1802280,Perry Township Schools,1808820,Mary Bryan Elementary School,39.6486,-86.0937,City large,Primary,642,921,0.697068404,426,41,80,370,0,2,56,975,549,0.563076923,0.811
+1.81E+11,1801459,Perry Township Schools,1808820,Glenns Valley Elementary School,39.6442,-86.1954,City large,Primary,555,788,0.704314721,397,38,35,273,0,0,36,779,382,0.490372272,0.68
+1.81E+11,1801462,Perry Township Schools,1808820,Southport Middle School,39.6835,-86.1192,City large,Middle,842,1190,0.707563025,542,88,212,224,0,0,65,1131,589,0.520778073,0.249
+1.81E+11,1802115,Perry Township Schools,1808820,Southport 6th Grade Academy,39.6826,-86.1195,City large,Middle,429,583,0.735849057,269,40,110,113,0,1,27,560,291,0.519642857,0.366
+1.81E+11,1801460,Perry Township Schools,1808820,Homecroft Elementary School,39.6673,-86.1317,City large,Primary,459,607,0.756177924,322,33,171,111,1,1,28,667,345,0.517241379,0.648
+1.81E+11,1801455,Perry Township Schools,1808820,Abraham Lincoln Elementary School,39.6888,-86.1656,City large,Primary,746,957,0.779519331,403,90,146,331,1,0,54,1025,622,0.606829268,0.686
+1.81E+11,1801466,Perry Township Schools,1808820,Southport Elementary School,39.6588,-86.1163,Suburb large,Primary,509,636,0.800314465,208,19,49,448,0,1,23,748,540,0.721925134,0.702
+1.81E+11,1801469,Perry Township Schools,1808820,William Henry Burkhart Elementary,39.6847,-86.1527,City large,Primary,562,681,0.825256975,238,70,77,321,0,1,22,729,491,0.673525377,0.741
+1.81E+11,1801456,Perry Township Schools,1808820,Clinton Young Elementary School,39.6833,-86.1152,City large,Primary,662,788,0.840101523,369,115,258,67,0,0,38,847,478,0.564344746,0.522
+1.81E+11,1801470,Perry Township Schools,1808820,Winchester Village Elementary,39.6439,-86.1265,City large,Primary,507,598,0.847826087,126,106,174,233,0,2,27,668,542,0.811377246,0.489
+1.80E+11,1802439,Indianapolis Public Schools,1804770,Merle Sidener Gifted Academy,39.862893,-86.1216,City large,Middle,131,314,0.417197452,170,86,53,5,0,0,36,350,180,0.514285714,1
+1.80E+11,1802528,Indianapolis Public Schools,1804770,Northwest Community Middle School,39.814609,-86.258228,City large,Middle,270,404,0.668316832,7,125,56,0,0,0,11,199,192,0.964824121,0.011
+1.80E+11,1802630,Indianapolis Public Schools,1804770,HW Longfellow Med/STEM Magnet Midl,39.75916,-86.136821,City large,Middle,268,379,0.707124011,39,129,113,2,0,1,11,295,256,0.86779661,0.065
+1.80E+11,1802597,Indianapolis Public Schools,1804770,Arlington Community Middle School,39.844081,-86.064121,City large,Middle,250,351,0.712250712,10,229,27,0,0,0,7,273,263,0.963369963,0.026
+1.80E+11,1800844,Indianapolis Public Schools,1804770,H L Harshman Middle School,39.78054,-86.132359,City large,Middle,417,541,0.770794824,33,134,286,4,0,1,16,474,441,0.930379747,0.075
+1.80E+11,1800805,Indianapolis Public Schools,1804770,Brookside School 54,39.782272,-86.112123,City large,Primary,234,283,0.826855124,89,381,117,0,3,0,39,629,540,0.858505564,0.806
+1.80E+11,1800896,Indianapolis Public Schools,1804770,Thomas D Gregg School 15,39.77551,-86.121909,City large,Primary,422,522,0.808429119,79,250,226,1,0,0,29,585,506,0.864957265,NA
+1.80E+11,1800797,Indianapolis Public Schools,1804770,Anna Brochhausen School 88,39.787866,-86.068466,City large,Primary,207,254,0.81496063,50,217,6,1,0,0,28,302,252,0.834437086,0.379
+1.80E+11,1800881,Beech Grove City Schools,1800450,Hornet Park Elementary School,39.7099,-86.0794,Suburb large,Primary,131,411,0.318734793,341,41,29,5,2,0,44,462,121,0.261904762,NA
+1.80E+11,1800093,Beech Grove City Schools,1800450,Beech Grove Sr High School,39.711248,-86.076232,Suburb large,High,440,967,0.455015512,650,108,92,8,1,0,73,932,282,0.302575107,0.803
+1.80E+11,1800094,Beech Grove City Schools,1800450,Central Elementary School,39.7228,-86.0937,Suburb large,Primary,173,370,0.467567568,316,48,34,4,0,0,39,441,125,0.283446712,0.673
+1.80E+11,1800092,Beech Grove City Schools,1800450,Beech Grove Middle School,39.7262,-86.096,Suburb large,Middle,237,454,0.522026432,329,64,46,6,0,0,40,485,156,0.321649485,0.214
+1.80E+11,1800095,Beech Grove City Schools,1800450,South Grove Intermediate School,39.7083,-86.0905,Suburb large,Middle,338,635,0.532283465,488,75,73,0,0,1,69,706,218,0.30878187,0.278
+1.81E+11,1801099,MSD Pike Township,1808910,Fishback Creek Public Academy,39.909,-86.309,City large,Primary,188,460,0.408695652,145,263,54,17,0,0,55,534,389,0.728464419,0.79
+1.81E+11,1800513,MSD Pike Township,1808910,New Augusta Public Academy - North,39.8739,-86.2237,City large,Middle,446,861,0.518002323,137,538,101,12,0,1,62,851,714,0.839012926,0.231
+1.81E+11,1802250,MSD Pike Township,1808910,Eagle Creek Elementary School,39.8373,-86.2819,City large,Primary,278,490,0.567346939,96,286,68,14,0,0,38,502,406,0.80876494,0.773
+1.81E+11,1801489,MSD Pike Township,1808910,Pike High School,39.8757,-86.2553,City large,High,2016,3387,0.595217006,285,1927,723,85,0,2,185,3207,2922,0.911131899,0.879
+1.81E+11,1801486,MSD Pike Township,1808910,Guion Creek Elementary School,39.845,-86.2336,City large,Primary,377,592,0.636824324,42,407,198,17,0,0,34,698,656,0.93982808,0.64
+1.81E+11,1801484,MSD Pike Township,1808910,Central Elementary School,39.8805,-86.2585,City large,Primary,432,665,0.64962406,43,436,145,4,0,0,43,671,628,0.935916542,0.673
+1.81E+11,1801275,MSD Pike Township,1808910,New Augusta Public Academy - South,39.8694,-86.2233,City large,Primary,314,475,0.661052632,27,366,49,8,0,0,26,476,449,0.943277311,0.8
+1.81E+11,1802324,MSD Pike Township,1808910,College Park Elementary School,39.916189,-86.210544,City large,Primary,312,465,0.670967742,36,269,156,16,0,0,28,505,469,0.928712871,0.661
+1.81E+11,1801488,MSD Pike Township,1808910,Lincoln Middle School,39.8799,-86.2516,City large,Middle,601,871,0.690011481,50,544,240,20,0,0,49,903,853,0.944629014,0.05
+1.81E+11,1802374,MSD Pike Township,1808910,Deer Run Elementary,39.8507,-86.2695,City large,Primary,410,588,0.697278912,23,339,275,7,0,0,24,668,645,0.965568862,0.517
+1.81E+11,1801485,MSD Pike Township,1808910,Eastbrook Elementary School,39.8918,-86.2335,City large,Primary,375,522,0.718390805,30,358,228,5,0,0,31,652,622,0.95398773,0.724
+1.81E+11,1801598,MSD Pike Township,1808910,Snacks Crossing Elementary School,39.852,-86.2561,City large,Primary,462,633,0.72985782,28,397,140,7,0,0,26,598,570,0.953177258,0.636
+1.81E+11,1801487,MSD Pike Township,1808910,Guion Creek Middle School,39.845,-86.2366,City large,Middle,674,919,0.733405876,41,558,328,15,1,1,29,973,932,0.957862282,0.087
+1.80E+11,1801427,Indianapolis Public Schools,1804770,Arlington Woods School 99,39.810059,-86.071166,City large,Primary,246,306,0.803921569,32,411,74,0,0,0,16,533,501,0.939962477,0.366
+1.80E+11,1800808,Indianapolis Public Schools,1804770,Carl Wilde School 79,39.817156,-86.24507,City large,Primary,425,592,0.717905405,42,182,356,17,0,0,9,606,564,0.930693069,0.429
+1.80E+11,1801440,Indianapolis Public Schools,1804770,Center For Inquiry School 2,39.777166,-86.15009,City large,Primary,112,439,0.255125285,290,46,39,12,2,0,25,414,124,0.299516908,0.837
+1.80E+11,1802510,Indianapolis Public Schools,1804770,Center for Inquiry School 27,39.791531,-86.147739,City large,Primary,239,508,0.470472441,191,176,76,8,0,1,21,473,282,0.596194503,0.69
+1.80E+11,1802605,Indianapolis Public Schools,1804770,Center for Inquiry School 70,39.839843,-86.149148,City large,Primary,107,453,0.236203091,154,100,26,4,1,0,13,298,144,0.483221477,0.915
+1.80E+11,1802391,Indianapolis Public Schools,1804770,Center for Inquiry School 84,39.857379,-86.151344,City large,Primary,25,446,0.056053812,351,33,8,12,1,0,25,430,79,0.18372093,0.978
+1.80E+11,1800811,Indianapolis Public Schools,1804770,Charles Warren Fairbanks Sch 105,39.831066,-86.016161,City large,Primary,185,264,0.700757576,17,307,89,0,2,0,7,422,405,0.95971564,0.452
+1.80E+11,1800812,Indianapolis Public Schools,1804770,Christian Park School 82,39.760742,-86.089445,City large,Primary,208,262,0.79389313,237,67,87,0,0,0,30,421,184,0.437054632,0.45
+1.80E+11,1802393,Indianapolis Public Schools,1804770,Clarence Farrington School 61,39.810751,-86.233839,City large,Primary,314,467,0.672376874,32,292,278,0,1,2,17,622,590,0.948553055,0.429
+1.80E+11,1800814,Indianapolis Public Schools,1804770,Cold Spring School,39.821893,-86.202206,City large,Primary,230,423,0.543735225,32,202,43,3,0,0,16,296,264,0.891891892,0.615
+1.80E+11,1800817,Indianapolis Public Schools,1804770,Daniel Webster School 46,39.746707,-86.190016,City large,Primary,275,358,0.768156425,178,58,143,0,1,0,41,421,243,0.57719715,0.533
+1.80E+11,1800872,Indianapolis Public Schools,1804770,Edison School of the Arts 47,39.757056,-86.175399,City large,Primary,466,600,0.776666667,58,337,106,1,1,2,26,531,473,0.890772128,NA
+1.80E+11,1800821,Indianapolis Public Schools,1804770,Eleanor Skillen School 34,39.73561,-86.135817,City large,Primary,271,341,0.794721408,238,70,81,1,0,0,35,425,187,0.44,0.457
+1.80E+11,1800826,Indianapolis Public Schools,1804770,Ernie Pyle School 90,39.789627,-86.214713,City large,Primary,206,275,0.749090909,30,131,160,0,0,0,19,340,310,0.911764706,0.625
+1.80E+11,1800829,Indianapolis Public Schools,1804770,Floro Torrence School 83,39.833618,-86.085731,City large,Primary,146,191,0.764397906,9,174,76,1,1,0,4,265,256,0.966037736,0.684
+1.80E+11,1800831,Indianapolis Public Schools,1804770,Francis W Parker School 56,39.801001,-86.136403,City large,Primary,224,307,0.729641694,42,223,37,0,0,0,16,318,276,0.867924528,0.522
+1.80E+11,1802395,Indianapolis Public Schools,1804770,Frederick Douglass School 19,39.739671,-86.129162,City large,Primary,335,450,0.744444444,113,120,221,0,0,0,21,475,362,0.762105263,0.133
+1.80E+11,1801426,Indianapolis Public Schools,1804770,George S Buck School 94,39.806607,-86.021547,City large,Primary,187,275,0.68,24,242,128,2,0,0,9,405,381,0.940740741,0.333
+1.80E+11,1800841,Indianapolis Public Schools,1804770,George W Julian School 57,39.769906,-86.074522,City large,Primary,108,170,0.635294118,72,35,52,0,1,0,7,167,95,0.568862275,0.773
+1.80E+11,1802555,Indianapolis Public Schools,1804770,George Washington Carver School 87,39.801277,-86.167571,City large,Primary,217,403,0.538461538,57,121,152,4,1,0,15,350,293,0.837142857,0.757
+1.80E+11,1800822,Indianapolis Public Schools,1804770,IPS/Butler Lab at Eliza Blaker 55,39.850881,-86.135472,City large,Primary,193,403,0.478908189,49,99,20,1,0,0,12,181,132,0.729281768,0.649
+1.80E+11,1800901,Indianapolis Public Schools,1804770,IPS/Butler Lab at William Bell 60,39.816814,-86.154905,City large,Primary,213,558,0.38172043,317,144,35,1,1,0,30,528,211,0.399621212,0.833
+1.80E+11,1800866,Indianapolis Public Schools,1804770,James A Garfield School 31,39.74508,-86.152515,City large,Primary,197,255,0.77254902,188,86,95,1,5,0,39,414,226,0.54589372,1
+1.80E+11,1802404,Indianapolis Public Schools,1804770,James Russell Lowell School 51,39.801157,-86.106596,City large,Primary,209,259,0.806949807,28,278,137,0,3,0,3,449,421,0.937639198,0.576
+1.80E+11,1800854,Indianapolis Public Schools,1804770,James Whitcomb Riley School 43,39.82905,-86.16109,City large,Primary,272,341,0.797653959,33,412,61,3,2,1,18,530,497,0.937735849,0.429
+1.80E+11,1800858,Indianapolis Public Schools,1804770,Jonathan Jennings School 109,39.829183,-86.268055,City large,Primary,178,285,0.624561404,18,148,113,0,0,0,4,283,265,0.93639576,0.412
+1.80E+11,1800864,Indianapolis Public Schools,1804770,Lew Wallace School 107,39.815264,-86.268174,City large,Primary,329,502,0.655378486,38,275,225,26,1,0,26,591,553,0.9357022,0.662
+1.80E+11,1800873,Indianapolis Public Schools,1804770,Meredith Nicholson School 96,39.82067,-86.262047,City large,Primary,222,381,0.582677165,13,71,269,0,0,0,7,360,347,0.963888889,0.613
+1.80E+11,1800882,Indianapolis Public Schools,1804770,Paul I Miller School 114,39.736323,-86.086767,City large,Primary,199,237,0.839662447,131,199,66,0,0,0,31,427,296,0.693208431,0.767
+1.80E+11,1800883,Indianapolis Public Schools,1804770,Ralph Waldo Emerson School 58,39.772957,-86.092331,City large,Primary,183,248,0.737903226,81,182,57,0,0,0,10,330,249,0.754545455,0.41
+1.80E+11,1800884,Indianapolis Public Schools,1804770,Raymond F Brandes School 65,39.706189,-86.127217,City large,Primary,150,196,0.765306122,98,39,56,13,0,0,15,221,123,0.556561086,0.64
+1.80E+11,1800887,Indianapolis Public Schools,1804770,Robert Lee Frost School 106,39.849375,-86.07148,City large,Primary,242,294,0.823129252,10,278,39,2,2,0,18,349,339,0.971346705,0.694
+1.80E+11,1802277,Indianapolis Public Schools,1804770,Rousseau McClellan School 91,39.845785,-86.126255,City large,Primary,208,539,0.385899814,260,151,67,3,2,0,44,527,267,0.506641366,0.893
+1.80E+11,1800893,Indianapolis Public Schools,1804770,Theodore Potter School 74,39.7807,-86.131435,City large,Primary,167,271,0.616236162,19,33,205,0,1,0,13,271,252,0.929889299,0.657
+1.80E+11,1800903,Indianapolis Public Schools,1804770,William McKinley School 39,39.758529,-86.129639,City large,Primary,269,368,0.730978261,275,74,100,2,1,0,29,481,206,0.428274428,0.605
+1.80E+11,1800904,Indianapolis Public Schools,1804770,William Penn School 49,39.754462,-86.190966,City large,Primary,352,542,0.649446494,205,88,330,1,4,0,26,654,449,0.686544343,0.744
+1.80015E+11,1800020,Anderson Community School Corp,1800150,Edgewood Elementary School,40.107437,-85.733402,City small,Primary,161,265,0.60754717,132,92,16,0,0,0,51,291,159,0.546391753,0.508
+1.80015E+11,1802109,Anderson Community School Corp,1800150,Eastside Elementary School,40.1241,-85.6521,City small,Primary,317,493,0.643002028,425,93,52,2,0,0,63,635,210,0.330708661,0.76
+1.80015E+11,1800029,Anderson Community School Corp,1800150,Anderson High School,40.0661,-85.6912,City small,High,1207,1837,0.657049537,1049,438,209,9,4,0,139,1848,799,0.432359307,0.814
+1.80015E+11,1800044,Anderson Community School Corp,1800150,Valley Grove Elementary School,40.0746,-85.6139,Rural fringe,Primary,263,378,0.695767196,358,118,43,2,0,0,59,580,222,0.382758621,0.74
+1.80015E+11,1802110,Anderson Community School Corp,1800150,Erskine Elementary School,40.0529,-85.6902,City small,Primary,293,402,0.728855721,350,130,71,2,0,0,84,637,287,0.450549451,0.747
+1.80015E+11,1802483,Anderson Community School Corp,1800150,Highland Middle School,40.136716,-85.630374,City small,Middle,735,991,0.741675076,791,315,194,3,2,0,116,1421,630,0.443349754,0.131
+1.80015E+11,1802623,Anderson Community School Corp,1800150,COMPASS Alternative School,40.096061,-85.715677,City small,Secondary,37,48,0.770833333,26,31,10,0,0,0,8,75,49,0.653333333,NA
+1.80015E+11,1800041,Anderson Community School Corp,1800150,Tenth Street Elementary School,40.1071,-85.6366,City small,Primary,408,489,0.834355828,398,118,44,2,3,0,74,639,241,0.3771518,0.558
+1.80015E+11,1801847,Anderson Community School Corp,1800150,Anderson Elementary School,40.0958,-85.7137,City small,Primary,322,377,0.854111406,155,150,257,1,0,0,62,625,470,0.752,0.656
\ No newline at end of file
diff --git a/data/school_test2.csv b/data/school_test2.csv
new file mode 100644
index 0000000..b73f531
--- /dev/null
+++ b/data/school_test2.csv
@@ -0,0 +1,10 @@
+ncessch,school_id,lea_name,leaid,school_name,latitude,longitude,urban_centric_locale,school_level,frl,enrollment,frl_pct,white,black,hispanic,asian,amerindian,pacislander,more,total,urm_total,urm_pct
+180015000020,1800020,Anderson Community School Corp,1800150,Edgewood Elementary School,40.107437,-85.733402,City small,Primary,161,265,0.6075471698113207,132,92,16,0,0,0,51,291,159,0.5463917525773195
+180015002109,1802109,Anderson Community School Corp,1800150,Eastside Elementary School,40.1241,-85.6521,City small,Primary,317,493,0.6430020283975659,425,93,52,2,0,0,63,635,210,0.33070866141732286
+180015000029,1800029,Anderson Community School Corp,1800150,Anderson High School,40.0661,-85.6912,City small,High,1207,1837,0.6570495372890582,1049,438,209,9,4,0,139,1848,799,0.43235930735930733
+180015000044,1800044,Anderson Community School Corp,1800150,Valley Grove Elementary School,40.0746,-85.6139,Rural fringe,Primary,263,378,0.6957671957671958,358,118,43,2,0,0,59,580,222,0.38275862068965516
+180015002110,1802110,Anderson Community School Corp,1800150,Erskine Elementary School,40.0529,-85.6902,City small,Primary,293,402,0.7288557213930348,350,130,71,2,0,0,84,637,287,0.45054945054945056
+180015002483,1802483,Anderson Community School Corp,1800150,Highland Middle School,40.136716,-85.630374,City small,Middle,735,991,0.7416750756811302,791,315,194,3,2,0,116,1421,630,0.4433497536945813
+180015002623,1802623,Anderson Community School Corp,1800150,COMPASS Alternative School,40.096061,-85.715677,City small,Secondary,37,48,0.7708333333333334,26,31,10,0,0,0,8,75,49,0.6533333333333333
+180015000041,1800041,Anderson Community School Corp,1800150,Tenth Street Elementary School,40.1071,-85.6366,City small,Primary,408,489,0.8343558282208589,398,118,44,2,3,0,74,639,241,0.37715179968701096
+180015001847,1801847,Anderson Community School Corp,1800150,Anderson Elementary School,40.0958,-85.7137,City small,Primary,322,377,0.8541114058355438,155,150,257,1,0,0,62,625,470,0.752
diff --git a/docs/index.html b/docs/index.html
index 8f5aa36..60a44e3 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -2,7 +2,7 @@
where \(S_a\) is the school corporation average proficiency or completion rate and \(S_{IN}\) is the state-level average proficiency or completion rate.
+
+
Fairness and Counterfactual Inclusion
+
A counterfactual analysis is an examination of data through which alternate realities are considered. If the situtation and demographics were different, would a school corporation demonstrate a SCOscore greater than 1, that is, demonstrate that school corporation should receive attention because of unrealized potential?
+
A counterfactual analysis is therefore conducted on school corporations that demonstrate an adjusted academic score one standard deviation above the mean. If the proportion of non-white students is below the state mean, then the percentage is artificially increased to the state mean; the same occurs with the proportion of students who receive free and reduced lunch.
+
The SCOscore is then recalculated based on those counterfactual variables. The following
+
+
+
+
+
+
+
+
+
+
+
+
+
+
School Corporation
+
Enrollment
+
Percent Non-White
+
Percent FRL
+
Academic Score
+
SCO Score
+
+
+
+
+
Mississinewa Community School Corp
+
2490
+
18.03
+
63.78
+
1.73
+
1.02
+
+
+
Crothersville Community Schools
+
482
+
7.26
+
60.79
+
1.76
+
1.01
+
+
+
Hamilton Community Schools
+
359
+
6.69
+
36.49
+
2.08
+
1.00
+
+
+
Monroe-Gregg School District
+
1539
+
7.08
+
32.10
+
2.07
+
1.00
+
+
+
North Vermillion Com Sch Corp
+
694
+
5.76
+
47.26
+
2.05
+
1.00
+
+
+
North Gibson School Corporation
+
1921
+
18.01
+
41.80
+
2.03
+
1.00
+
+
+
Edinburgh Community School Corp
+
849
+
12.60
+
66.20
+
1.73
+
1.00
+
+
+
+
+
+
+
+
+
+
+
+Statistical Analyses are Never Politically Neutral
+
+
+
+
Blah blah blah.
+
+
+
Acknowledging Inequality Within School Corporations
It needs to be recognized that there is the potential for inequality within a single school corporation and the SCOscore is calculated based on reported averages across all schools in the corporation. The school corporation-level score should be considered within the local building context. A building or school-level score can be calculated using the same general equation:
@@ -247,6 +349,15 @@
+
+
+
+
+
+
+
+
+
Central Indiana
@@ -258,9 +369,9 @@
Central Indiana
-
School.Corporation
+
School Corporation
Enrollment
-
SCO.Score
+
SCO Score
@@ -333,7 +444,7 @@
Central Indiana
State Trends
-
Overall, most of Indiana’s school corporations’ opportunity score fall under 1 (Figure 2), with the skewness for the distribution calculated at 1.222 and the kurtosis calculated at 4.088. With a skewness greater than 1, the data is highly concentrated to the left (relatively low opportunity scores) and sharply peaked (relatively highly concentrated opportunity scores) given a kurtosis greater than 3.
+
Overall, most of Indiana’s school corporations’ opportunity score fall under 1 (Figure 2), with the skewness for the distribution calculated at 1.198 and the kurtosis calculated at 3.994. With a skewness greater than 1, the data is highly concentrated to the left (relatively low opportunity scores) and sharply peaked (relatively highly concentrated opportunity scores) given a kurtosis greater than 3.
Many of the school corporations in Indiana fall between the 0.5 and 1 range. This doesn’t mean that there isn’t opportunity in these school corporations, particularly for those students who experience structure barriers and oppression; rather, as a matter of general priorities, the school corporations that score greater than 1 will see a higher level of potential in terms of growth.
@@ -366,6 +477,9 @@
State Trends
+
+
+
@@ -431,16 +545,16 @@
Urban-Cent
#> ─ Session info ───────────────────────────────────────────────────────────────
#> setting value
-#> version R version 4.3.0 (2023-04-21)
-#> os macOS Ventura 13.4
+#> version R version 4.3.1 (2023-06-16)
+#> os macOS Ventura 13.5.2
#> system aarch64, darwin20
#> ui X11
#> language (EN)
#> collate en_US.UTF-8
#> ctype en_US.UTF-8
#> tz America/Indiana/Indianapolis
-#> date 2023-06-16
-#> pandoc 3.1.3 @ /opt/homebrew/bin/ (via rmarkdown)
+#> date 2023-09-12
+#> pandoc 3.1.4 @ /opt/homebrew/bin/ (via rmarkdown)
#>
#> ─ Packages ───────────────────────────────────────────────────────────────────
#> package * version date (UTC) lib source
@@ -448,17 +562,18 @@
Urban-Cent
#> edbuildmapr * 0.3.1 2021-06-15 [1] CRAN (R 4.3.0)
#> ggbeeswarm * 0.7.2 2023-04-29 [1] CRAN (R 4.3.0)
#> ggmap * 3.0.2 2023-03-14 [1] CRAN (R 4.3.0)
-#> ggplot2 * 3.4.2 2023-04-03 [1] CRAN (R 4.3.0)
+#> ggplot2 * 3.4.3 2023-08-14 [1] CRAN (R 4.3.0)
#> ggpubr * 0.6.0 2023-02-10 [1] CRAN (R 4.3.0)
#> ggrepel * 0.9.3 2023-02-03 [1] CRAN (R 4.3.0)
#> here * 1.0.1 2020-12-13 [1] CRAN (R 4.3.0)
-#> knitr * 1.42 2023-01-25 [1] CRAN (R 4.3.0)
+#> knitr * 1.43 2023-05-25 [1] CRAN (R 4.3.0)
#> mapdata * 2.3.1 2022-11-01 [1] CRAN (R 4.3.0)
#> maps * 3.4.1 2022-10-30 [1] CRAN (R 4.3.0)
#> moments * 0.14.1 2022-05-02 [1] CRAN (R 4.3.0)
#> plotly * 4.10.2 2023-06-03 [1] CRAN (R 4.3.0)
#> readr * 2.1.4 2023-02-10 [1] CRAN (R 4.3.0)
-#> sf * 1.0-13 2023-05-24 [1] CRAN (R 4.3.0)
+#> scales * 1.2.1 2022-08-20 [1] CRAN (R 4.3.0)
+#> sf * 1.0-14 2023-07-11 [1] CRAN (R 4.3.0)
#> showtext * 0.9-6 2023-05-03 [1] CRAN (R 4.3.0)
#> showtextdb * 3.0 2020-06-04 [1] CRAN (R 4.3.0)
#> sysfonts * 0.8.8 2022-03-13 [1] CRAN (R 4.3.0)
diff --git a/docs/index_files/figure-html/fig-3dscatter-1.png b/docs/index_files/figure-html/fig-3dscatter-1.png
index adefa28..88a7fed 100644
Binary files a/docs/index_files/figure-html/fig-3dscatter-1.png and b/docs/index_files/figure-html/fig-3dscatter-1.png differ
diff --git a/docs/index_files/figure-html/fig-beeswarm-1.png b/docs/index_files/figure-html/fig-beeswarm-1.png
index eda14d3..09cc9e5 100644
Binary files a/docs/index_files/figure-html/fig-beeswarm-1.png and b/docs/index_files/figure-html/fig-beeswarm-1.png differ
diff --git a/docs/index_files/figure-html/fig-density-plot-1.png b/docs/index_files/figure-html/fig-density-plot-1.png
index 40a3ca1..538261d 100644
Binary files a/docs/index_files/figure-html/fig-density-plot-1.png and b/docs/index_files/figure-html/fig-density-plot-1.png differ
diff --git a/docs/index_files/figure-html/fig-indiana-map-1.png b/docs/index_files/figure-html/fig-indiana-map-1.png
index 8f8ecdd..c3ebf73 100644
Binary files a/docs/index_files/figure-html/fig-indiana-map-1.png and b/docs/index_files/figure-html/fig-indiana-map-1.png differ
diff --git a/docs/index_files/figure-html/fig-lolipop-1.png b/docs/index_files/figure-html/fig-lolipop-1.png
index 1452c49..36314ed 100644
Binary files a/docs/index_files/figure-html/fig-lolipop-1.png and b/docs/index_files/figure-html/fig-lolipop-1.png differ
diff --git a/docs/index_files/figure-html/sco-mds-1.png b/docs/index_files/figure-html/sco-mds-1.png
new file mode 100644
index 0000000..a66b462
Binary files /dev/null and b/docs/index_files/figure-html/sco-mds-1.png differ
diff --git a/docs/index_files/figure-html/ternplot-1.png b/docs/index_files/figure-html/ternplot-1.png
new file mode 100644
index 0000000..9067152
Binary files /dev/null and b/docs/index_files/figure-html/ternplot-1.png differ
diff --git a/docs/scoscores-scholarworks.html b/docs/scoscores-scholarworks.html
index edb6c26..8211868 100644
--- a/docs/scoscores-scholarworks.html
+++ b/docs/scoscores-scholarworks.html
@@ -2,7 +2,7 @@
-
+
@@ -81,7 +81,8 @@
"search-more-matches-text": "more matches in this document",
"search-clear-button-title": "Clear",
"search-detached-cancel-button-title": "Cancel",
- "search-submit-button-title": "Submit"
+ "search-submit-button-title": "Submit",
+ "search-label": "Search"
}
}
diff --git a/docs/search.json b/docs/search.json
index c4d8fa9..9167e36 100644
--- a/docs/search.json
+++ b/docs/search.json
@@ -11,14 +11,14 @@
"href": "index.html#methods",
"title": "SCOscore: School Corporation Opportunity Score",
"section": "Methods",
- "text": "Methods\nThe SCOscore of a school corporation is calculated through the following formula:\n\\[\nS_{O} = \\frac{\\left[\\left(P_{urm} \\times 1.5\\right) + \\left(P_{frl} \\times 1.5\\right) + S_{ac}\\right]}{3}\n\\]\nwhere \\(S_{O}\\) is the SCOscore, \\(P_{urm}\\) is the proportion of underrepresented minority students, \\(P_{frl}\\) is the proportion of students eligible for free or reduced lunch, and \\(S_{ac}\\) is an academic achievement score for the corporation as a whole.\nThe academic achievement score accounts for 3rd grade ELA proficiency, 8th grade math proficiency, and graduation pathways completion rates. In order to account for those factors, the following equation is utilized:\n\\[\nS_{ac} = \\frac{\\left(S_{a_{ela}}^\\prime + S_{a_{math}}^\\prime + S_{a_{gpc}}^\\prime\\right)}{3} + 1\n\\] where \\(S_{a_{ela}}^\\prime\\) is the calculated 3rd grade ELA proficiency measure, \\(S_{a_{math}}^\\prime\\) is the calculated 6th grade math proficiency measure, and \\(S_{a_{gpc}}^\\prime\\) is the calculated graduation pathway completion measure.\nThe \\(S_a^\\prime\\) measures are determined in the following manner:\n\\[\nf(S_a^\\prime) = \\begin{cases}\n(S_{IN} - S_a) + 1, & \\text{if } S_a < S_{IN} \\\\\n0, &\\text{otherwise}\n\\end{cases}\n\\]\nwhere \\(S_a\\) is the school corporation average proficiency or completion rate and \\(S_{IN}\\) is the state-level average proficiency or completion rate.\n\nAcknowledging Inequality Within School Corporations\nIt needs to be recognized that there is the potential for inequality within a single school corporation and the SCOscore is calculated based on reported averages across all schools in the corporation. The school corporation-level score should be considered within the local building context. A building or school-level score can be calculated using the same general equation:\n\\[\nS_{O} = \\frac{\\left[\\left(P_{urm} \\times 1.5\\right) + \\left(P_{frl} \\times 1.5\\right) + S_{ac}\\right]}{3}\n\\]\nRather than calculating a combined academic score, however, the specific academic measure–3rd grade ELA proficiency rates for elementary schools, 6th grade math proficiency rates for middle schools, and graduation pathways completion rates for high schools–can be used. The \\(S_a^\\prime\\) still needs to be calculated by comparing the measure to the Indiana statewide average as above, where it becomes \\(0\\) if it is above the statewide average or \\((S_{IN} - S_a) + 1\\) if it is below the statewide average.\n\n\n\n\n\n\nCharter Schools\n\n\n\nIt is also important to consider the status of charter schools when identifying schools to work with. Despite the “public school” designation by the Indiana Department of Education, charter schools are not technically public schools in important ways, particularly when it comes to accountability to the community in which they are embedded. Other problematic issues with respect to oppression by race and ability are well-documented.\n\n\n\n\nSCO Scores and Critical Quantitative Methodologies\nThe School Corporation Opportunity Score model can be seen as consistent with the five tenents of Critical Quantitative (QuantCrit) methodologies (Gillborn, Warmington, and Demack 2018), or at least can be utilized in light of QuantCrit. In particular, the SCO scores model is intended to be utilized for social justice, recognizes the centrality of racism, pushes back on static categories, and through transparency attempts to illuminate that numbers are not neutral.\nWe also recognize, however, that the SCO scores model violates several principal values of the QuantCrit methodology (Young and Young 2022). SCO scores are based on comparative assumptions, comparing typically “successful” school corporations (predominantly white, predominantly wealthy) with those that are not. Even with an assets-based framing (“opportunity” rather than “need”)–or at least a positive spin–school corporations that are predominantly white and wealthy “[hover] over Black and Latinx scores, which creates academic imagery that promotes racial achievement hierarchies and White supremacy” (Young and Young 2022, 392). Even though it is the school corporations with high Black, brown, immigrant, refugee, and poor populations that rise up, it still creates a sense of (inverted) hierarchies.\nWhat would an approach more tightly entwined with QuantCrit methodologies look like? The single-group summary meta-analysis proposed by Young and Young (2022) provides guidance. Academic achievement–through the measures provided by the Indiana Department of Education’s GPS Dashboard (Indiana Department of Education 2023)–can be examined over time for specific groups of interest (e.g., Black students, Latinx students, refugee students, recipients of free or reduced lunch, etc.) and an effect size can be calculated for each group independently. If the effect size for any particular group is less than or equal to 0.4, that school corporation becomes a high opportunity school corporation because the potential achievement of that group of students has not yet been realized. This would provide a much more textured and measured approach to understanding the experiences of under- or mis-supported student populations.\n\n\nData Sources\nData for these calculations are drawn from the following sources:\n\nIndiana Department of Education’s Indiana Graduates Prepared to Succeed (GPS) Dashboard (Indiana Department of Education 2023).\nUrban Institute’s Education Data Explorer via the educationdata R package (Ueyama 2022)."
+ "text": "Methods\nThe SCOscore of a school corporation is calculated through the following formula:\n\\[\nS_{O} = \\frac{\\left[\\left(P_{urm} \\times 1.5\\right) + \\left(P_{frl} \\times 1.5\\right) + S_{ac}\\right]}{3}\n\\]\nwhere \\(S_{O}\\) is the SCOscore, \\(P_{urm}\\) is the proportion of underrepresented minority students, \\(P_{frl}\\) is the proportion of students eligible for free or reduced lunch, and \\(S_{ac}\\) is an academic achievement score for the corporation as a whole.\nThe academic achievement score accounts for 3rd grade ELA proficiency, 8th grade math proficiency, and graduation pathways completion rates. In order to account for those factors, the following equation is utilized:\n\\[\nS_{ac} = \\frac{\\left(S_{a_{ela}}^\\prime + S_{a_{math}}^\\prime + S_{a_{gpc}}^\\prime\\right)}{3} + 1\n\\] where \\(S_{a_{ela}}^\\prime\\) is the calculated 3rd grade ELA proficiency measure, \\(S_{a_{math}}^\\prime\\) is the calculated 6th grade math proficiency measure, and \\(S_{a_{gpc}}^\\prime\\) is the calculated graduation pathway completion measure.\nThe \\(S_a^\\prime\\) measures are determined in the following manner:\n\\[\nf(S_a^\\prime) = \\begin{cases}\n(S_{IN} - S_a) + 1, & \\text{if } S_a < S_{IN} \\\\\n0, &\\text{otherwise}\n\\end{cases}\n\\]\nwhere \\(S_a\\) is the school corporation average proficiency or completion rate and \\(S_{IN}\\) is the state-level average proficiency or completion rate.\n\nFairness and Counterfactual Inclusion\nA counterfactual analysis is an examination of data through which alternate realities are considered. If the situtation and demographics were different, would a school corporation demonstrate a SCOscore greater than 1, that is, demonstrate that school corporation should receive attention because of unrealized potential?\nA counterfactual analysis is therefore conducted on school corporations that demonstrate an adjusted academic score one standard deviation above the mean. If the proportion of non-white students is below the state mean, then the percentage is artificially increased to the state mean; the same occurs with the proportion of students who receive free and reduced lunch.\nThe SCOscore is then recalculated based on those counterfactual variables. The following\n\n\n\n\n\n\n\n\n\n\n\n\n\nSchool Corporation\nEnrollment\nPercent Non-White\nPercent FRL\nAcademic Score\nSCO Score\n\n\n\n\nMississinewa Community School Corp\n2490\n18.03\n63.78\n1.73\n1.02\n\n\nCrothersville Community Schools\n482\n7.26\n60.79\n1.76\n1.01\n\n\nHamilton Community Schools\n359\n6.69\n36.49\n2.08\n1.00\n\n\nMonroe-Gregg School District\n1539\n7.08\n32.10\n2.07\n1.00\n\n\nNorth Vermillion Com Sch Corp\n694\n5.76\n47.26\n2.05\n1.00\n\n\nNorth Gibson School Corporation\n1921\n18.01\n41.80\n2.03\n1.00\n\n\nEdinburgh Community School Corp\n849\n12.60\n66.20\n1.73\n1.00\n\n\n\n\n\n\n\n\n\n\n\nStatistical Analyses are Never Politically Neutral\n\n\n\nBlah blah blah.\n\n\n\n\nAcknowledging Inequality Within School Corporations\nIt needs to be recognized that there is the potential for inequality within a single school corporation and the SCOscore is calculated based on reported averages across all schools in the corporation. The school corporation-level score should be considered within the local building context. A building or school-level score can be calculated using the same general equation:\n\\[\nS_{O} = \\frac{\\left[\\left(P_{urm} \\times 1.5\\right) + \\left(P_{frl} \\times 1.5\\right) + S_{ac}\\right]}{3}\n\\]\nRather than calculating a combined academic score, however, the specific academic measure–3rd grade ELA proficiency rates for elementary schools, 6th grade math proficiency rates for middle schools, and graduation pathways completion rates for high schools–can be used. The \\(S_a^\\prime\\) still needs to be calculated by comparing the measure to the Indiana statewide average as above, where it becomes \\(0\\) if it is above the statewide average or \\((S_{IN} - S_a) + 1\\) if it is below the statewide average.\n\n\n\n\n\n\nCharter Schools\n\n\n\nIt is also important to consider the status of charter schools when identifying schools to work with. Despite the “public school” designation by the Indiana Department of Education, charter schools are not technically public schools in important ways, particularly when it comes to accountability to the community in which they are embedded. Other problematic issues with respect to oppression by race and ability are well-documented.\n\n\n\n\nSCO Scores and Critical Quantitative Methodologies\nThe School Corporation Opportunity Score model can be seen as consistent with the five tenents of Critical Quantitative (QuantCrit) methodologies (Gillborn, Warmington, and Demack 2018), or at least can be utilized in light of QuantCrit. In particular, the SCO scores model is intended to be utilized for social justice, recognizes the centrality of racism, pushes back on static categories, and through transparency attempts to illuminate that numbers are not neutral.\nWe also recognize, however, that the SCO scores model violates several principal values of the QuantCrit methodology (Young and Young 2022). SCO scores are based on comparative assumptions, comparing typically “successful” school corporations (predominantly white, predominantly wealthy) with those that are not. Even with an assets-based framing (“opportunity” rather than “need”)–or at least a positive spin–school corporations that are predominantly white and wealthy “[hover] over Black and Latinx scores, which creates academic imagery that promotes racial achievement hierarchies and White supremacy” (Young and Young 2022, 392). Even though it is the school corporations with high Black, brown, immigrant, refugee, and poor populations that rise up, it still creates a sense of (inverted) hierarchies.\nWhat would an approach more tightly entwined with QuantCrit methodologies look like? The single-group summary meta-analysis proposed by Young and Young (2022) provides guidance. Academic achievement–through the measures provided by the Indiana Department of Education’s GPS Dashboard (Indiana Department of Education 2023)–can be examined over time for specific groups of interest (e.g., Black students, Latinx students, refugee students, recipients of free or reduced lunch, etc.) and an effect size can be calculated for each group independently. If the effect size for any particular group is less than or equal to 0.4, that school corporation becomes a high opportunity school corporation because the potential achievement of that group of students has not yet been realized. This would provide a much more textured and measured approach to understanding the experiences of under- or mis-supported student populations.\n\n\nData Sources\nData for these calculations are drawn from the following sources:\n\nIndiana Department of Education’s Indiana Graduates Prepared to Succeed (GPS) Dashboard (Indiana Department of Education 2023).\nUrban Institute’s Education Data Explorer via the educationdata R package (Ueyama 2022)."
},
{
"objectID": "index.html#school-corporation-opportunity-scores-sco-scores",
"href": "index.html#school-corporation-opportunity-scores-sco-scores",
"title": "SCOscore: School Corporation Opportunity Score",
"section": "School Corporation Opportunity Scores (SCO Scores)",
- "text": "School Corporation Opportunity Scores (SCO Scores)\nThis section will highlight three areas for consideration: School corporation SCO scores in central Indiana; SCO score trends across the state; and, a brief examination of SCO scores by urban-centric locale categories.\nThere is an Indiana SCO Score Dashboard available, in which you can explore the data in more detail and depth.\n\n\n\n\n\n\n\nCentral Indiana\nThe primary purpose of this model is to provide insight into identifying high-opportunity school corporations for IU-Indianapolis faculty, staff, and projects. The school corporations in Central Indiana (Indianapolis–Carmel–Anderson Metropolitan Statistical Area) with SCOscores greater than 1 are as follows:\n\n\n\n\n\n\n\nSchool.Corporation\nEnrollment\nSCO.Score\n\n\n\n\nIndianapolis Public Schools\n22115\n1.42\n\n\nMSD Warren Twp\n11801\n1.42\n\n\nMSD Wayne Twp\n16343\n1.39\n\n\nMSD Pike Twp\n10928\n1.37\n\n\nAnderson Community Schools\n6470\n1.30\n\n\nMSD Lawrence Twp\n16247\n1.29\n\n\nMSD Washington Twp\n10901\n1.13\n\n\nPerry Twp Schools\n16603\n1.11\n\n\nBeech Grove City Schools\n2837\n1.10\n\n\nMSD Decatur Twp\n6681\n1.07\n\n\n\nTable 1: School corporations in the Indianapolis–Carmel–Anderson Metropolitan Statistical Area with SCO scores greater than 1.\n\n\n\n\n\n\n\n\nFigure 1: A map of school corporations in the Indianapolis–Carmel–Anderson Metropolitan Statistical Area with SCO scores.\n\n\n\nMost of the high opportunity schools are centered in Marion County (with the notable exception of Anderson Community Schools). Indianapolis Public schools and the Metropolitan School District (MSD) of Warren Township are the school corporations with the highest opportunity scores in central Indiana, with a SCO score of 1.42. The MSD of Wayne Township and the MSD of Pike Township also have high opportunity scores (1.39 and 1.37, respectively). The other school corporations listed are also high opportunity. Please note the sections above on inequalities within school corporations and the status of charter schools when reaching out to a specific school building.\n\n\nState Trends\nOverall, most of Indiana’s school corporations’ opportunity score fall under 1 (Figure 2), with the skewness for the distribution calculated at 1.222 and the kurtosis calculated at 4.088. With a skewness greater than 1, the data is highly concentrated to the left (relatively low opportunity scores) and sharply peaked (relatively highly concentrated opportunity scores) given a kurtosis greater than 3.\nMany of the school corporations in Indiana fall between the 0.5 and 1 range. This doesn’t mean that there isn’t opportunity in these school corporations, particularly for those students who experience structure barriers and oppression; rather, as a matter of general priorities, the school corporations that score greater than 1 will see a higher level of potential in terms of growth.\n\n\n\n\n\nFigure 2: A density plot of SCO scores across the state of Indiana.\n\n\n\n\nOver the state of Indiana as a whole (Figure 3), high opportunity school corporations are centered in Marion County (the Indianapolis area) and Lake County (the Northwest Region of Indiana). There are certainly other school corporations around the state that score above 1 in terms of opportunity, but they do not cluster in the same way as those in Marion and Lake Counties.\n\n\n\n\n\nFigure 3: A map of school corporations in Indiana with SCO scores.\n\n\n\n\nWe can look at how the different factors interact for Indiana school corporations in Figure 4. The plots are divided by SCO Score ranges, and demonstrate how the percentage of students who under-represented minority communities, and school corporation academic scores interact to result in ranges of School Corporation Opportunity Scores.\n\n\n\n\n\nFigure 4: Scatter plots of SCO scores for school corporations in Indiana by percent non-white, percent free/reduced lunch, and academic scores.\n\n\n\n\n\n\nUrban-Centric Locale SCO Scores\nThe National Center for Educational Statistics utilizes the urban-centered locale classification to categorize school districts and corporations into rural, town, suburban, and urban areas. These categories are further divided into large, medium, and small for urban and suburban areas and fringe, distant, and remote for towns and rural areas.\n\n\n\n\n\n\nNote\n\n\n\nSchool corporations in Indiana span the full spectrum of these categories. While there is a higher number of school corporations that are rural, a much larger number of students attend urban and suburban schools, as demonstrated in Figure 5.\n\n\n\n\n\n\n\nFigure 5: Total enrollment and number of school corporations by urban-centered locale classification.\n\n\n\n\nFigure 6 visualizes the SCO scores by urban-centered locale classification. Each of the dots represents an individual school corporation. This plot provides insight into how the school corporation opportunity scores are distributed across the urban-centered local classifications.\n\n\n\nFigure 6: Plot of SCO scores by urban-centered locale classification.\n\n\nWe can then look at the relative opportunity for the various urban-centered locale classification (Figure 7). The line in the center of the plot is the mean relative opportunity. As a class, school corporations in cities have higher relative opportunity than in other locales. This does not mean that there are not high opportunity school corporations in other locale classifications (there are), but rather this provides a sense of high-level priority which can then be broken down further and examined locally and in context.\n\n\n\n\n\nFigure 7: Plot of relative SCO scores by urban-centered locale classification."
+ "text": "School Corporation Opportunity Scores (SCO Scores)\nThis section will highlight three areas for consideration: School corporation SCO scores in central Indiana; SCO score trends across the state; and, a brief examination of SCO scores by urban-centric locale categories.\nThere is an Indiana SCO Score Dashboard available, in which you can explore the data in more detail and depth.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nCentral Indiana\nThe primary purpose of this model is to provide insight into identifying high-opportunity school corporations for IU-Indianapolis faculty, staff, and projects. The school corporations in Central Indiana (Indianapolis–Carmel–Anderson Metropolitan Statistical Area) with SCOscores greater than 1 are as follows:\n\n\n\n\n\n\n\nSchool Corporation\nEnrollment\nSCO Score\n\n\n\n\nIndianapolis Public Schools\n22115\n1.42\n\n\nMSD Warren Twp\n11801\n1.42\n\n\nMSD Wayne Twp\n16343\n1.39\n\n\nMSD Pike Twp\n10928\n1.37\n\n\nAnderson Community Schools\n6470\n1.30\n\n\nMSD Lawrence Twp\n16247\n1.29\n\n\nMSD Washington Twp\n10901\n1.13\n\n\nPerry Twp Schools\n16603\n1.11\n\n\nBeech Grove City Schools\n2837\n1.10\n\n\nMSD Decatur Twp\n6681\n1.07\n\n\n\nTable 1: School corporations in the Indianapolis–Carmel–Anderson Metropolitan Statistical Area with SCO scores greater than 1.\n\n\n\n\n\n\n\n\nFigure 1: A map of school corporations in the Indianapolis–Carmel–Anderson Metropolitan Statistical Area with SCO scores.\n\n\n\nMost of the high opportunity schools are centered in Marion County (with the notable exception of Anderson Community Schools). Indianapolis Public schools and the Metropolitan School District (MSD) of Warren Township are the school corporations with the highest opportunity scores in central Indiana, with a SCO score of 1.42. The MSD of Wayne Township and the MSD of Pike Township also have high opportunity scores (1.39 and 1.37, respectively). The other school corporations listed are also high opportunity. Please note the sections above on inequalities within school corporations and the status of charter schools when reaching out to a specific school building.\n\n\nState Trends\nOverall, most of Indiana’s school corporations’ opportunity score fall under 1 (Figure 2), with the skewness for the distribution calculated at 1.198 and the kurtosis calculated at 3.994. With a skewness greater than 1, the data is highly concentrated to the left (relatively low opportunity scores) and sharply peaked (relatively highly concentrated opportunity scores) given a kurtosis greater than 3.\nMany of the school corporations in Indiana fall between the 0.5 and 1 range. This doesn’t mean that there isn’t opportunity in these school corporations, particularly for those students who experience structure barriers and oppression; rather, as a matter of general priorities, the school corporations that score greater than 1 will see a higher level of potential in terms of growth.\n\n\n\n\n\nFigure 2: A density plot of SCO scores across the state of Indiana.\n\n\n\n\nOver the state of Indiana as a whole (Figure 3), high opportunity school corporations are centered in Marion County (the Indianapolis area) and Lake County (the Northwest Region of Indiana). There are certainly other school corporations around the state that score above 1 in terms of opportunity, but they do not cluster in the same way as those in Marion and Lake Counties.\n\n\n\n\n\nFigure 3: A map of school corporations in Indiana with SCO scores.\n\n\n\n\nWe can look at how the different factors interact for Indiana school corporations in Figure 4. The plots are divided by SCO Score ranges, and demonstrate how the percentage of students who under-represented minority communities, and school corporation academic scores interact to result in ranges of School Corporation Opportunity Scores.\n\n\n\n\n\nFigure 4: Scatter plots of SCO scores for school corporations in Indiana by percent non-white, percent free/reduced lunch, and academic scores.\n\n\n\n\n\n\n\n\n\nUrban-Centric Locale SCO Scores\nThe National Center for Educational Statistics utilizes the urban-centered locale classification to categorize school districts and corporations into rural, town, suburban, and urban areas. These categories are further divided into large, medium, and small for urban and suburban areas and fringe, distant, and remote for towns and rural areas.\n\n\n\n\n\n\nNote\n\n\n\nSchool corporations in Indiana span the full spectrum of these categories. While there is a higher number of school corporations that are rural, a much larger number of students attend urban and suburban schools, as demonstrated in Figure 5.\n\n\n\n\n\n\n\nFigure 5: Total enrollment and number of school corporations by urban-centered locale classification.\n\n\n\n\nFigure 6 visualizes the SCO scores by urban-centered locale classification. Each of the dots represents an individual school corporation. This plot provides insight into how the school corporation opportunity scores are distributed across the urban-centered local classifications.\n\n\n\nFigure 6: Plot of SCO scores by urban-centered locale classification.\n\n\nWe can then look at the relative opportunity for the various urban-centered locale classification (Figure 7). The line in the center of the plot is the mean relative opportunity. As a class, school corporations in cities have higher relative opportunity than in other locales. This does not mean that there are not high opportunity school corporations in other locale classifications (there are), but rather this provides a sense of high-level priority which can then be broken down further and examined locally and in context.\n\n\n\n\n\nFigure 7: Plot of relative SCO scores by urban-centered locale classification."
},
{
"objectID": "index.html#repositories",
@@ -32,7 +32,7 @@
"href": "index.html#session-information",
"title": "SCOscore: School Corporation Opportunity Score",
"section": "Session Information",
- "text": "Session Information\n\nSession information is provided for reproducibility purposes.\n\n\n#> ─ Session info ───────────────────────────────────────────────────────────────\n#> setting value\n#> version R version 4.3.0 (2023-04-21)\n#> os macOS Ventura 13.4\n#> system aarch64, darwin20\n#> ui X11\n#> language (EN)\n#> collate en_US.UTF-8\n#> ctype en_US.UTF-8\n#> tz America/Indiana/Indianapolis\n#> date 2023-06-16\n#> pandoc 3.1.3 @ /opt/homebrew/bin/ (via rmarkdown)\n#> \n#> ─ Packages ───────────────────────────────────────────────────────────────────\n#> package * version date (UTC) lib source\n#> dplyr * 1.1.2 2023-04-20 [1] CRAN (R 4.3.0)\n#> edbuildmapr * 0.3.1 2021-06-15 [1] CRAN (R 4.3.0)\n#> ggbeeswarm * 0.7.2 2023-04-29 [1] CRAN (R 4.3.0)\n#> ggmap * 3.0.2 2023-03-14 [1] CRAN (R 4.3.0)\n#> ggplot2 * 3.4.2 2023-04-03 [1] CRAN (R 4.3.0)\n#> ggpubr * 0.6.0 2023-02-10 [1] CRAN (R 4.3.0)\n#> ggrepel * 0.9.3 2023-02-03 [1] CRAN (R 4.3.0)\n#> here * 1.0.1 2020-12-13 [1] CRAN (R 4.3.0)\n#> knitr * 1.42 2023-01-25 [1] CRAN (R 4.3.0)\n#> mapdata * 2.3.1 2022-11-01 [1] CRAN (R 4.3.0)\n#> maps * 3.4.1 2022-10-30 [1] CRAN (R 4.3.0)\n#> moments * 0.14.1 2022-05-02 [1] CRAN (R 4.3.0)\n#> plotly * 4.10.2 2023-06-03 [1] CRAN (R 4.3.0)\n#> readr * 2.1.4 2023-02-10 [1] CRAN (R 4.3.0)\n#> sf * 1.0-13 2023-05-24 [1] CRAN (R 4.3.0)\n#> showtext * 0.9-6 2023-05-03 [1] CRAN (R 4.3.0)\n#> showtextdb * 3.0 2020-06-04 [1] CRAN (R 4.3.0)\n#> sysfonts * 0.8.8 2022-03-13 [1] CRAN (R 4.3.0)\n#> tidyr * 1.3.0 2023-01-24 [1] CRAN (R 4.3.0)\n#> \n#> [1] /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library\n#> \n#> ──────────────────────────────────────────────────────────────────────────────"
+ "text": "Session Information\n\nSession information is provided for reproducibility purposes.\n\n\n#> ─ Session info ───────────────────────────────────────────────────────────────\n#> setting value\n#> version R version 4.3.1 (2023-06-16)\n#> os macOS Ventura 13.5.2\n#> system aarch64, darwin20\n#> ui X11\n#> language (EN)\n#> collate en_US.UTF-8\n#> ctype en_US.UTF-8\n#> tz America/Indiana/Indianapolis\n#> date 2023-09-12\n#> pandoc 3.1.4 @ /opt/homebrew/bin/ (via rmarkdown)\n#> \n#> ─ Packages ───────────────────────────────────────────────────────────────────\n#> package * version date (UTC) lib source\n#> dplyr * 1.1.2 2023-04-20 [1] CRAN (R 4.3.0)\n#> edbuildmapr * 0.3.1 2021-06-15 [1] CRAN (R 4.3.0)\n#> ggbeeswarm * 0.7.2 2023-04-29 [1] CRAN (R 4.3.0)\n#> ggmap * 3.0.2 2023-03-14 [1] CRAN (R 4.3.0)\n#> ggplot2 * 3.4.3 2023-08-14 [1] CRAN (R 4.3.0)\n#> ggpubr * 0.6.0 2023-02-10 [1] CRAN (R 4.3.0)\n#> ggrepel * 0.9.3 2023-02-03 [1] CRAN (R 4.3.0)\n#> here * 1.0.1 2020-12-13 [1] CRAN (R 4.3.0)\n#> knitr * 1.43 2023-05-25 [1] CRAN (R 4.3.0)\n#> mapdata * 2.3.1 2022-11-01 [1] CRAN (R 4.3.0)\n#> maps * 3.4.1 2022-10-30 [1] CRAN (R 4.3.0)\n#> moments * 0.14.1 2022-05-02 [1] CRAN (R 4.3.0)\n#> plotly * 4.10.2 2023-06-03 [1] CRAN (R 4.3.0)\n#> readr * 2.1.4 2023-02-10 [1] CRAN (R 4.3.0)\n#> scales * 1.2.1 2022-08-20 [1] CRAN (R 4.3.0)\n#> sf * 1.0-14 2023-07-11 [1] CRAN (R 4.3.0)\n#> showtext * 0.9-6 2023-05-03 [1] CRAN (R 4.3.0)\n#> showtextdb * 3.0 2020-06-04 [1] CRAN (R 4.3.0)\n#> sysfonts * 0.8.8 2022-03-13 [1] CRAN (R 4.3.0)\n#> tidyr * 1.3.0 2023-01-24 [1] CRAN (R 4.3.0)\n#> \n#> [1] /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library\n#> \n#> ──────────────────────────────────────────────────────────────────────────────"
},
{
"objectID": "CODE_OF_CONDUCT.html",
diff --git a/docs/site_libs/bootstrap/bootstrap.min.css b/docs/site_libs/bootstrap/bootstrap.min.css
index 7aaaaf8..bb9ed1c 100644
--- a/docs/site_libs/bootstrap/bootstrap.min.css
+++ b/docs/site_libs/bootstrap/bootstrap.min.css
@@ -7,4 +7,4 @@
*
* ansi colors from IPython notebook's
*
-*/.ansi-black-fg{color:#3e424d}.ansi-black-bg{background-color:#3e424d}.ansi-black-intense-fg{color:#282c36}.ansi-black-intense-bg{background-color:#282c36}.ansi-red-fg{color:#e75c58}.ansi-red-bg{background-color:#e75c58}.ansi-red-intense-fg{color:#b22b31}.ansi-red-intense-bg{background-color:#b22b31}.ansi-green-fg{color:#00a250}.ansi-green-bg{background-color:#00a250}.ansi-green-intense-fg{color:#007427}.ansi-green-intense-bg{background-color:#007427}.ansi-yellow-fg{color:#ddb62b}.ansi-yellow-bg{background-color:#ddb62b}.ansi-yellow-intense-fg{color:#b27d12}.ansi-yellow-intense-bg{background-color:#b27d12}.ansi-blue-fg{color:#208ffb}.ansi-blue-bg{background-color:#208ffb}.ansi-blue-intense-fg{color:#0065ca}.ansi-blue-intense-bg{background-color:#0065ca}.ansi-magenta-fg{color:#d160c4}.ansi-magenta-bg{background-color:#d160c4}.ansi-magenta-intense-fg{color:#a03196}.ansi-magenta-intense-bg{background-color:#a03196}.ansi-cyan-fg{color:#60c6c8}.ansi-cyan-bg{background-color:#60c6c8}.ansi-cyan-intense-fg{color:#258f8f}.ansi-cyan-intense-bg{background-color:#258f8f}.ansi-white-fg{color:#c5c1b4}.ansi-white-bg{background-color:#c5c1b4}.ansi-white-intense-fg{color:#a1a6b2}.ansi-white-intense-bg{background-color:#a1a6b2}.ansi-default-inverse-fg{color:#fff}.ansi-default-inverse-bg{background-color:#000}.ansi-bold{font-weight:bold}.ansi-underline{text-decoration:underline}:root{--quarto-body-bg: #ffffff;--quarto-body-color: #212529;--quarto-text-muted: #6c757d;--quarto-border-color: #dee2e6;--quarto-border-width: 1px;--quarto-border-radius: 0.25rem}table.gt_table{color:var(--quarto-body-color);font-size:1em;width:100%;background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_column_spanner_outer{color:var(--quarto-body-color);background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_col_heading{color:var(--quarto-body-color);font-weight:bold;background-color:rgba(0,0,0,0)}table.gt_table thead.gt_col_headings{border-bottom:1px solid currentColor;border-top-width:inherit;border-top-color:var(--quarto-border-color)}table.gt_table thead.gt_col_headings:not(:first-child){border-top-width:1px;border-top-color:var(--quarto-border-color)}table.gt_table td.gt_row{border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-width:0px}table.gt_table tbody.gt_table_body{border-top-width:1px;border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-color:currentColor}div.columns{display:initial;gap:initial}div.column{display:inline-block;overflow-x:initial;vertical-align:top;width:50%}.code-annotation-tip-content{word-wrap:break-word}.code-annotation-container-hidden{display:none !important}dl.code-annotation-container-grid{display:grid;grid-template-columns:min-content auto}dl.code-annotation-container-grid dt{grid-column:1}dl.code-annotation-container-grid dd{grid-column:2}pre.sourceCode.code-annotation-code{padding-right:0}code.sourceCode .code-annotation-anchor{z-index:100;position:absolute;right:.5em;left:inherit;background-color:rgba(0,0,0,0)}:root{--mermaid-bg-color: #ffffff;--mermaid-edge-color: #6c757d;--mermaid-node-fg-color: #212529;--mermaid-fg-color: #212529;--mermaid-fg-color--lighter: #383f45;--mermaid-fg-color--lightest: #4e5862;--mermaid-font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, Liberation Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;--mermaid-label-bg-color: #ffffff;--mermaid-label-fg-color: #0d6efd;--mermaid-node-bg-color: rgba(13, 110, 253, 0.1);--mermaid-node-fg-color: #212529}@media print{:root{font-size:11pt}#quarto-sidebar,#TOC,.nav-page{display:none}.page-columns .content{grid-column-start:page-start}.fixed-top{position:relative}.panel-caption,.figure-caption,figcaption{color:#666}}.code-copy-button{position:absolute;top:0;right:0;border:0;margin-top:5px;margin-right:5px;background-color:rgba(0,0,0,0);z-index:3}.code-copy-button:focus{outline:none}.code-copy-button-tooltip{font-size:.75em}pre.sourceCode:hover>.code-copy-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}pre.sourceCode:hover>.code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button-checked:hover>.bi::before{background-image:url('data:image/svg+xml,')}main ol ol,main ul ul,main ol ul,main ul ol{margin-bottom:1em}ul>li:not(:has(>p))>ul,ol>li:not(:has(>p))>ul,ul>li:not(:has(>p))>ol,ol>li:not(:has(>p))>ol{margin-bottom:0}ul>li:not(:has(>p))>ul>li:has(>p),ol>li:not(:has(>p))>ul>li:has(>p),ul>li:not(:has(>p))>ol>li:has(>p),ol>li:not(:has(>p))>ol>li:has(>p){margin-top:1rem}body{margin:0}main.page-columns>header>h1.title,main.page-columns>header>.title.h1{margin-bottom:0}@media(min-width: 992px){body .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc( 850px - 3em )) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.fullcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc( 850px - 3em )) [body-content-end] 1.5em [body-end] 35px [body-end-outset] 35px [page-end-inset page-end] 5fr [screen-end-inset] 1.5em}body.slimcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc( 850px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.listing:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 850px - 3em )) [body-content-end] 3em [body-end] 50px [body-end-outset] minmax(0px, 250px) [page-end-inset] minmax(50px, 100px) [page-end] 1fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 175px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 175px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] minmax(25px, 50px) [page-start-inset] minmax(50px, 150px) [body-start-outset] minmax(25px, 50px) [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] minmax(25px, 50px) [body-end-outset] minmax(50px, 150px) [page-end-inset] minmax(25px, 50px) [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(50px, 100px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 50px [page-start-inset] minmax(50px, 150px) [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(450px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 50px [page-start-inset] minmax(50px, 150px) [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(450px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(50px, 150px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] minmax(25px, 50px) [page-start-inset] minmax(50px, 150px) [body-start-outset] minmax(25px, 50px) [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] minmax(25px, 50px) [body-end-outset] minmax(50px, 150px) [page-end-inset] minmax(25px, 50px) [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}}@media(max-width: 991.98px){body .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.fullcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.slimcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.listing:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc( 1250px - 3em )) [body-content-end body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 145px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 145px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1.5em [body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(75px, 150px) [page-end-inset] 25px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 4fr [screen-end-inset] 1.5em [screen-end]}body.docked.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 4fr [screen-end-inset] 1.5em [screen-end]}body.floating.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(75px, 150px) [page-end-inset] 25px [page-end] 4fr [screen-end-inset] 1.5em [screen-end]}}@media(max-width: 767.98px){body .page-columns,body.fullcontent:not(.floating):not(.docked) .page-columns,body.slimcontent:not(.floating):not(.docked) .page-columns,body.docked .page-columns,body.docked.slimcontent .page-columns,body.docked.fullcontent .page-columns,body.floating .page-columns,body.floating.slimcontent .page-columns,body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}nav[role=doc-toc]{display:none}}body,.page-row-navigation{grid-template-rows:[page-top] max-content [contents-top] max-content [contents-bottom] max-content [page-bottom]}.page-rows-contents{grid-template-rows:[content-top] minmax(max-content, 1fr) [content-bottom] minmax(60px, max-content) [page-bottom]}.page-full{grid-column:screen-start/screen-end !important}.page-columns>*{grid-column:body-content-start/body-content-end}.page-columns.column-page>*{grid-column:page-start/page-end}.page-columns.column-page-left>*{grid-column:page-start/body-content-end}.page-columns.column-page-right>*{grid-column:body-content-start/page-end}.page-rows{grid-auto-rows:auto}.header{grid-column:screen-start/screen-end;grid-row:page-top/contents-top}#quarto-content{padding:0;grid-column:screen-start/screen-end;grid-row:contents-top/contents-bottom}body.floating .sidebar.sidebar-navigation{grid-column:page-start/body-start;grid-row:content-top/page-bottom}body.docked .sidebar.sidebar-navigation{grid-column:screen-start/body-start;grid-row:content-top/page-bottom}.sidebar.toc-left{grid-column:page-start/body-start;grid-row:content-top/page-bottom}.sidebar.margin-sidebar{grid-column:body-end/page-end;grid-row:content-top/page-bottom}.page-columns .content{grid-column:body-content-start/body-content-end;grid-row:content-top/content-bottom;align-content:flex-start}.page-columns .page-navigation{grid-column:body-content-start/body-content-end;grid-row:content-bottom/page-bottom}.page-columns .footer{grid-column:screen-start/screen-end;grid-row:contents-bottom/page-bottom}.page-columns .column-body{grid-column:body-content-start/body-content-end}.page-columns .column-body-fullbleed{grid-column:body-start/body-end}.page-columns .column-body-outset{grid-column:body-start-outset/body-end-outset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-body-outset table{background:#fff}.page-columns .column-body-outset-left{grid-column:body-start-outset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-body-outset-left table{background:#fff}.page-columns .column-body-outset-right{grid-column:body-content-start/body-end-outset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-body-outset-right table{background:#fff}.page-columns .column-page{grid-column:page-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page table{background:#fff}.page-columns .column-page-inset{grid-column:page-start-inset/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-inset table{background:#fff}.page-columns .column-page-inset-left{grid-column:page-start-inset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-inset-left table{background:#fff}.page-columns .column-page-inset-right{grid-column:body-content-start/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-inset-right figcaption table{background:#fff}.page-columns .column-page-left{grid-column:page-start/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-left table{background:#fff}.page-columns .column-page-right{grid-column:body-content-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-right figcaption table{background:#fff}#quarto-content.page-columns #quarto-margin-sidebar,#quarto-content.page-columns #quarto-sidebar{z-index:1}@media(max-width: 991.98px){#quarto-content.page-columns #quarto-margin-sidebar.collapse,#quarto-content.page-columns #quarto-sidebar.collapse,#quarto-content.page-columns #quarto-margin-sidebar.collapsing,#quarto-content.page-columns #quarto-sidebar.collapsing{z-index:1055}}#quarto-content.page-columns main.column-page,#quarto-content.page-columns main.column-page-right,#quarto-content.page-columns main.column-page-left{z-index:0}.page-columns .column-screen-inset{grid-column:screen-start-inset/screen-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset table{background:#fff}.page-columns .column-screen-inset-left{grid-column:screen-start-inset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-left table{background:#fff}.page-columns .column-screen-inset-right{grid-column:body-content-start/screen-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-right table{background:#fff}.page-columns .column-screen{grid-column:screen-start/screen-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen table{background:#fff}.page-columns .column-screen-left{grid-column:screen-start/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-left table{background:#fff}.page-columns .column-screen-right{grid-column:body-content-start/screen-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-right table{background:#fff}.page-columns .column-screen-inset-shaded{grid-column:screen-start/screen-end;padding:1em;background:#f8f9fa;z-index:998;transform:translate3d(0, 0, 0);margin-bottom:1em}.zindex-content{z-index:998;transform:translate3d(0, 0, 0)}.zindex-modal{z-index:1055;transform:translate3d(0, 0, 0)}.zindex-over-content{z-index:999;transform:translate3d(0, 0, 0)}img.img-fluid.column-screen,img.img-fluid.column-screen-inset-shaded,img.img-fluid.column-screen-inset,img.img-fluid.column-screen-inset-left,img.img-fluid.column-screen-inset-right,img.img-fluid.column-screen-left,img.img-fluid.column-screen-right{width:100%}@media(min-width: 992px){.margin-caption,div.aside,aside,.column-margin{grid-column:body-end/page-end !important;z-index:998}.column-sidebar{grid-column:page-start/body-start !important;z-index:998}.column-leftmargin{grid-column:screen-start-inset/body-start !important;z-index:998}.no-row-height{height:1em;overflow:visible}}@media(max-width: 991.98px){.margin-caption,div.aside,aside,.column-margin{grid-column:body-end/page-end !important;z-index:998}.no-row-height{height:1em;overflow:visible}.page-columns.page-full{overflow:visible}.page-columns.toc-left .margin-caption,.page-columns.toc-left div.aside,.page-columns.toc-left aside,.page-columns.toc-left .column-margin{grid-column:body-content-start/body-content-end !important;z-index:998;transform:translate3d(0, 0, 0)}.page-columns.toc-left .no-row-height{height:initial;overflow:initial}}@media(max-width: 767.98px){.margin-caption,div.aside,aside,.column-margin{grid-column:body-content-start/body-content-end !important;z-index:998;transform:translate3d(0, 0, 0)}.no-row-height{height:initial;overflow:initial}#quarto-margin-sidebar{display:none}#quarto-sidebar-toc-left{display:none}.hidden-sm{display:none}}.panel-grid{display:grid;grid-template-rows:repeat(1, 1fr);grid-template-columns:repeat(24, 1fr);gap:1em}.panel-grid .g-col-1{grid-column:auto/span 1}.panel-grid .g-col-2{grid-column:auto/span 2}.panel-grid .g-col-3{grid-column:auto/span 3}.panel-grid .g-col-4{grid-column:auto/span 4}.panel-grid .g-col-5{grid-column:auto/span 5}.panel-grid .g-col-6{grid-column:auto/span 6}.panel-grid .g-col-7{grid-column:auto/span 7}.panel-grid .g-col-8{grid-column:auto/span 8}.panel-grid .g-col-9{grid-column:auto/span 9}.panel-grid .g-col-10{grid-column:auto/span 10}.panel-grid .g-col-11{grid-column:auto/span 11}.panel-grid .g-col-12{grid-column:auto/span 12}.panel-grid .g-col-13{grid-column:auto/span 13}.panel-grid .g-col-14{grid-column:auto/span 14}.panel-grid .g-col-15{grid-column:auto/span 15}.panel-grid .g-col-16{grid-column:auto/span 16}.panel-grid .g-col-17{grid-column:auto/span 17}.panel-grid .g-col-18{grid-column:auto/span 18}.panel-grid .g-col-19{grid-column:auto/span 19}.panel-grid .g-col-20{grid-column:auto/span 20}.panel-grid .g-col-21{grid-column:auto/span 21}.panel-grid .g-col-22{grid-column:auto/span 22}.panel-grid .g-col-23{grid-column:auto/span 23}.panel-grid .g-col-24{grid-column:auto/span 24}.panel-grid .g-start-1{grid-column-start:1}.panel-grid .g-start-2{grid-column-start:2}.panel-grid .g-start-3{grid-column-start:3}.panel-grid .g-start-4{grid-column-start:4}.panel-grid .g-start-5{grid-column-start:5}.panel-grid .g-start-6{grid-column-start:6}.panel-grid .g-start-7{grid-column-start:7}.panel-grid .g-start-8{grid-column-start:8}.panel-grid .g-start-9{grid-column-start:9}.panel-grid .g-start-10{grid-column-start:10}.panel-grid .g-start-11{grid-column-start:11}.panel-grid .g-start-12{grid-column-start:12}.panel-grid .g-start-13{grid-column-start:13}.panel-grid .g-start-14{grid-column-start:14}.panel-grid .g-start-15{grid-column-start:15}.panel-grid .g-start-16{grid-column-start:16}.panel-grid .g-start-17{grid-column-start:17}.panel-grid .g-start-18{grid-column-start:18}.panel-grid .g-start-19{grid-column-start:19}.panel-grid .g-start-20{grid-column-start:20}.panel-grid .g-start-21{grid-column-start:21}.panel-grid .g-start-22{grid-column-start:22}.panel-grid .g-start-23{grid-column-start:23}@media(min-width: 576px){.panel-grid .g-col-sm-1{grid-column:auto/span 1}.panel-grid .g-col-sm-2{grid-column:auto/span 2}.panel-grid .g-col-sm-3{grid-column:auto/span 3}.panel-grid .g-col-sm-4{grid-column:auto/span 4}.panel-grid .g-col-sm-5{grid-column:auto/span 5}.panel-grid .g-col-sm-6{grid-column:auto/span 6}.panel-grid .g-col-sm-7{grid-column:auto/span 7}.panel-grid .g-col-sm-8{grid-column:auto/span 8}.panel-grid .g-col-sm-9{grid-column:auto/span 9}.panel-grid .g-col-sm-10{grid-column:auto/span 10}.panel-grid .g-col-sm-11{grid-column:auto/span 11}.panel-grid .g-col-sm-12{grid-column:auto/span 12}.panel-grid .g-col-sm-13{grid-column:auto/span 13}.panel-grid .g-col-sm-14{grid-column:auto/span 14}.panel-grid .g-col-sm-15{grid-column:auto/span 15}.panel-grid .g-col-sm-16{grid-column:auto/span 16}.panel-grid .g-col-sm-17{grid-column:auto/span 17}.panel-grid .g-col-sm-18{grid-column:auto/span 18}.panel-grid .g-col-sm-19{grid-column:auto/span 19}.panel-grid .g-col-sm-20{grid-column:auto/span 20}.panel-grid .g-col-sm-21{grid-column:auto/span 21}.panel-grid .g-col-sm-22{grid-column:auto/span 22}.panel-grid .g-col-sm-23{grid-column:auto/span 23}.panel-grid .g-col-sm-24{grid-column:auto/span 24}.panel-grid .g-start-sm-1{grid-column-start:1}.panel-grid .g-start-sm-2{grid-column-start:2}.panel-grid .g-start-sm-3{grid-column-start:3}.panel-grid .g-start-sm-4{grid-column-start:4}.panel-grid .g-start-sm-5{grid-column-start:5}.panel-grid .g-start-sm-6{grid-column-start:6}.panel-grid .g-start-sm-7{grid-column-start:7}.panel-grid .g-start-sm-8{grid-column-start:8}.panel-grid .g-start-sm-9{grid-column-start:9}.panel-grid .g-start-sm-10{grid-column-start:10}.panel-grid .g-start-sm-11{grid-column-start:11}.panel-grid .g-start-sm-12{grid-column-start:12}.panel-grid .g-start-sm-13{grid-column-start:13}.panel-grid .g-start-sm-14{grid-column-start:14}.panel-grid .g-start-sm-15{grid-column-start:15}.panel-grid .g-start-sm-16{grid-column-start:16}.panel-grid .g-start-sm-17{grid-column-start:17}.panel-grid .g-start-sm-18{grid-column-start:18}.panel-grid .g-start-sm-19{grid-column-start:19}.panel-grid .g-start-sm-20{grid-column-start:20}.panel-grid .g-start-sm-21{grid-column-start:21}.panel-grid .g-start-sm-22{grid-column-start:22}.panel-grid .g-start-sm-23{grid-column-start:23}}@media(min-width: 768px){.panel-grid .g-col-md-1{grid-column:auto/span 1}.panel-grid .g-col-md-2{grid-column:auto/span 2}.panel-grid .g-col-md-3{grid-column:auto/span 3}.panel-grid .g-col-md-4{grid-column:auto/span 4}.panel-grid .g-col-md-5{grid-column:auto/span 5}.panel-grid .g-col-md-6{grid-column:auto/span 6}.panel-grid .g-col-md-7{grid-column:auto/span 7}.panel-grid .g-col-md-8{grid-column:auto/span 8}.panel-grid .g-col-md-9{grid-column:auto/span 9}.panel-grid .g-col-md-10{grid-column:auto/span 10}.panel-grid .g-col-md-11{grid-column:auto/span 11}.panel-grid .g-col-md-12{grid-column:auto/span 12}.panel-grid .g-col-md-13{grid-column:auto/span 13}.panel-grid .g-col-md-14{grid-column:auto/span 14}.panel-grid .g-col-md-15{grid-column:auto/span 15}.panel-grid .g-col-md-16{grid-column:auto/span 16}.panel-grid .g-col-md-17{grid-column:auto/span 17}.panel-grid .g-col-md-18{grid-column:auto/span 18}.panel-grid .g-col-md-19{grid-column:auto/span 19}.panel-grid .g-col-md-20{grid-column:auto/span 20}.panel-grid .g-col-md-21{grid-column:auto/span 21}.panel-grid .g-col-md-22{grid-column:auto/span 22}.panel-grid .g-col-md-23{grid-column:auto/span 23}.panel-grid .g-col-md-24{grid-column:auto/span 24}.panel-grid .g-start-md-1{grid-column-start:1}.panel-grid .g-start-md-2{grid-column-start:2}.panel-grid .g-start-md-3{grid-column-start:3}.panel-grid .g-start-md-4{grid-column-start:4}.panel-grid .g-start-md-5{grid-column-start:5}.panel-grid .g-start-md-6{grid-column-start:6}.panel-grid .g-start-md-7{grid-column-start:7}.panel-grid .g-start-md-8{grid-column-start:8}.panel-grid .g-start-md-9{grid-column-start:9}.panel-grid .g-start-md-10{grid-column-start:10}.panel-grid .g-start-md-11{grid-column-start:11}.panel-grid .g-start-md-12{grid-column-start:12}.panel-grid .g-start-md-13{grid-column-start:13}.panel-grid .g-start-md-14{grid-column-start:14}.panel-grid .g-start-md-15{grid-column-start:15}.panel-grid .g-start-md-16{grid-column-start:16}.panel-grid .g-start-md-17{grid-column-start:17}.panel-grid .g-start-md-18{grid-column-start:18}.panel-grid .g-start-md-19{grid-column-start:19}.panel-grid .g-start-md-20{grid-column-start:20}.panel-grid .g-start-md-21{grid-column-start:21}.panel-grid .g-start-md-22{grid-column-start:22}.panel-grid .g-start-md-23{grid-column-start:23}}@media(min-width: 992px){.panel-grid .g-col-lg-1{grid-column:auto/span 1}.panel-grid .g-col-lg-2{grid-column:auto/span 2}.panel-grid .g-col-lg-3{grid-column:auto/span 3}.panel-grid .g-col-lg-4{grid-column:auto/span 4}.panel-grid .g-col-lg-5{grid-column:auto/span 5}.panel-grid .g-col-lg-6{grid-column:auto/span 6}.panel-grid .g-col-lg-7{grid-column:auto/span 7}.panel-grid .g-col-lg-8{grid-column:auto/span 8}.panel-grid .g-col-lg-9{grid-column:auto/span 9}.panel-grid .g-col-lg-10{grid-column:auto/span 10}.panel-grid .g-col-lg-11{grid-column:auto/span 11}.panel-grid .g-col-lg-12{grid-column:auto/span 12}.panel-grid .g-col-lg-13{grid-column:auto/span 13}.panel-grid .g-col-lg-14{grid-column:auto/span 14}.panel-grid .g-col-lg-15{grid-column:auto/span 15}.panel-grid .g-col-lg-16{grid-column:auto/span 16}.panel-grid .g-col-lg-17{grid-column:auto/span 17}.panel-grid .g-col-lg-18{grid-column:auto/span 18}.panel-grid .g-col-lg-19{grid-column:auto/span 19}.panel-grid .g-col-lg-20{grid-column:auto/span 20}.panel-grid .g-col-lg-21{grid-column:auto/span 21}.panel-grid .g-col-lg-22{grid-column:auto/span 22}.panel-grid .g-col-lg-23{grid-column:auto/span 23}.panel-grid .g-col-lg-24{grid-column:auto/span 24}.panel-grid .g-start-lg-1{grid-column-start:1}.panel-grid .g-start-lg-2{grid-column-start:2}.panel-grid .g-start-lg-3{grid-column-start:3}.panel-grid .g-start-lg-4{grid-column-start:4}.panel-grid .g-start-lg-5{grid-column-start:5}.panel-grid .g-start-lg-6{grid-column-start:6}.panel-grid .g-start-lg-7{grid-column-start:7}.panel-grid .g-start-lg-8{grid-column-start:8}.panel-grid .g-start-lg-9{grid-column-start:9}.panel-grid .g-start-lg-10{grid-column-start:10}.panel-grid .g-start-lg-11{grid-column-start:11}.panel-grid .g-start-lg-12{grid-column-start:12}.panel-grid .g-start-lg-13{grid-column-start:13}.panel-grid .g-start-lg-14{grid-column-start:14}.panel-grid .g-start-lg-15{grid-column-start:15}.panel-grid .g-start-lg-16{grid-column-start:16}.panel-grid .g-start-lg-17{grid-column-start:17}.panel-grid .g-start-lg-18{grid-column-start:18}.panel-grid .g-start-lg-19{grid-column-start:19}.panel-grid .g-start-lg-20{grid-column-start:20}.panel-grid .g-start-lg-21{grid-column-start:21}.panel-grid .g-start-lg-22{grid-column-start:22}.panel-grid .g-start-lg-23{grid-column-start:23}}@media(min-width: 1200px){.panel-grid .g-col-xl-1{grid-column:auto/span 1}.panel-grid .g-col-xl-2{grid-column:auto/span 2}.panel-grid .g-col-xl-3{grid-column:auto/span 3}.panel-grid .g-col-xl-4{grid-column:auto/span 4}.panel-grid .g-col-xl-5{grid-column:auto/span 5}.panel-grid .g-col-xl-6{grid-column:auto/span 6}.panel-grid .g-col-xl-7{grid-column:auto/span 7}.panel-grid .g-col-xl-8{grid-column:auto/span 8}.panel-grid .g-col-xl-9{grid-column:auto/span 9}.panel-grid .g-col-xl-10{grid-column:auto/span 10}.panel-grid .g-col-xl-11{grid-column:auto/span 11}.panel-grid .g-col-xl-12{grid-column:auto/span 12}.panel-grid .g-col-xl-13{grid-column:auto/span 13}.panel-grid .g-col-xl-14{grid-column:auto/span 14}.panel-grid .g-col-xl-15{grid-column:auto/span 15}.panel-grid .g-col-xl-16{grid-column:auto/span 16}.panel-grid .g-col-xl-17{grid-column:auto/span 17}.panel-grid .g-col-xl-18{grid-column:auto/span 18}.panel-grid .g-col-xl-19{grid-column:auto/span 19}.panel-grid .g-col-xl-20{grid-column:auto/span 20}.panel-grid .g-col-xl-21{grid-column:auto/span 21}.panel-grid .g-col-xl-22{grid-column:auto/span 22}.panel-grid .g-col-xl-23{grid-column:auto/span 23}.panel-grid .g-col-xl-24{grid-column:auto/span 24}.panel-grid .g-start-xl-1{grid-column-start:1}.panel-grid .g-start-xl-2{grid-column-start:2}.panel-grid .g-start-xl-3{grid-column-start:3}.panel-grid .g-start-xl-4{grid-column-start:4}.panel-grid .g-start-xl-5{grid-column-start:5}.panel-grid .g-start-xl-6{grid-column-start:6}.panel-grid .g-start-xl-7{grid-column-start:7}.panel-grid .g-start-xl-8{grid-column-start:8}.panel-grid .g-start-xl-9{grid-column-start:9}.panel-grid .g-start-xl-10{grid-column-start:10}.panel-grid .g-start-xl-11{grid-column-start:11}.panel-grid .g-start-xl-12{grid-column-start:12}.panel-grid .g-start-xl-13{grid-column-start:13}.panel-grid .g-start-xl-14{grid-column-start:14}.panel-grid .g-start-xl-15{grid-column-start:15}.panel-grid .g-start-xl-16{grid-column-start:16}.panel-grid .g-start-xl-17{grid-column-start:17}.panel-grid .g-start-xl-18{grid-column-start:18}.panel-grid .g-start-xl-19{grid-column-start:19}.panel-grid .g-start-xl-20{grid-column-start:20}.panel-grid .g-start-xl-21{grid-column-start:21}.panel-grid .g-start-xl-22{grid-column-start:22}.panel-grid .g-start-xl-23{grid-column-start:23}}@media(min-width: 1400px){.panel-grid .g-col-xxl-1{grid-column:auto/span 1}.panel-grid .g-col-xxl-2{grid-column:auto/span 2}.panel-grid .g-col-xxl-3{grid-column:auto/span 3}.panel-grid .g-col-xxl-4{grid-column:auto/span 4}.panel-grid .g-col-xxl-5{grid-column:auto/span 5}.panel-grid .g-col-xxl-6{grid-column:auto/span 6}.panel-grid .g-col-xxl-7{grid-column:auto/span 7}.panel-grid .g-col-xxl-8{grid-column:auto/span 8}.panel-grid .g-col-xxl-9{grid-column:auto/span 9}.panel-grid .g-col-xxl-10{grid-column:auto/span 10}.panel-grid .g-col-xxl-11{grid-column:auto/span 11}.panel-grid .g-col-xxl-12{grid-column:auto/span 12}.panel-grid .g-col-xxl-13{grid-column:auto/span 13}.panel-grid .g-col-xxl-14{grid-column:auto/span 14}.panel-grid .g-col-xxl-15{grid-column:auto/span 15}.panel-grid .g-col-xxl-16{grid-column:auto/span 16}.panel-grid .g-col-xxl-17{grid-column:auto/span 17}.panel-grid .g-col-xxl-18{grid-column:auto/span 18}.panel-grid .g-col-xxl-19{grid-column:auto/span 19}.panel-grid .g-col-xxl-20{grid-column:auto/span 20}.panel-grid .g-col-xxl-21{grid-column:auto/span 21}.panel-grid .g-col-xxl-22{grid-column:auto/span 22}.panel-grid .g-col-xxl-23{grid-column:auto/span 23}.panel-grid .g-col-xxl-24{grid-column:auto/span 24}.panel-grid .g-start-xxl-1{grid-column-start:1}.panel-grid .g-start-xxl-2{grid-column-start:2}.panel-grid .g-start-xxl-3{grid-column-start:3}.panel-grid .g-start-xxl-4{grid-column-start:4}.panel-grid .g-start-xxl-5{grid-column-start:5}.panel-grid .g-start-xxl-6{grid-column-start:6}.panel-grid .g-start-xxl-7{grid-column-start:7}.panel-grid .g-start-xxl-8{grid-column-start:8}.panel-grid .g-start-xxl-9{grid-column-start:9}.panel-grid .g-start-xxl-10{grid-column-start:10}.panel-grid .g-start-xxl-11{grid-column-start:11}.panel-grid .g-start-xxl-12{grid-column-start:12}.panel-grid .g-start-xxl-13{grid-column-start:13}.panel-grid .g-start-xxl-14{grid-column-start:14}.panel-grid .g-start-xxl-15{grid-column-start:15}.panel-grid .g-start-xxl-16{grid-column-start:16}.panel-grid .g-start-xxl-17{grid-column-start:17}.panel-grid .g-start-xxl-18{grid-column-start:18}.panel-grid .g-start-xxl-19{grid-column-start:19}.panel-grid .g-start-xxl-20{grid-column-start:20}.panel-grid .g-start-xxl-21{grid-column-start:21}.panel-grid .g-start-xxl-22{grid-column-start:22}.panel-grid .g-start-xxl-23{grid-column-start:23}}main{margin-top:1em;margin-bottom:1em}h1,.h1,h2,.h2{opacity:.9;margin-top:2rem;margin-bottom:1rem;font-weight:600}h1.title,.title.h1{margin-top:0}h2,.h2{border-bottom:1px solid #dee2e6;padding-bottom:.5rem}h3,.h3{font-weight:600}h3,.h3,h4,.h4{opacity:.9;margin-top:1.5rem}h5,.h5,h6,.h6{opacity:.9}.header-section-number{color:#5a6570}.nav-link.active .header-section-number{color:inherit}mark,.mark{padding:0em}.panel-caption,caption,.figure-caption{font-size:.9rem}.panel-caption,.figure-caption,figcaption{color:#5a6570}.table-caption,caption{color:#212529}.quarto-layout-cell[data-ref-parent] caption{color:#5a6570}.column-margin figcaption,.margin-caption,div.aside,aside,.column-margin{color:#5a6570;font-size:.825rem}.panel-caption.margin-caption{text-align:inherit}.column-margin.column-container p{margin-bottom:0}.column-margin.column-container>*:not(.collapse){padding-top:.5em;padding-bottom:.5em;display:block}.column-margin.column-container>*.collapse:not(.show){display:none}@media(min-width: 768px){.column-margin.column-container .callout-margin-content:first-child{margin-top:4.5em}.column-margin.column-container .callout-margin-content-simple:first-child{margin-top:3.5em}}.margin-caption>*{padding-top:.5em;padding-bottom:.5em}@media(max-width: 767.98px){.quarto-layout-row{flex-direction:column}}.nav-tabs .nav-item{margin-top:1px;cursor:pointer}.tab-content{margin-top:0px;border-left:#dee2e6 1px solid;border-right:#dee2e6 1px solid;border-bottom:#dee2e6 1px solid;margin-left:0;padding:1em;margin-bottom:1em}@media(max-width: 767.98px){.layout-sidebar{margin-left:0;margin-right:0}}.panel-sidebar,.panel-sidebar .form-control,.panel-input,.panel-input .form-control,.selectize-dropdown{font-size:.9rem}.panel-sidebar .form-control,.panel-input .form-control{padding-top:.1rem}.tab-pane div.sourceCode{margin-top:0px}.tab-pane>p{padding-top:1em}.tab-content>.tab-pane:not(.active){display:none !important}div.sourceCode{background-color:rgba(233,236,239,.65);border:1px solid rgba(233,236,239,.65);border-radius:.25rem}pre.sourceCode{background-color:rgba(0,0,0,0)}pre.sourceCode{border:none;font-size:.875em;overflow:visible !important;padding:.4em}.callout pre.sourceCode{padding-left:0}div.sourceCode{overflow-y:hidden}.callout div.sourceCode{margin-left:initial}.blockquote{font-size:inherit;padding-left:1rem;padding-right:1.5rem;color:#5a6570}.blockquote h1:first-child,.blockquote .h1:first-child,.blockquote h2:first-child,.blockquote .h2:first-child,.blockquote h3:first-child,.blockquote .h3:first-child,.blockquote h4:first-child,.blockquote .h4:first-child,.blockquote h5:first-child,.blockquote .h5:first-child{margin-top:0}pre{background-color:initial;padding:initial;border:initial}p code:not(.sourceCode),li code:not(.sourceCode),td code:not(.sourceCode){background-color:#f6f6f6;padding:.2em}nav p code:not(.sourceCode),nav li code:not(.sourceCode),nav td code:not(.sourceCode){background-color:rgba(0,0,0,0);padding:0}td code:not(.sourceCode){white-space:pre-wrap}#quarto-embedded-source-code-modal>.modal-dialog{max-width:1000px;padding-left:1.75rem;padding-right:1.75rem}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-body{padding:0}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-body div.sourceCode{margin:0;padding:.2rem .2rem;border-radius:0px;border:none}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-header{padding:.7rem}.code-tools-button{font-size:1rem;padding:.15rem .15rem;margin-left:5px;color:#6c757d;background-color:rgba(0,0,0,0);transition:initial;cursor:pointer}.code-tools-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}.code-tools-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}#quarto-embedded-source-code-modal .code-copy-button>.bi::before{background-image:url('data:image/svg+xml,')}#quarto-embedded-source-code-modal .code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}.sidebar{will-change:top;transition:top 200ms linear;position:sticky;overflow-y:auto;padding-top:1.2em;max-height:100vh}.sidebar.toc-left,.sidebar.margin-sidebar{top:0px;padding-top:1em}.sidebar.toc-left>*,.sidebar.margin-sidebar>*{padding-top:.5em}.sidebar.quarto-banner-title-block-sidebar>*{padding-top:1.65em}figure .quarto-notebook-link{margin-top:.5em}.quarto-notebook-link{font-size:.75em;color:#6c757d;margin-bottom:1em;text-decoration:none;display:block}.quarto-notebook-link:hover{text-decoration:underline;color:#0d6efd}.quarto-notebook-link::before{display:inline-block;height:.75rem;width:.75rem;margin-bottom:0em;margin-right:.25em;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:.75rem .75rem}.quarto-alternate-notebooks i.bi,.quarto-alternate-formats i.bi{margin-right:.4em}.quarto-notebook .cell-container{display:flex}.quarto-notebook .cell-container .cell{flex-grow:4}.quarto-notebook .cell-container .cell-decorator{padding-top:1.5em;padding-right:1em;text-align:right}.quarto-notebook h2,.quarto-notebook .h2{border-bottom:none}.sidebar .quarto-alternate-formats a,.sidebar .quarto-alternate-notebooks a{text-decoration:none}.sidebar .quarto-alternate-formats a:hover,.sidebar .quarto-alternate-notebooks a:hover{color:#0d6efd}.sidebar .quarto-alternate-notebooks h2,.sidebar .quarto-alternate-notebooks .h2,.sidebar .quarto-alternate-formats h2,.sidebar .quarto-alternate-formats .h2,.sidebar nav[role=doc-toc]>h2,.sidebar nav[role=doc-toc]>.h2{font-size:.875rem;font-weight:400;margin-bottom:.5rem;margin-top:.3rem;font-family:inherit;border-bottom:0;padding-bottom:0;padding-top:0px}.sidebar .quarto-alternate-notebooks h2,.sidebar .quarto-alternate-notebooks .h2,.sidebar .quarto-alternate-formats h2,.sidebar .quarto-alternate-formats .h2{margin-top:1rem}.sidebar nav[role=doc-toc]>ul a{border-left:1px solid #e9ecef;padding-left:.6rem}.sidebar .quarto-alternate-notebooks h2>ul a,.sidebar .quarto-alternate-notebooks .h2>ul a,.sidebar .quarto-alternate-formats h2>ul a,.sidebar .quarto-alternate-formats .h2>ul a{border-left:none;padding-left:.6rem}.sidebar .quarto-alternate-notebooks ul a:empty,.sidebar .quarto-alternate-formats ul a:empty,.sidebar nav[role=doc-toc]>ul a:empty{display:none}.sidebar .quarto-alternate-notebooks ul,.sidebar .quarto-alternate-formats ul,.sidebar nav[role=doc-toc] ul{padding-left:0;list-style:none;font-size:.875rem;font-weight:300}.sidebar .quarto-alternate-notebooks ul li a,.sidebar .quarto-alternate-formats ul li a,.sidebar nav[role=doc-toc]>ul li a{line-height:1.1rem;padding-bottom:.2rem;padding-top:.2rem;color:inherit}.sidebar nav[role=doc-toc] ul>li>ul>li>a{padding-left:1.2em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>a{padding-left:2.4em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>a{padding-left:3.6em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>ul>li>a{padding-left:4.8em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>a{padding-left:6em}.sidebar nav[role=doc-toc] ul>li>a.active,.sidebar nav[role=doc-toc] ul>li>ul>li>a.active{border-left:1px solid #0d6efd;color:#0d6efd !important}.sidebar nav[role=doc-toc] ul>li>a:hover,.sidebar nav[role=doc-toc] ul>li>ul>li>a:hover{color:#0d6efd !important}kbd,.kbd{color:#212529;background-color:#f8f9fa;border:1px solid;border-radius:5px;border-color:#dee2e6}div.hanging-indent{margin-left:1em;text-indent:-1em}.citation a,.footnote-ref{text-decoration:none}.footnotes ol{padding-left:1em}.tippy-content>*{margin-bottom:.7em}.tippy-content>*:last-child{margin-bottom:0}.table a{word-break:break-word}.table>thead{border-top-width:1px;border-top-color:#dee2e6;border-bottom:1px solid #9ba5ae}.callout{margin-top:1.25rem;margin-bottom:1.25rem;border-radius:.25rem;overflow-wrap:break-word}.callout .callout-title-container{overflow-wrap:anywhere}.callout.callout-style-simple{padding:.4em .7em;border-left:5px solid;border-right:1px solid #dee2e6;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.callout.callout-style-default{border-left:5px solid;border-right:1px solid #dee2e6;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.callout .callout-body-container{flex-grow:1}.callout.callout-style-simple .callout-body{font-size:.9rem;font-weight:400}.callout.callout-style-default .callout-body{font-size:.9rem;font-weight:400}.callout.callout-titled .callout-body{margin-top:.2em}.callout:not(.no-icon).callout-titled.callout-style-simple .callout-body{padding-left:1.6em}.callout.callout-titled>.callout-header{padding-top:.2em;margin-bottom:-0.2em}.callout.callout-style-simple>div.callout-header{border-bottom:none;font-size:.9rem;font-weight:600;opacity:75%}.callout.callout-style-default>div.callout-header{border-bottom:none;font-weight:600;opacity:85%;font-size:.9rem;padding-left:.5em;padding-right:.5em}.callout.callout-style-default div.callout-body{padding-left:.5em;padding-right:.5em}.callout.callout-style-default div.callout-body>:first-child{margin-top:.5em}.callout>div.callout-header[data-bs-toggle=collapse]{cursor:pointer}.callout.callout-style-default .callout-header[aria-expanded=false],.callout.callout-style-default .callout-header[aria-expanded=true]{padding-top:0px;margin-bottom:0px;align-items:center}.callout.callout-titled .callout-body>:last-child:not(.sourceCode),.callout.callout-titled .callout-body>div>:last-child:not(.sourceCode){margin-bottom:.5rem}.callout:not(.callout-titled) .callout-body>:first-child,.callout:not(.callout-titled) .callout-body>div>:first-child{margin-top:.25rem}.callout:not(.callout-titled) .callout-body>:last-child,.callout:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:.2rem}.callout.callout-style-simple .callout-icon::before,.callout.callout-style-simple .callout-toggle::before{height:1rem;width:1rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.callout.callout-style-default .callout-icon::before,.callout.callout-style-default .callout-toggle::before{height:.9rem;width:.9rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:.9rem .9rem}.callout.callout-style-default .callout-toggle::before{margin-top:5px}.callout .callout-btn-toggle .callout-toggle::before{transition:transform .2s linear}.callout .callout-header[aria-expanded=false] .callout-toggle::before{transform:rotate(-90deg)}.callout .callout-header[aria-expanded=true] .callout-toggle::before{transform:none}.callout.callout-style-simple:not(.no-icon) div.callout-icon-container{padding-top:.2em;padding-right:.55em}.callout.callout-style-default:not(.no-icon) div.callout-icon-container{padding-top:.1em;padding-right:.35em}.callout.callout-style-default:not(.no-icon) div.callout-title-container{margin-top:-1px}.callout.callout-style-default.callout-caution:not(.no-icon) div.callout-icon-container{padding-top:.3em;padding-right:.35em}.callout>.callout-body>.callout-icon-container>.no-icon,.callout>.callout-header>.callout-icon-container>.no-icon{display:none}div.callout.callout{border-left-color:#6c757d}div.callout.callout-style-default>.callout-header{background-color:#6c757d}div.callout-note.callout{border-left-color:#0d6efd}div.callout-note.callout-style-default>.callout-header{background-color:#e7f1ff}div.callout-note:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-note .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-tip.callout{border-left-color:#198754}div.callout-tip.callout-style-default>.callout-header{background-color:#e8f3ee}div.callout-tip:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-tip .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-warning.callout{border-left-color:#ffc107}div.callout-warning.callout-style-default>.callout-header{background-color:#fff9e6}div.callout-warning:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-warning .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-caution.callout{border-left-color:#fd7e14}div.callout-caution.callout-style-default>.callout-header{background-color:#fff2e8}div.callout-caution:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-caution .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-important.callout{border-left-color:#dc3545}div.callout-important.callout-style-default>.callout-header{background-color:#fcebec}div.callout-important:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-important .callout-toggle::before{background-image:url('data:image/svg+xml,')}.quarto-toggle-container{display:flex;align-items:center}.quarto-reader-toggle .bi::before,.quarto-color-scheme-toggle .bi::before{display:inline-block;height:1rem;width:1rem;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.sidebar-navigation{padding-left:20px}.navbar .quarto-color-scheme-toggle:not(.alternate) .bi::before{background-image:url('data:image/svg+xml,')}.navbar .quarto-color-scheme-toggle.alternate .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-color-scheme-toggle:not(.alternate) .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-color-scheme-toggle.alternate .bi::before{background-image:url('data:image/svg+xml,')}.quarto-sidebar-toggle{border-color:#dee2e6;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-style:solid;border-width:1px;overflow:hidden;border-top-width:0px;padding-top:0px !important}.quarto-sidebar-toggle-title{cursor:pointer;padding-bottom:2px;margin-left:.25em;text-align:center;font-weight:400;font-size:.775em}#quarto-content .quarto-sidebar-toggle{background:#fafafa}#quarto-content .quarto-sidebar-toggle-title{color:#212529}.quarto-sidebar-toggle-icon{color:#dee2e6;margin-right:.5em;float:right;transition:transform .2s ease}.quarto-sidebar-toggle-icon::before{padding-top:5px}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-icon{transform:rotate(-180deg)}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-title{border-bottom:solid #dee2e6 1px}.quarto-sidebar-toggle-contents{background-color:#fff;padding-right:10px;padding-left:10px;margin-top:0px !important;transition:max-height .5s ease}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-contents{padding-top:1em;padding-bottom:10px}.quarto-sidebar-toggle:not(.expanded) .quarto-sidebar-toggle-contents{padding-top:0px !important;padding-bottom:0px}nav[role=doc-toc]{z-index:1020}#quarto-sidebar>*,nav[role=doc-toc]>*{transition:opacity .1s ease,border .1s ease}#quarto-sidebar.slow>*,nav[role=doc-toc].slow>*{transition:opacity .4s ease,border .4s ease}.quarto-color-scheme-toggle:not(.alternate).top-right .bi::before{background-image:url('data:image/svg+xml,')}.quarto-color-scheme-toggle.alternate.top-right .bi::before{background-image:url('data:image/svg+xml,')}#quarto-appendix.default{border-top:1px solid #dee2e6}#quarto-appendix.default{background-color:#fff;padding-top:1.5em;margin-top:2em;z-index:998}#quarto-appendix.default .quarto-appendix-heading{margin-top:0;line-height:1.4em;font-weight:600;opacity:.9;border-bottom:none;margin-bottom:0}#quarto-appendix.default .footnotes ol,#quarto-appendix.default .footnotes ol li>p:last-of-type,#quarto-appendix.default .quarto-appendix-contents>p:last-of-type{margin-bottom:0}#quarto-appendix.default .quarto-appendix-secondary-label{margin-bottom:.4em}#quarto-appendix.default .quarto-appendix-bibtex{font-size:.7em;padding:1em;border:solid 1px #dee2e6;margin-bottom:1em}#quarto-appendix.default .quarto-appendix-bibtex code.sourceCode{white-space:pre-wrap}#quarto-appendix.default .quarto-appendix-citeas{font-size:.9em;padding:1em;border:solid 1px #dee2e6;margin-bottom:1em}#quarto-appendix.default .quarto-appendix-heading{font-size:1em !important}#quarto-appendix.default *[role=doc-endnotes]>ol,#quarto-appendix.default .quarto-appendix-contents>*:not(h2):not(.h2){font-size:.9em}#quarto-appendix.default section{padding-bottom:1.5em}#quarto-appendix.default section *[role=doc-endnotes],#quarto-appendix.default section>*:not(a){opacity:.9;word-wrap:break-word}.btn.btn-quarto,div.cell-output-display .btn-quarto{color:#fefefe;background-color:#6c757d;border-color:#6c757d}.btn.btn-quarto:hover,div.cell-output-display .btn-quarto:hover{color:#fefefe;background-color:#828a91;border-color:#7b838a}.btn-check:focus+.btn.btn-quarto,.btn.btn-quarto:focus,.btn-check:focus+div.cell-output-display .btn-quarto,div.cell-output-display .btn-quarto:focus{color:#fefefe;background-color:#828a91;border-color:#7b838a;box-shadow:0 0 0 .25rem rgba(130,138,144,.5)}.btn-check:checked+.btn.btn-quarto,.btn-check:active+.btn.btn-quarto,.btn.btn-quarto:active,.btn.btn-quarto.active,.show>.btn.btn-quarto.dropdown-toggle,.btn-check:checked+div.cell-output-display .btn-quarto,.btn-check:active+div.cell-output-display .btn-quarto,div.cell-output-display .btn-quarto:active,div.cell-output-display .btn-quarto.active,.show>div.cell-output-display .btn-quarto.dropdown-toggle{color:#000;background-color:#899197;border-color:#7b838a}.btn-check:checked+.btn.btn-quarto:focus,.btn-check:active+.btn.btn-quarto:focus,.btn.btn-quarto:active:focus,.btn.btn-quarto.active:focus,.show>.btn.btn-quarto.dropdown-toggle:focus,.btn-check:checked+div.cell-output-display .btn-quarto:focus,.btn-check:active+div.cell-output-display .btn-quarto:focus,div.cell-output-display .btn-quarto:active:focus,div.cell-output-display .btn-quarto.active:focus,.show>div.cell-output-display .btn-quarto.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,144,.5)}.btn.btn-quarto:disabled,.btn.btn-quarto.disabled,div.cell-output-display .btn-quarto:disabled,div.cell-output-display .btn-quarto.disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}nav.quarto-secondary-nav.color-navbar{background-color:#0d6efd;color:#fdfeff}nav.quarto-secondary-nav.color-navbar h1,nav.quarto-secondary-nav.color-navbar .h1,nav.quarto-secondary-nav.color-navbar .quarto-btn-toggle{color:#fdfeff}@media(max-width: 991.98px){body.nav-sidebar .quarto-title-banner{margin-bottom:0;padding-bottom:0}body.nav-sidebar #title-block-header{margin-block-end:0}}p.subtitle{margin-top:.25em;margin-bottom:.5em}code a:any-link{color:inherit;text-decoration-color:#6c757d}/*! light */div.observablehq table thead tr th{background-color:var(--bs-body-bg)}input,button,select,optgroup,textarea{background-color:var(--bs-body-bg)}.code-annotated .code-copy-button{margin-right:1.25em;margin-top:0;padding-bottom:0;padding-top:3px}.code-annotation-gutter-bg{background-color:#fff}.code-annotation-gutter{background-color:rgba(233,236,239,.65)}.code-annotation-gutter,.code-annotation-gutter-bg{height:100%;width:calc(20px + .5em);position:absolute;top:0;right:0}dl.code-annotation-container-grid dt{margin-right:1em;margin-top:.25rem}dl.code-annotation-container-grid dt{font-family:"JetBrains Mono";color:#383f45;border:solid #383f45 1px;border-radius:50%;height:22px;width:22px;line-height:22px;font-size:11px;text-align:center;vertical-align:middle;text-decoration:none}dl.code-annotation-container-grid dt[data-target-cell]{cursor:pointer}dl.code-annotation-container-grid dt[data-target-cell].code-annotation-active{color:#fff;border:solid #aaa 1px;background-color:#aaa}pre.code-annotation-code{padding-top:0;padding-bottom:0}pre.code-annotation-code code{z-index:3}#code-annotation-line-highlight-gutter{width:100%;border-top:solid rgba(170,170,170,.2666666667) 1px;border-bottom:solid rgba(170,170,170,.2666666667) 1px;z-index:2;background-color:rgba(170,170,170,.1333333333)}#code-annotation-line-highlight{margin-left:-4em;width:calc(100% + 4em);border-top:solid rgba(170,170,170,.2666666667) 1px;border-bottom:solid rgba(170,170,170,.2666666667) 1px;z-index:2;background-color:rgba(170,170,170,.1333333333)}code.sourceCode .code-annotation-anchor.code-annotation-active{background-color:var(--quarto-hl-normal-color, #aaaaaa);border:solid var(--quarto-hl-normal-color, #aaaaaa) 1px;color:#e9ecef;font-weight:bolder}code.sourceCode .code-annotation-anchor{font-family:"JetBrains Mono";color:var(--quarto-hl-co-color);border:solid var(--quarto-hl-co-color) 1px;border-radius:50%;height:18px;width:18px;font-size:9px;margin-top:2px}code.sourceCode button.code-annotation-anchor{padding:2px}code.sourceCode a.code-annotation-anchor{line-height:18px;text-align:center;vertical-align:middle;cursor:default;text-decoration:none}@media print{.page-columns .column-screen-inset{grid-column:page-start-inset/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset table{background:#fff}.page-columns .column-screen-inset-left{grid-column:page-start-inset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-left table{background:#fff}.page-columns .column-screen-inset-right{grid-column:body-content-start/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-right table{background:#fff}.page-columns .column-screen{grid-column:page-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen table{background:#fff}.page-columns .column-screen-left{grid-column:page-start/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-left table{background:#fff}.page-columns .column-screen-right{grid-column:body-content-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-right table{background:#fff}.page-columns .column-screen-inset-shaded{grid-column:page-start-inset/page-end-inset;padding:1em;background:#f8f9fa;z-index:998;transform:translate3d(0, 0, 0);margin-bottom:1em}}.quarto-video{margin-bottom:1em}.table>thead{border-top-width:0}.table>:not(caption)>*:not(:last-child)>*{border-bottom-color:#d3d8dc;border-bottom-style:solid;border-bottom-width:1px}.table>:not(:first-child){border-top:1px solid #9ba5ae;border-bottom:1px solid inherit}.table tbody{border-bottom-color:#9ba5ae}a.external:after{display:inline-block;height:.75rem;width:.75rem;margin-bottom:.15em;margin-left:.25em;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:.75rem .75rem}div.sourceCode code a.external:after{content:none}a.external:after:hover{cursor:pointer}.quarto-ext-icon{display:inline-block;font-size:.75em;padding-left:.3em}.code-with-filename .code-with-filename-file{margin-bottom:0;padding-bottom:2px;padding-top:2px;padding-left:.7em;border:var(--quarto-border-width) solid var(--quarto-border-color);border-radius:var(--quarto-border-radius);border-bottom:0;border-bottom-left-radius:0%;border-bottom-right-radius:0%}.code-with-filename div.sourceCode,.reveal .code-with-filename div.sourceCode{margin-top:0;border-top-left-radius:0%;border-top-right-radius:0%}.code-with-filename .code-with-filename-file pre{margin-bottom:0}.code-with-filename .code-with-filename-file,.code-with-filename .code-with-filename-file pre{background-color:rgba(219,219,219,.8)}.quarto-dark .code-with-filename .code-with-filename-file,.quarto-dark .code-with-filename .code-with-filename-file pre{background-color:#555}.code-with-filename .code-with-filename-file strong{font-weight:400}.quarto-title-banner{margin-bottom:1em;color:#fdfeff;background:#0d6efd}.quarto-title-banner .code-tools-button{color:#97cbff}.quarto-title-banner .code-tools-button:hover{color:#fdfeff}.quarto-title-banner .code-tools-button>.bi::before{background-image:url('data:image/svg+xml,')}.quarto-title-banner .code-tools-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}.quarto-title-banner .quarto-title .title{font-weight:600}.quarto-title-banner .quarto-categories{margin-top:.75em}@media(min-width: 992px){.quarto-title-banner{padding-top:2.5em;padding-bottom:2.5em}}@media(max-width: 991.98px){.quarto-title-banner{padding-top:1em;padding-bottom:1em}}main.quarto-banner-title-block>section:first-child>h2,main.quarto-banner-title-block>section:first-child>.h2,main.quarto-banner-title-block>section:first-child>h3,main.quarto-banner-title-block>section:first-child>.h3,main.quarto-banner-title-block>section:first-child>h4,main.quarto-banner-title-block>section:first-child>.h4{margin-top:0}.quarto-title .quarto-categories{display:flex;flex-wrap:wrap;row-gap:.5em;column-gap:.4em;padding-bottom:.5em;margin-top:.75em}.quarto-title .quarto-categories .quarto-category{padding:.25em .75em;font-size:.65em;text-transform:uppercase;border:solid 1px;border-radius:.25rem;opacity:.6}.quarto-title .quarto-categories .quarto-category a{color:inherit}#title-block-header.quarto-title-block.default .quarto-title-meta{display:grid;grid-template-columns:repeat(2, 1fr)}#title-block-header.quarto-title-block.default .quarto-title .title{margin-bottom:0}#title-block-header.quarto-title-block.default .quarto-title-author-orcid img{margin-top:-5px}#title-block-header.quarto-title-block.default .quarto-description p:last-of-type{margin-bottom:0}#title-block-header.quarto-title-block.default .quarto-title-meta-contents p,#title-block-header.quarto-title-block.default .quarto-title-authors p,#title-block-header.quarto-title-block.default .quarto-title-affiliations p{margin-bottom:.1em}#title-block-header.quarto-title-block.default .quarto-title-meta-heading{text-transform:uppercase;margin-top:1em;font-size:.8em;opacity:.8;font-weight:400}#title-block-header.quarto-title-block.default .quarto-title-meta-contents{font-size:.9em}#title-block-header.quarto-title-block.default .quarto-title-meta-contents a{color:#212529}#title-block-header.quarto-title-block.default .quarto-title-meta-contents p.affiliation:last-of-type{margin-bottom:.7em}#title-block-header.quarto-title-block.default p.affiliation{margin-bottom:.1em}#title-block-header.quarto-title-block.default .description,#title-block-header.quarto-title-block.default .abstract{margin-top:0}#title-block-header.quarto-title-block.default .description>p,#title-block-header.quarto-title-block.default .abstract>p{font-size:.9em}#title-block-header.quarto-title-block.default .description>p:last-of-type,#title-block-header.quarto-title-block.default .abstract>p:last-of-type{margin-bottom:0}#title-block-header.quarto-title-block.default .description .abstract-title,#title-block-header.quarto-title-block.default .abstract .abstract-title{margin-top:1em;text-transform:uppercase;font-size:.8em;opacity:.8;font-weight:400}#title-block-header.quarto-title-block.default .quarto-title-meta-author{display:grid;grid-template-columns:1fr 1fr}.quarto-title-tools-only{display:flex;justify-content:right}/*# sourceMappingURL=827202656a708f1c1c0832b512e8524e.css.map */
+*/.ansi-black-fg{color:#3e424d}.ansi-black-bg{background-color:#3e424d}.ansi-black-intense-fg{color:#282c36}.ansi-black-intense-bg{background-color:#282c36}.ansi-red-fg{color:#e75c58}.ansi-red-bg{background-color:#e75c58}.ansi-red-intense-fg{color:#b22b31}.ansi-red-intense-bg{background-color:#b22b31}.ansi-green-fg{color:#00a250}.ansi-green-bg{background-color:#00a250}.ansi-green-intense-fg{color:#007427}.ansi-green-intense-bg{background-color:#007427}.ansi-yellow-fg{color:#ddb62b}.ansi-yellow-bg{background-color:#ddb62b}.ansi-yellow-intense-fg{color:#b27d12}.ansi-yellow-intense-bg{background-color:#b27d12}.ansi-blue-fg{color:#208ffb}.ansi-blue-bg{background-color:#208ffb}.ansi-blue-intense-fg{color:#0065ca}.ansi-blue-intense-bg{background-color:#0065ca}.ansi-magenta-fg{color:#d160c4}.ansi-magenta-bg{background-color:#d160c4}.ansi-magenta-intense-fg{color:#a03196}.ansi-magenta-intense-bg{background-color:#a03196}.ansi-cyan-fg{color:#60c6c8}.ansi-cyan-bg{background-color:#60c6c8}.ansi-cyan-intense-fg{color:#258f8f}.ansi-cyan-intense-bg{background-color:#258f8f}.ansi-white-fg{color:#c5c1b4}.ansi-white-bg{background-color:#c5c1b4}.ansi-white-intense-fg{color:#a1a6b2}.ansi-white-intense-bg{background-color:#a1a6b2}.ansi-default-inverse-fg{color:#fff}.ansi-default-inverse-bg{background-color:#000}.ansi-bold{font-weight:bold}.ansi-underline{text-decoration:underline}:root{--quarto-body-bg: #ffffff;--quarto-body-color: #212529;--quarto-text-muted: #6c757d;--quarto-border-color: #dee2e6;--quarto-border-width: 1px;--quarto-border-radius: 0.25rem}table.gt_table{color:var(--quarto-body-color);font-size:1em;width:100%;background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_column_spanner_outer{color:var(--quarto-body-color);background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_col_heading{color:var(--quarto-body-color);font-weight:bold;background-color:rgba(0,0,0,0)}table.gt_table thead.gt_col_headings{border-bottom:1px solid currentColor;border-top-width:inherit;border-top-color:var(--quarto-border-color)}table.gt_table thead.gt_col_headings:not(:first-child){border-top-width:1px;border-top-color:var(--quarto-border-color)}table.gt_table td.gt_row{border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-width:0px}table.gt_table tbody.gt_table_body{border-top-width:1px;border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-color:currentColor}div.columns{display:initial;gap:initial}div.column{display:inline-block;overflow-x:initial;vertical-align:top;width:50%}.code-annotation-tip-content{word-wrap:break-word}.code-annotation-container-hidden{display:none !important}dl.code-annotation-container-grid{display:grid;grid-template-columns:min-content auto}dl.code-annotation-container-grid dt{grid-column:1}dl.code-annotation-container-grid dd{grid-column:2}pre.sourceCode.code-annotation-code{padding-right:0}code.sourceCode .code-annotation-anchor{z-index:100;position:absolute;right:.5em;left:inherit;background-color:rgba(0,0,0,0)}:root{--mermaid-bg-color: #ffffff;--mermaid-edge-color: #6c757d;--mermaid-node-fg-color: #212529;--mermaid-fg-color: #212529;--mermaid-fg-color--lighter: #383f45;--mermaid-fg-color--lightest: #4e5862;--mermaid-font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, Liberation Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;--mermaid-label-bg-color: #ffffff;--mermaid-label-fg-color: #0d6efd;--mermaid-node-bg-color: rgba(13, 110, 253, 0.1);--mermaid-node-fg-color: #212529}@media print{:root{font-size:11pt}#quarto-sidebar,#TOC,.nav-page{display:none}.page-columns .content{grid-column-start:page-start}.fixed-top{position:relative}.panel-caption,.figure-caption,figcaption{color:#666}}.code-copy-button{position:absolute;top:0;right:0;border:0;margin-top:5px;margin-right:5px;background-color:rgba(0,0,0,0);z-index:3}.code-copy-button:focus{outline:none}.code-copy-button-tooltip{font-size:.75em}pre.sourceCode:hover>.code-copy-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}pre.sourceCode:hover>.code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button-checked:hover>.bi::before{background-image:url('data:image/svg+xml,')}main ol ol,main ul ul,main ol ul,main ul ol{margin-bottom:1em}ul>li:not(:has(>p))>ul,ol>li:not(:has(>p))>ul,ul>li:not(:has(>p))>ol,ol>li:not(:has(>p))>ol{margin-bottom:0}ul>li:not(:has(>p))>ul>li:has(>p),ol>li:not(:has(>p))>ul>li:has(>p),ul>li:not(:has(>p))>ol>li:has(>p),ol>li:not(:has(>p))>ol>li:has(>p){margin-top:1rem}body{margin:0}main.page-columns>header>h1.title,main.page-columns>header>.title.h1{margin-bottom:0}@media(min-width: 992px){body .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc( 850px - 3em )) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.fullcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc( 850px - 3em )) [body-content-end] 1.5em [body-end] 35px [body-end-outset] 35px [page-end-inset page-end] 5fr [screen-end-inset] 1.5em}body.slimcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc( 850px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.listing:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 850px - 3em )) [body-content-end] 3em [body-end] 50px [body-end-outset] minmax(0px, 250px) [page-end-inset] minmax(50px, 100px) [page-end] 1fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 175px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 175px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] minmax(25px, 50px) [page-start-inset] minmax(50px, 150px) [body-start-outset] minmax(25px, 50px) [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] minmax(25px, 50px) [body-end-outset] minmax(50px, 150px) [page-end-inset] minmax(25px, 50px) [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(50px, 100px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 50px [page-start-inset] minmax(50px, 150px) [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(450px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 50px [page-start-inset] minmax(50px, 150px) [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(450px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(50px, 150px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] minmax(25px, 50px) [page-start-inset] minmax(50px, 150px) [body-start-outset] minmax(25px, 50px) [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] minmax(25px, 50px) [body-end-outset] minmax(50px, 150px) [page-end-inset] minmax(25px, 50px) [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}}@media(max-width: 991.98px){body .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.fullcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.slimcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.listing:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc( 1250px - 3em )) [body-content-end body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 145px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 145px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1.5em [body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(75px, 150px) [page-end-inset] 25px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 4fr [screen-end-inset] 1.5em [screen-end]}body.docked.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 4fr [screen-end-inset] 1.5em [screen-end]}body.floating.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(75px, 150px) [page-end-inset] 25px [page-end] 4fr [screen-end-inset] 1.5em [screen-end]}}@media(max-width: 767.98px){body .page-columns,body.fullcontent:not(.floating):not(.docked) .page-columns,body.slimcontent:not(.floating):not(.docked) .page-columns,body.docked .page-columns,body.docked.slimcontent .page-columns,body.docked.fullcontent .page-columns,body.floating .page-columns,body.floating.slimcontent .page-columns,body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}nav[role=doc-toc]{display:none}}body,.page-row-navigation{grid-template-rows:[page-top] max-content [contents-top] max-content [contents-bottom] max-content [page-bottom]}.page-rows-contents{grid-template-rows:[content-top] minmax(max-content, 1fr) [content-bottom] minmax(60px, max-content) [page-bottom]}.page-full{grid-column:screen-start/screen-end !important}.page-columns>*{grid-column:body-content-start/body-content-end}.page-columns.column-page>*{grid-column:page-start/page-end}.page-columns.column-page-left>*{grid-column:page-start/body-content-end}.page-columns.column-page-right>*{grid-column:body-content-start/page-end}.page-rows{grid-auto-rows:auto}.header{grid-column:screen-start/screen-end;grid-row:page-top/contents-top}#quarto-content{padding:0;grid-column:screen-start/screen-end;grid-row:contents-top/contents-bottom}body.floating .sidebar.sidebar-navigation{grid-column:page-start/body-start;grid-row:content-top/page-bottom}body.docked .sidebar.sidebar-navigation{grid-column:screen-start/body-start;grid-row:content-top/page-bottom}.sidebar.toc-left{grid-column:page-start/body-start;grid-row:content-top/page-bottom}.sidebar.margin-sidebar{grid-column:body-end/page-end;grid-row:content-top/page-bottom}.page-columns .content{grid-column:body-content-start/body-content-end;grid-row:content-top/content-bottom;align-content:flex-start}.page-columns .page-navigation{grid-column:body-content-start/body-content-end;grid-row:content-bottom/page-bottom}.page-columns .footer{grid-column:screen-start/screen-end;grid-row:contents-bottom/page-bottom}.page-columns .column-body{grid-column:body-content-start/body-content-end}.page-columns .column-body-fullbleed{grid-column:body-start/body-end}.page-columns .column-body-outset{grid-column:body-start-outset/body-end-outset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-body-outset table{background:#fff}.page-columns .column-body-outset-left{grid-column:body-start-outset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-body-outset-left table{background:#fff}.page-columns .column-body-outset-right{grid-column:body-content-start/body-end-outset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-body-outset-right table{background:#fff}.page-columns .column-page{grid-column:page-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page table{background:#fff}.page-columns .column-page-inset{grid-column:page-start-inset/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-inset table{background:#fff}.page-columns .column-page-inset-left{grid-column:page-start-inset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-inset-left table{background:#fff}.page-columns .column-page-inset-right{grid-column:body-content-start/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-inset-right figcaption table{background:#fff}.page-columns .column-page-left{grid-column:page-start/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-left table{background:#fff}.page-columns .column-page-right{grid-column:body-content-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-right figcaption table{background:#fff}#quarto-content.page-columns #quarto-margin-sidebar,#quarto-content.page-columns #quarto-sidebar{z-index:1}@media(max-width: 991.98px){#quarto-content.page-columns #quarto-margin-sidebar.collapse,#quarto-content.page-columns #quarto-sidebar.collapse,#quarto-content.page-columns #quarto-margin-sidebar.collapsing,#quarto-content.page-columns #quarto-sidebar.collapsing{z-index:1055}}#quarto-content.page-columns main.column-page,#quarto-content.page-columns main.column-page-right,#quarto-content.page-columns main.column-page-left{z-index:0}.page-columns .column-screen-inset{grid-column:screen-start-inset/screen-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset table{background:#fff}.page-columns .column-screen-inset-left{grid-column:screen-start-inset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-left table{background:#fff}.page-columns .column-screen-inset-right{grid-column:body-content-start/screen-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-right table{background:#fff}.page-columns .column-screen{grid-column:screen-start/screen-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen table{background:#fff}.page-columns .column-screen-left{grid-column:screen-start/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-left table{background:#fff}.page-columns .column-screen-right{grid-column:body-content-start/screen-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-right table{background:#fff}.page-columns .column-screen-inset-shaded{grid-column:screen-start/screen-end;padding:1em;background:#f8f9fa;z-index:998;transform:translate3d(0, 0, 0);margin-bottom:1em}.zindex-content{z-index:998;transform:translate3d(0, 0, 0)}.zindex-modal{z-index:1055;transform:translate3d(0, 0, 0)}.zindex-over-content{z-index:999;transform:translate3d(0, 0, 0)}img.img-fluid.column-screen,img.img-fluid.column-screen-inset-shaded,img.img-fluid.column-screen-inset,img.img-fluid.column-screen-inset-left,img.img-fluid.column-screen-inset-right,img.img-fluid.column-screen-left,img.img-fluid.column-screen-right{width:100%}@media(min-width: 992px){.margin-caption,div.aside,aside,.column-margin{grid-column:body-end/page-end !important;z-index:998}.column-sidebar{grid-column:page-start/body-start !important;z-index:998}.column-leftmargin{grid-column:screen-start-inset/body-start !important;z-index:998}.no-row-height{height:1em;overflow:visible}}@media(max-width: 991.98px){.margin-caption,div.aside,aside,.column-margin{grid-column:body-end/page-end !important;z-index:998}.no-row-height{height:1em;overflow:visible}.page-columns.page-full{overflow:visible}.page-columns.toc-left .margin-caption,.page-columns.toc-left div.aside,.page-columns.toc-left aside,.page-columns.toc-left .column-margin{grid-column:body-content-start/body-content-end !important;z-index:998;transform:translate3d(0, 0, 0)}.page-columns.toc-left .no-row-height{height:initial;overflow:initial}}@media(max-width: 767.98px){.margin-caption,div.aside,aside,.column-margin{grid-column:body-content-start/body-content-end !important;z-index:998;transform:translate3d(0, 0, 0)}.no-row-height{height:initial;overflow:initial}#quarto-margin-sidebar{display:none}#quarto-sidebar-toc-left{display:none}.hidden-sm{display:none}}.panel-grid{display:grid;grid-template-rows:repeat(1, 1fr);grid-template-columns:repeat(24, 1fr);gap:1em}.panel-grid .g-col-1{grid-column:auto/span 1}.panel-grid .g-col-2{grid-column:auto/span 2}.panel-grid .g-col-3{grid-column:auto/span 3}.panel-grid .g-col-4{grid-column:auto/span 4}.panel-grid .g-col-5{grid-column:auto/span 5}.panel-grid .g-col-6{grid-column:auto/span 6}.panel-grid .g-col-7{grid-column:auto/span 7}.panel-grid .g-col-8{grid-column:auto/span 8}.panel-grid .g-col-9{grid-column:auto/span 9}.panel-grid .g-col-10{grid-column:auto/span 10}.panel-grid .g-col-11{grid-column:auto/span 11}.panel-grid .g-col-12{grid-column:auto/span 12}.panel-grid .g-col-13{grid-column:auto/span 13}.panel-grid .g-col-14{grid-column:auto/span 14}.panel-grid .g-col-15{grid-column:auto/span 15}.panel-grid .g-col-16{grid-column:auto/span 16}.panel-grid .g-col-17{grid-column:auto/span 17}.panel-grid .g-col-18{grid-column:auto/span 18}.panel-grid .g-col-19{grid-column:auto/span 19}.panel-grid .g-col-20{grid-column:auto/span 20}.panel-grid .g-col-21{grid-column:auto/span 21}.panel-grid .g-col-22{grid-column:auto/span 22}.panel-grid .g-col-23{grid-column:auto/span 23}.panel-grid .g-col-24{grid-column:auto/span 24}.panel-grid .g-start-1{grid-column-start:1}.panel-grid .g-start-2{grid-column-start:2}.panel-grid .g-start-3{grid-column-start:3}.panel-grid .g-start-4{grid-column-start:4}.panel-grid .g-start-5{grid-column-start:5}.panel-grid .g-start-6{grid-column-start:6}.panel-grid .g-start-7{grid-column-start:7}.panel-grid .g-start-8{grid-column-start:8}.panel-grid .g-start-9{grid-column-start:9}.panel-grid .g-start-10{grid-column-start:10}.panel-grid .g-start-11{grid-column-start:11}.panel-grid .g-start-12{grid-column-start:12}.panel-grid .g-start-13{grid-column-start:13}.panel-grid .g-start-14{grid-column-start:14}.panel-grid .g-start-15{grid-column-start:15}.panel-grid .g-start-16{grid-column-start:16}.panel-grid .g-start-17{grid-column-start:17}.panel-grid .g-start-18{grid-column-start:18}.panel-grid .g-start-19{grid-column-start:19}.panel-grid .g-start-20{grid-column-start:20}.panel-grid .g-start-21{grid-column-start:21}.panel-grid .g-start-22{grid-column-start:22}.panel-grid .g-start-23{grid-column-start:23}@media(min-width: 576px){.panel-grid .g-col-sm-1{grid-column:auto/span 1}.panel-grid .g-col-sm-2{grid-column:auto/span 2}.panel-grid .g-col-sm-3{grid-column:auto/span 3}.panel-grid .g-col-sm-4{grid-column:auto/span 4}.panel-grid .g-col-sm-5{grid-column:auto/span 5}.panel-grid .g-col-sm-6{grid-column:auto/span 6}.panel-grid .g-col-sm-7{grid-column:auto/span 7}.panel-grid .g-col-sm-8{grid-column:auto/span 8}.panel-grid .g-col-sm-9{grid-column:auto/span 9}.panel-grid .g-col-sm-10{grid-column:auto/span 10}.panel-grid .g-col-sm-11{grid-column:auto/span 11}.panel-grid .g-col-sm-12{grid-column:auto/span 12}.panel-grid .g-col-sm-13{grid-column:auto/span 13}.panel-grid .g-col-sm-14{grid-column:auto/span 14}.panel-grid .g-col-sm-15{grid-column:auto/span 15}.panel-grid .g-col-sm-16{grid-column:auto/span 16}.panel-grid .g-col-sm-17{grid-column:auto/span 17}.panel-grid .g-col-sm-18{grid-column:auto/span 18}.panel-grid .g-col-sm-19{grid-column:auto/span 19}.panel-grid .g-col-sm-20{grid-column:auto/span 20}.panel-grid .g-col-sm-21{grid-column:auto/span 21}.panel-grid .g-col-sm-22{grid-column:auto/span 22}.panel-grid .g-col-sm-23{grid-column:auto/span 23}.panel-grid .g-col-sm-24{grid-column:auto/span 24}.panel-grid .g-start-sm-1{grid-column-start:1}.panel-grid .g-start-sm-2{grid-column-start:2}.panel-grid .g-start-sm-3{grid-column-start:3}.panel-grid .g-start-sm-4{grid-column-start:4}.panel-grid .g-start-sm-5{grid-column-start:5}.panel-grid .g-start-sm-6{grid-column-start:6}.panel-grid .g-start-sm-7{grid-column-start:7}.panel-grid .g-start-sm-8{grid-column-start:8}.panel-grid .g-start-sm-9{grid-column-start:9}.panel-grid .g-start-sm-10{grid-column-start:10}.panel-grid .g-start-sm-11{grid-column-start:11}.panel-grid .g-start-sm-12{grid-column-start:12}.panel-grid .g-start-sm-13{grid-column-start:13}.panel-grid .g-start-sm-14{grid-column-start:14}.panel-grid .g-start-sm-15{grid-column-start:15}.panel-grid .g-start-sm-16{grid-column-start:16}.panel-grid .g-start-sm-17{grid-column-start:17}.panel-grid .g-start-sm-18{grid-column-start:18}.panel-grid .g-start-sm-19{grid-column-start:19}.panel-grid .g-start-sm-20{grid-column-start:20}.panel-grid .g-start-sm-21{grid-column-start:21}.panel-grid .g-start-sm-22{grid-column-start:22}.panel-grid .g-start-sm-23{grid-column-start:23}}@media(min-width: 768px){.panel-grid .g-col-md-1{grid-column:auto/span 1}.panel-grid .g-col-md-2{grid-column:auto/span 2}.panel-grid .g-col-md-3{grid-column:auto/span 3}.panel-grid .g-col-md-4{grid-column:auto/span 4}.panel-grid .g-col-md-5{grid-column:auto/span 5}.panel-grid .g-col-md-6{grid-column:auto/span 6}.panel-grid .g-col-md-7{grid-column:auto/span 7}.panel-grid .g-col-md-8{grid-column:auto/span 8}.panel-grid .g-col-md-9{grid-column:auto/span 9}.panel-grid .g-col-md-10{grid-column:auto/span 10}.panel-grid .g-col-md-11{grid-column:auto/span 11}.panel-grid .g-col-md-12{grid-column:auto/span 12}.panel-grid .g-col-md-13{grid-column:auto/span 13}.panel-grid .g-col-md-14{grid-column:auto/span 14}.panel-grid .g-col-md-15{grid-column:auto/span 15}.panel-grid .g-col-md-16{grid-column:auto/span 16}.panel-grid .g-col-md-17{grid-column:auto/span 17}.panel-grid .g-col-md-18{grid-column:auto/span 18}.panel-grid .g-col-md-19{grid-column:auto/span 19}.panel-grid .g-col-md-20{grid-column:auto/span 20}.panel-grid .g-col-md-21{grid-column:auto/span 21}.panel-grid .g-col-md-22{grid-column:auto/span 22}.panel-grid .g-col-md-23{grid-column:auto/span 23}.panel-grid .g-col-md-24{grid-column:auto/span 24}.panel-grid .g-start-md-1{grid-column-start:1}.panel-grid .g-start-md-2{grid-column-start:2}.panel-grid .g-start-md-3{grid-column-start:3}.panel-grid .g-start-md-4{grid-column-start:4}.panel-grid .g-start-md-5{grid-column-start:5}.panel-grid .g-start-md-6{grid-column-start:6}.panel-grid .g-start-md-7{grid-column-start:7}.panel-grid .g-start-md-8{grid-column-start:8}.panel-grid .g-start-md-9{grid-column-start:9}.panel-grid .g-start-md-10{grid-column-start:10}.panel-grid .g-start-md-11{grid-column-start:11}.panel-grid .g-start-md-12{grid-column-start:12}.panel-grid .g-start-md-13{grid-column-start:13}.panel-grid .g-start-md-14{grid-column-start:14}.panel-grid .g-start-md-15{grid-column-start:15}.panel-grid .g-start-md-16{grid-column-start:16}.panel-grid .g-start-md-17{grid-column-start:17}.panel-grid .g-start-md-18{grid-column-start:18}.panel-grid .g-start-md-19{grid-column-start:19}.panel-grid .g-start-md-20{grid-column-start:20}.panel-grid .g-start-md-21{grid-column-start:21}.panel-grid .g-start-md-22{grid-column-start:22}.panel-grid .g-start-md-23{grid-column-start:23}}@media(min-width: 992px){.panel-grid .g-col-lg-1{grid-column:auto/span 1}.panel-grid .g-col-lg-2{grid-column:auto/span 2}.panel-grid .g-col-lg-3{grid-column:auto/span 3}.panel-grid .g-col-lg-4{grid-column:auto/span 4}.panel-grid .g-col-lg-5{grid-column:auto/span 5}.panel-grid .g-col-lg-6{grid-column:auto/span 6}.panel-grid .g-col-lg-7{grid-column:auto/span 7}.panel-grid .g-col-lg-8{grid-column:auto/span 8}.panel-grid .g-col-lg-9{grid-column:auto/span 9}.panel-grid .g-col-lg-10{grid-column:auto/span 10}.panel-grid .g-col-lg-11{grid-column:auto/span 11}.panel-grid .g-col-lg-12{grid-column:auto/span 12}.panel-grid .g-col-lg-13{grid-column:auto/span 13}.panel-grid .g-col-lg-14{grid-column:auto/span 14}.panel-grid .g-col-lg-15{grid-column:auto/span 15}.panel-grid .g-col-lg-16{grid-column:auto/span 16}.panel-grid .g-col-lg-17{grid-column:auto/span 17}.panel-grid .g-col-lg-18{grid-column:auto/span 18}.panel-grid .g-col-lg-19{grid-column:auto/span 19}.panel-grid .g-col-lg-20{grid-column:auto/span 20}.panel-grid .g-col-lg-21{grid-column:auto/span 21}.panel-grid .g-col-lg-22{grid-column:auto/span 22}.panel-grid .g-col-lg-23{grid-column:auto/span 23}.panel-grid .g-col-lg-24{grid-column:auto/span 24}.panel-grid .g-start-lg-1{grid-column-start:1}.panel-grid .g-start-lg-2{grid-column-start:2}.panel-grid .g-start-lg-3{grid-column-start:3}.panel-grid .g-start-lg-4{grid-column-start:4}.panel-grid .g-start-lg-5{grid-column-start:5}.panel-grid .g-start-lg-6{grid-column-start:6}.panel-grid .g-start-lg-7{grid-column-start:7}.panel-grid .g-start-lg-8{grid-column-start:8}.panel-grid .g-start-lg-9{grid-column-start:9}.panel-grid .g-start-lg-10{grid-column-start:10}.panel-grid .g-start-lg-11{grid-column-start:11}.panel-grid .g-start-lg-12{grid-column-start:12}.panel-grid .g-start-lg-13{grid-column-start:13}.panel-grid .g-start-lg-14{grid-column-start:14}.panel-grid .g-start-lg-15{grid-column-start:15}.panel-grid .g-start-lg-16{grid-column-start:16}.panel-grid .g-start-lg-17{grid-column-start:17}.panel-grid .g-start-lg-18{grid-column-start:18}.panel-grid .g-start-lg-19{grid-column-start:19}.panel-grid .g-start-lg-20{grid-column-start:20}.panel-grid .g-start-lg-21{grid-column-start:21}.panel-grid .g-start-lg-22{grid-column-start:22}.panel-grid .g-start-lg-23{grid-column-start:23}}@media(min-width: 1200px){.panel-grid .g-col-xl-1{grid-column:auto/span 1}.panel-grid .g-col-xl-2{grid-column:auto/span 2}.panel-grid .g-col-xl-3{grid-column:auto/span 3}.panel-grid .g-col-xl-4{grid-column:auto/span 4}.panel-grid .g-col-xl-5{grid-column:auto/span 5}.panel-grid .g-col-xl-6{grid-column:auto/span 6}.panel-grid .g-col-xl-7{grid-column:auto/span 7}.panel-grid .g-col-xl-8{grid-column:auto/span 8}.panel-grid .g-col-xl-9{grid-column:auto/span 9}.panel-grid .g-col-xl-10{grid-column:auto/span 10}.panel-grid .g-col-xl-11{grid-column:auto/span 11}.panel-grid .g-col-xl-12{grid-column:auto/span 12}.panel-grid .g-col-xl-13{grid-column:auto/span 13}.panel-grid .g-col-xl-14{grid-column:auto/span 14}.panel-grid .g-col-xl-15{grid-column:auto/span 15}.panel-grid .g-col-xl-16{grid-column:auto/span 16}.panel-grid .g-col-xl-17{grid-column:auto/span 17}.panel-grid .g-col-xl-18{grid-column:auto/span 18}.panel-grid .g-col-xl-19{grid-column:auto/span 19}.panel-grid .g-col-xl-20{grid-column:auto/span 20}.panel-grid .g-col-xl-21{grid-column:auto/span 21}.panel-grid .g-col-xl-22{grid-column:auto/span 22}.panel-grid .g-col-xl-23{grid-column:auto/span 23}.panel-grid .g-col-xl-24{grid-column:auto/span 24}.panel-grid .g-start-xl-1{grid-column-start:1}.panel-grid .g-start-xl-2{grid-column-start:2}.panel-grid .g-start-xl-3{grid-column-start:3}.panel-grid .g-start-xl-4{grid-column-start:4}.panel-grid .g-start-xl-5{grid-column-start:5}.panel-grid .g-start-xl-6{grid-column-start:6}.panel-grid .g-start-xl-7{grid-column-start:7}.panel-grid .g-start-xl-8{grid-column-start:8}.panel-grid .g-start-xl-9{grid-column-start:9}.panel-grid .g-start-xl-10{grid-column-start:10}.panel-grid .g-start-xl-11{grid-column-start:11}.panel-grid .g-start-xl-12{grid-column-start:12}.panel-grid .g-start-xl-13{grid-column-start:13}.panel-grid .g-start-xl-14{grid-column-start:14}.panel-grid .g-start-xl-15{grid-column-start:15}.panel-grid .g-start-xl-16{grid-column-start:16}.panel-grid .g-start-xl-17{grid-column-start:17}.panel-grid .g-start-xl-18{grid-column-start:18}.panel-grid .g-start-xl-19{grid-column-start:19}.panel-grid .g-start-xl-20{grid-column-start:20}.panel-grid .g-start-xl-21{grid-column-start:21}.panel-grid .g-start-xl-22{grid-column-start:22}.panel-grid .g-start-xl-23{grid-column-start:23}}@media(min-width: 1400px){.panel-grid .g-col-xxl-1{grid-column:auto/span 1}.panel-grid .g-col-xxl-2{grid-column:auto/span 2}.panel-grid .g-col-xxl-3{grid-column:auto/span 3}.panel-grid .g-col-xxl-4{grid-column:auto/span 4}.panel-grid .g-col-xxl-5{grid-column:auto/span 5}.panel-grid .g-col-xxl-6{grid-column:auto/span 6}.panel-grid .g-col-xxl-7{grid-column:auto/span 7}.panel-grid .g-col-xxl-8{grid-column:auto/span 8}.panel-grid .g-col-xxl-9{grid-column:auto/span 9}.panel-grid .g-col-xxl-10{grid-column:auto/span 10}.panel-grid .g-col-xxl-11{grid-column:auto/span 11}.panel-grid .g-col-xxl-12{grid-column:auto/span 12}.panel-grid .g-col-xxl-13{grid-column:auto/span 13}.panel-grid .g-col-xxl-14{grid-column:auto/span 14}.panel-grid .g-col-xxl-15{grid-column:auto/span 15}.panel-grid .g-col-xxl-16{grid-column:auto/span 16}.panel-grid .g-col-xxl-17{grid-column:auto/span 17}.panel-grid .g-col-xxl-18{grid-column:auto/span 18}.panel-grid .g-col-xxl-19{grid-column:auto/span 19}.panel-grid .g-col-xxl-20{grid-column:auto/span 20}.panel-grid .g-col-xxl-21{grid-column:auto/span 21}.panel-grid .g-col-xxl-22{grid-column:auto/span 22}.panel-grid .g-col-xxl-23{grid-column:auto/span 23}.panel-grid .g-col-xxl-24{grid-column:auto/span 24}.panel-grid .g-start-xxl-1{grid-column-start:1}.panel-grid .g-start-xxl-2{grid-column-start:2}.panel-grid .g-start-xxl-3{grid-column-start:3}.panel-grid .g-start-xxl-4{grid-column-start:4}.panel-grid .g-start-xxl-5{grid-column-start:5}.panel-grid .g-start-xxl-6{grid-column-start:6}.panel-grid .g-start-xxl-7{grid-column-start:7}.panel-grid .g-start-xxl-8{grid-column-start:8}.panel-grid .g-start-xxl-9{grid-column-start:9}.panel-grid .g-start-xxl-10{grid-column-start:10}.panel-grid .g-start-xxl-11{grid-column-start:11}.panel-grid .g-start-xxl-12{grid-column-start:12}.panel-grid .g-start-xxl-13{grid-column-start:13}.panel-grid .g-start-xxl-14{grid-column-start:14}.panel-grid .g-start-xxl-15{grid-column-start:15}.panel-grid .g-start-xxl-16{grid-column-start:16}.panel-grid .g-start-xxl-17{grid-column-start:17}.panel-grid .g-start-xxl-18{grid-column-start:18}.panel-grid .g-start-xxl-19{grid-column-start:19}.panel-grid .g-start-xxl-20{grid-column-start:20}.panel-grid .g-start-xxl-21{grid-column-start:21}.panel-grid .g-start-xxl-22{grid-column-start:22}.panel-grid .g-start-xxl-23{grid-column-start:23}}main{margin-top:1em;margin-bottom:1em}h1,.h1,h2,.h2{opacity:.9;margin-top:2rem;margin-bottom:1rem;font-weight:600}h1.title,.title.h1{margin-top:0}h2,.h2{border-bottom:1px solid #dee2e6;padding-bottom:.5rem}h3,.h3{font-weight:600}h3,.h3,h4,.h4{opacity:.9;margin-top:1.5rem}h5,.h5,h6,.h6{opacity:.9}.header-section-number{color:#5a6570}.nav-link.active .header-section-number{color:inherit}mark,.mark{padding:0em}.panel-caption,caption,.figure-caption{font-size:.9rem}.panel-caption,.figure-caption,figcaption{color:#5a6570}.table-caption,caption{color:#212529}.quarto-layout-cell[data-ref-parent] caption{color:#5a6570}.column-margin figcaption,.margin-caption,div.aside,aside,.column-margin{color:#5a6570;font-size:.825rem}.panel-caption.margin-caption{text-align:inherit}.column-margin.column-container p{margin-bottom:0}.column-margin.column-container>*:not(.collapse){padding-top:.5em;padding-bottom:.5em;display:block}.column-margin.column-container>*.collapse:not(.show){display:none}@media(min-width: 768px){.column-margin.column-container .callout-margin-content:first-child{margin-top:4.5em}.column-margin.column-container .callout-margin-content-simple:first-child{margin-top:3.5em}}.margin-caption>*{padding-top:.5em;padding-bottom:.5em}@media(max-width: 767.98px){.quarto-layout-row{flex-direction:column}}.nav-tabs .nav-item{margin-top:1px;cursor:pointer}.tab-content{margin-top:0px;border-left:#dee2e6 1px solid;border-right:#dee2e6 1px solid;border-bottom:#dee2e6 1px solid;margin-left:0;padding:1em;margin-bottom:1em}@media(max-width: 767.98px){.layout-sidebar{margin-left:0;margin-right:0}}.panel-sidebar,.panel-sidebar .form-control,.panel-input,.panel-input .form-control,.selectize-dropdown{font-size:.9rem}.panel-sidebar .form-control,.panel-input .form-control{padding-top:.1rem}.tab-pane div.sourceCode{margin-top:0px}.tab-pane>p{padding-top:1em}.tab-content>.tab-pane:not(.active){display:none !important}div.sourceCode{background-color:rgba(233,236,239,.65);border:1px solid rgba(233,236,239,.65);border-radius:.25rem}pre.sourceCode{background-color:rgba(0,0,0,0)}pre.sourceCode{border:none;font-size:.875em;overflow:visible !important;padding:.4em}.callout pre.sourceCode{padding-left:0}div.sourceCode{overflow-y:hidden}.callout div.sourceCode{margin-left:initial}.blockquote{font-size:inherit;padding-left:1rem;padding-right:1.5rem;color:#5a6570}.blockquote h1:first-child,.blockquote .h1:first-child,.blockquote h2:first-child,.blockquote .h2:first-child,.blockquote h3:first-child,.blockquote .h3:first-child,.blockquote h4:first-child,.blockquote .h4:first-child,.blockquote h5:first-child,.blockquote .h5:first-child{margin-top:0}pre{background-color:initial;padding:initial;border:initial}p code:not(.sourceCode),li code:not(.sourceCode),td code:not(.sourceCode){background-color:#f6f6f6;padding:.2em}nav p code:not(.sourceCode),nav li code:not(.sourceCode),nav td code:not(.sourceCode){background-color:rgba(0,0,0,0);padding:0}td code:not(.sourceCode){white-space:pre-wrap}#quarto-embedded-source-code-modal>.modal-dialog{max-width:1000px;padding-left:1.75rem;padding-right:1.75rem}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-body{padding:0}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-body div.sourceCode{margin:0;padding:.2rem .2rem;border-radius:0px;border:none}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-header{padding:.7rem}.code-tools-button{font-size:1rem;padding:.15rem .15rem;margin-left:5px;color:#6c757d;background-color:rgba(0,0,0,0);transition:initial;cursor:pointer}.code-tools-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}.code-tools-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}#quarto-embedded-source-code-modal .code-copy-button>.bi::before{background-image:url('data:image/svg+xml,')}#quarto-embedded-source-code-modal .code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}.sidebar{will-change:top;transition:top 200ms linear;position:sticky;overflow-y:auto;padding-top:1.2em;max-height:100vh}.sidebar.toc-left,.sidebar.margin-sidebar{top:0px;padding-top:1em}.sidebar.toc-left>*,.sidebar.margin-sidebar>*{padding-top:.5em}.sidebar.quarto-banner-title-block-sidebar>*{padding-top:1.65em}figure .quarto-notebook-link{margin-top:.5em}.quarto-notebook-link{font-size:.75em;color:#6c757d;margin-bottom:1em;text-decoration:none;display:block}.quarto-notebook-link:hover{text-decoration:underline;color:#0d6efd}.quarto-notebook-link::before{display:inline-block;height:.75rem;width:.75rem;margin-bottom:0em;margin-right:.25em;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:.75rem .75rem}.quarto-alternate-notebooks i.bi,.quarto-alternate-formats i.bi{margin-right:.4em}.quarto-notebook .cell-container{display:flex}.quarto-notebook .cell-container .cell{flex-grow:4}.quarto-notebook .cell-container .cell-decorator{padding-top:1.5em;padding-right:1em;text-align:right}.quarto-notebook h2,.quarto-notebook .h2{border-bottom:none}.sidebar .quarto-alternate-formats a,.sidebar .quarto-alternate-notebooks a{text-decoration:none}.sidebar .quarto-alternate-formats a:hover,.sidebar .quarto-alternate-notebooks a:hover{color:#0d6efd}.sidebar .quarto-alternate-notebooks h2,.sidebar .quarto-alternate-notebooks .h2,.sidebar .quarto-alternate-formats h2,.sidebar .quarto-alternate-formats .h2,.sidebar nav[role=doc-toc]>h2,.sidebar nav[role=doc-toc]>.h2{font-size:.875rem;font-weight:400;margin-bottom:.5rem;margin-top:.3rem;font-family:inherit;border-bottom:0;padding-bottom:0;padding-top:0px}.sidebar .quarto-alternate-notebooks h2,.sidebar .quarto-alternate-notebooks .h2,.sidebar .quarto-alternate-formats h2,.sidebar .quarto-alternate-formats .h2{margin-top:1rem}.sidebar nav[role=doc-toc]>ul a{border-left:1px solid #e9ecef;padding-left:.6rem}.sidebar .quarto-alternate-notebooks h2>ul a,.sidebar .quarto-alternate-notebooks .h2>ul a,.sidebar .quarto-alternate-formats h2>ul a,.sidebar .quarto-alternate-formats .h2>ul a{border-left:none;padding-left:.6rem}.sidebar .quarto-alternate-notebooks ul a:empty,.sidebar .quarto-alternate-formats ul a:empty,.sidebar nav[role=doc-toc]>ul a:empty{display:none}.sidebar .quarto-alternate-notebooks ul,.sidebar .quarto-alternate-formats ul,.sidebar nav[role=doc-toc] ul{padding-left:0;list-style:none;font-size:.875rem;font-weight:300}.sidebar .quarto-alternate-notebooks ul li a,.sidebar .quarto-alternate-formats ul li a,.sidebar nav[role=doc-toc]>ul li a{line-height:1.1rem;padding-bottom:.2rem;padding-top:.2rem;color:inherit}.sidebar nav[role=doc-toc] ul>li>ul>li>a{padding-left:1.2em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>a{padding-left:2.4em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>a{padding-left:3.6em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>ul>li>a{padding-left:4.8em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>a{padding-left:6em}.sidebar nav[role=doc-toc] ul>li>a.active,.sidebar nav[role=doc-toc] ul>li>ul>li>a.active{border-left:1px solid #0d6efd;color:#0d6efd !important}.sidebar nav[role=doc-toc] ul>li>a:hover,.sidebar nav[role=doc-toc] ul>li>ul>li>a:hover{color:#0d6efd !important}kbd,.kbd{color:#212529;background-color:#f8f9fa;border:1px solid;border-radius:5px;border-color:#dee2e6}div.hanging-indent{margin-left:1em;text-indent:-1em}.citation a,.footnote-ref{text-decoration:none}.footnotes ol{padding-left:1em}.tippy-content>*{margin-bottom:.7em}.tippy-content>*:last-child{margin-bottom:0}.table a{word-break:break-word}.table>thead{border-top-width:1px;border-top-color:#dee2e6;border-bottom:1px solid #9ba5ae}.callout{margin-top:1.25rem;margin-bottom:1.25rem;border-radius:.25rem;overflow-wrap:break-word}.callout .callout-title-container{overflow-wrap:anywhere}.callout.callout-style-simple{padding:.4em .7em;border-left:5px solid;border-right:1px solid #dee2e6;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.callout.callout-style-default{border-left:5px solid;border-right:1px solid #dee2e6;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.callout .callout-body-container{flex-grow:1}.callout.callout-style-simple .callout-body{font-size:.9rem;font-weight:400}.callout.callout-style-default .callout-body{font-size:.9rem;font-weight:400}.callout.callout-titled .callout-body{margin-top:.2em}.callout:not(.no-icon).callout-titled.callout-style-simple .callout-body{padding-left:1.6em}.callout.callout-titled>.callout-header{padding-top:.2em;margin-bottom:-0.2em}.callout.callout-style-simple>div.callout-header{border-bottom:none;font-size:.9rem;font-weight:600;opacity:75%}.callout.callout-style-default>div.callout-header{border-bottom:none;font-weight:600;opacity:85%;font-size:.9rem;padding-left:.5em;padding-right:.5em}.callout.callout-style-default div.callout-body{padding-left:.5em;padding-right:.5em}.callout.callout-style-default div.callout-body>:first-child{margin-top:.5em}.callout>div.callout-header[data-bs-toggle=collapse]{cursor:pointer}.callout.callout-style-default .callout-header[aria-expanded=false],.callout.callout-style-default .callout-header[aria-expanded=true]{padding-top:0px;margin-bottom:0px;align-items:center}.callout.callout-titled .callout-body>:last-child:not(.sourceCode),.callout.callout-titled .callout-body>div>:last-child:not(.sourceCode){margin-bottom:.5rem}.callout:not(.callout-titled) .callout-body>:first-child,.callout:not(.callout-titled) .callout-body>div>:first-child{margin-top:.25rem}.callout:not(.callout-titled) .callout-body>:last-child,.callout:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:.2rem}.callout.callout-style-simple .callout-icon::before,.callout.callout-style-simple .callout-toggle::before{height:1rem;width:1rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.callout.callout-style-default .callout-icon::before,.callout.callout-style-default .callout-toggle::before{height:.9rem;width:.9rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:.9rem .9rem}.callout.callout-style-default .callout-toggle::before{margin-top:5px}.callout .callout-btn-toggle .callout-toggle::before{transition:transform .2s linear}.callout .callout-header[aria-expanded=false] .callout-toggle::before{transform:rotate(-90deg)}.callout .callout-header[aria-expanded=true] .callout-toggle::before{transform:none}.callout.callout-style-simple:not(.no-icon) div.callout-icon-container{padding-top:.2em;padding-right:.55em}.callout.callout-style-default:not(.no-icon) div.callout-icon-container{padding-top:.1em;padding-right:.35em}.callout.callout-style-default:not(.no-icon) div.callout-title-container{margin-top:-1px}.callout.callout-style-default.callout-caution:not(.no-icon) div.callout-icon-container{padding-top:.3em;padding-right:.35em}.callout>.callout-body>.callout-icon-container>.no-icon,.callout>.callout-header>.callout-icon-container>.no-icon{display:none}div.callout.callout{border-left-color:#6c757d}div.callout.callout-style-default>.callout-header{background-color:#6c757d}div.callout-note.callout{border-left-color:#0d6efd}div.callout-note.callout-style-default>.callout-header{background-color:#e7f1ff}div.callout-note:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-note .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-tip.callout{border-left-color:#198754}div.callout-tip.callout-style-default>.callout-header{background-color:#e8f3ee}div.callout-tip:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-tip .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-warning.callout{border-left-color:#ffc107}div.callout-warning.callout-style-default>.callout-header{background-color:#fff9e6}div.callout-warning:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-warning .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-caution.callout{border-left-color:#fd7e14}div.callout-caution.callout-style-default>.callout-header{background-color:#fff2e8}div.callout-caution:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-caution .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-important.callout{border-left-color:#dc3545}div.callout-important.callout-style-default>.callout-header{background-color:#fcebec}div.callout-important:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-important .callout-toggle::before{background-image:url('data:image/svg+xml,')}.quarto-toggle-container{display:flex;align-items:center}.quarto-reader-toggle .bi::before,.quarto-color-scheme-toggle .bi::before{display:inline-block;height:1rem;width:1rem;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.sidebar-navigation{padding-left:20px}.navbar .quarto-color-scheme-toggle:not(.alternate) .bi::before{background-image:url('data:image/svg+xml,')}.navbar .quarto-color-scheme-toggle.alternate .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-color-scheme-toggle:not(.alternate) .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-color-scheme-toggle.alternate .bi::before{background-image:url('data:image/svg+xml,')}.quarto-sidebar-toggle{border-color:#dee2e6;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-style:solid;border-width:1px;overflow:hidden;border-top-width:0px;padding-top:0px !important}.quarto-sidebar-toggle-title{cursor:pointer;padding-bottom:2px;margin-left:.25em;text-align:center;font-weight:400;font-size:.775em}#quarto-content .quarto-sidebar-toggle{background:#fafafa}#quarto-content .quarto-sidebar-toggle-title{color:#212529}.quarto-sidebar-toggle-icon{color:#dee2e6;margin-right:.5em;float:right;transition:transform .2s ease}.quarto-sidebar-toggle-icon::before{padding-top:5px}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-icon{transform:rotate(-180deg)}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-title{border-bottom:solid #dee2e6 1px}.quarto-sidebar-toggle-contents{background-color:#fff;padding-right:10px;padding-left:10px;margin-top:0px !important;transition:max-height .5s ease}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-contents{padding-top:1em;padding-bottom:10px}.quarto-sidebar-toggle:not(.expanded) .quarto-sidebar-toggle-contents{padding-top:0px !important;padding-bottom:0px}nav[role=doc-toc]{z-index:1020}#quarto-sidebar>*,nav[role=doc-toc]>*{transition:opacity .1s ease,border .1s ease}#quarto-sidebar.slow>*,nav[role=doc-toc].slow>*{transition:opacity .4s ease,border .4s ease}.quarto-color-scheme-toggle:not(.alternate).top-right .bi::before{background-image:url('data:image/svg+xml,')}.quarto-color-scheme-toggle.alternate.top-right .bi::before{background-image:url('data:image/svg+xml,')}#quarto-appendix.default{border-top:1px solid #dee2e6}#quarto-appendix.default{background-color:#fff;padding-top:1.5em;margin-top:2em;z-index:998}#quarto-appendix.default .quarto-appendix-heading{margin-top:0;line-height:1.4em;font-weight:600;opacity:.9;border-bottom:none;margin-bottom:0}#quarto-appendix.default .footnotes ol,#quarto-appendix.default .footnotes ol li>p:last-of-type,#quarto-appendix.default .quarto-appendix-contents>p:last-of-type{margin-bottom:0}#quarto-appendix.default .quarto-appendix-secondary-label{margin-bottom:.4em}#quarto-appendix.default .quarto-appendix-bibtex{font-size:.7em;padding:1em;border:solid 1px #dee2e6;margin-bottom:1em}#quarto-appendix.default .quarto-appendix-bibtex code.sourceCode{white-space:pre-wrap}#quarto-appendix.default .quarto-appendix-citeas{font-size:.9em;padding:1em;border:solid 1px #dee2e6;margin-bottom:1em}#quarto-appendix.default .quarto-appendix-heading{font-size:1em !important}#quarto-appendix.default *[role=doc-endnotes]>ol,#quarto-appendix.default .quarto-appendix-contents>*:not(h2):not(.h2){font-size:.9em}#quarto-appendix.default section{padding-bottom:1.5em}#quarto-appendix.default section *[role=doc-endnotes],#quarto-appendix.default section>*:not(a){opacity:.9;word-wrap:break-word}.btn.btn-quarto,div.cell-output-display .btn-quarto{color:#fefefe;background-color:#6c757d;border-color:#6c757d}.btn.btn-quarto:hover,div.cell-output-display .btn-quarto:hover{color:#fefefe;background-color:#828a91;border-color:#7b838a}.btn-check:focus+.btn.btn-quarto,.btn.btn-quarto:focus,.btn-check:focus+div.cell-output-display .btn-quarto,div.cell-output-display .btn-quarto:focus{color:#fefefe;background-color:#828a91;border-color:#7b838a;box-shadow:0 0 0 .25rem rgba(130,138,144,.5)}.btn-check:checked+.btn.btn-quarto,.btn-check:active+.btn.btn-quarto,.btn.btn-quarto:active,.btn.btn-quarto.active,.show>.btn.btn-quarto.dropdown-toggle,.btn-check:checked+div.cell-output-display .btn-quarto,.btn-check:active+div.cell-output-display .btn-quarto,div.cell-output-display .btn-quarto:active,div.cell-output-display .btn-quarto.active,.show>div.cell-output-display .btn-quarto.dropdown-toggle{color:#000;background-color:#899197;border-color:#7b838a}.btn-check:checked+.btn.btn-quarto:focus,.btn-check:active+.btn.btn-quarto:focus,.btn.btn-quarto:active:focus,.btn.btn-quarto.active:focus,.show>.btn.btn-quarto.dropdown-toggle:focus,.btn-check:checked+div.cell-output-display .btn-quarto:focus,.btn-check:active+div.cell-output-display .btn-quarto:focus,div.cell-output-display .btn-quarto:active:focus,div.cell-output-display .btn-quarto.active:focus,.show>div.cell-output-display .btn-quarto.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,144,.5)}.btn.btn-quarto:disabled,.btn.btn-quarto.disabled,div.cell-output-display .btn-quarto:disabled,div.cell-output-display .btn-quarto.disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}nav.quarto-secondary-nav.color-navbar{background-color:#0d6efd;color:#fdfeff}nav.quarto-secondary-nav.color-navbar h1,nav.quarto-secondary-nav.color-navbar .h1,nav.quarto-secondary-nav.color-navbar .quarto-btn-toggle{color:#fdfeff}@media(max-width: 991.98px){body.nav-sidebar .quarto-title-banner{margin-bottom:0;padding-bottom:0}body.nav-sidebar #title-block-header{margin-block-end:0}}p.subtitle{margin-top:.25em;margin-bottom:.5em}code a:any-link{color:inherit;text-decoration-color:#6c757d}/*! light */div.observablehq table thead tr th{background-color:var(--bs-body-bg)}input,button,select,optgroup,textarea{background-color:var(--bs-body-bg)}.code-annotated .code-copy-button{margin-right:1.25em;margin-top:0;padding-bottom:0;padding-top:3px}.code-annotation-gutter-bg{background-color:#fff}.code-annotation-gutter{background-color:rgba(233,236,239,.65)}.code-annotation-gutter,.code-annotation-gutter-bg{height:100%;width:calc(20px + .5em);position:absolute;top:0;right:0}dl.code-annotation-container-grid dt{margin-right:1em;margin-top:.25rem}dl.code-annotation-container-grid dt{font-family:"JetBrains Mono";color:#383f45;border:solid #383f45 1px;border-radius:50%;height:22px;width:22px;line-height:22px;font-size:11px;text-align:center;vertical-align:middle;text-decoration:none}dl.code-annotation-container-grid dt[data-target-cell]{cursor:pointer}dl.code-annotation-container-grid dt[data-target-cell].code-annotation-active{color:#fff;border:solid #aaa 1px;background-color:#aaa}pre.code-annotation-code{padding-top:0;padding-bottom:0}pre.code-annotation-code code{z-index:3}#code-annotation-line-highlight-gutter{width:100%;border-top:solid rgba(170,170,170,.2666666667) 1px;border-bottom:solid rgba(170,170,170,.2666666667) 1px;z-index:2;background-color:rgba(170,170,170,.1333333333)}#code-annotation-line-highlight{margin-left:-4em;width:calc(100% + 4em);border-top:solid rgba(170,170,170,.2666666667) 1px;border-bottom:solid rgba(170,170,170,.2666666667) 1px;z-index:2;background-color:rgba(170,170,170,.1333333333)}code.sourceCode .code-annotation-anchor.code-annotation-active{background-color:var(--quarto-hl-normal-color, #aaaaaa);border:solid var(--quarto-hl-normal-color, #aaaaaa) 1px;color:#e9ecef;font-weight:bolder}code.sourceCode .code-annotation-anchor{font-family:"JetBrains Mono";color:var(--quarto-hl-co-color);border:solid var(--quarto-hl-co-color) 1px;border-radius:50%;height:18px;width:18px;font-size:9px;margin-top:2px}code.sourceCode button.code-annotation-anchor{padding:2px}code.sourceCode a.code-annotation-anchor{line-height:18px;text-align:center;vertical-align:middle;cursor:default;text-decoration:none}@media print{.page-columns .column-screen-inset{grid-column:page-start-inset/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset table{background:#fff}.page-columns .column-screen-inset-left{grid-column:page-start-inset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-left table{background:#fff}.page-columns .column-screen-inset-right{grid-column:body-content-start/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-right table{background:#fff}.page-columns .column-screen{grid-column:page-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen table{background:#fff}.page-columns .column-screen-left{grid-column:page-start/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-left table{background:#fff}.page-columns .column-screen-right{grid-column:body-content-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-right table{background:#fff}.page-columns .column-screen-inset-shaded{grid-column:page-start-inset/page-end-inset;padding:1em;background:#f8f9fa;z-index:998;transform:translate3d(0, 0, 0);margin-bottom:1em}}.quarto-video{margin-bottom:1em}.table>thead{border-top-width:0}.table>:not(caption)>*:not(:last-child)>*{border-bottom-color:#d3d8dc;border-bottom-style:solid;border-bottom-width:1px}.table>:not(:first-child){border-top:1px solid #9ba5ae;border-bottom:1px solid inherit}.table tbody{border-bottom-color:#9ba5ae}a.external:after{display:inline-block;height:.75rem;width:.75rem;margin-bottom:.15em;margin-left:.25em;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:.75rem .75rem}div.sourceCode code a.external:after{content:none}a.external:after:hover{cursor:pointer}.quarto-ext-icon{display:inline-block;font-size:.75em;padding-left:.3em}.code-with-filename .code-with-filename-file{margin-bottom:0;padding-bottom:2px;padding-top:2px;padding-left:.7em;border:var(--quarto-border-width) solid var(--quarto-border-color);border-radius:var(--quarto-border-radius);border-bottom:0;border-bottom-left-radius:0%;border-bottom-right-radius:0%}.code-with-filename div.sourceCode,.reveal .code-with-filename div.sourceCode{margin-top:0;border-top-left-radius:0%;border-top-right-radius:0%}.code-with-filename .code-with-filename-file pre{margin-bottom:0}.code-with-filename .code-with-filename-file,.code-with-filename .code-with-filename-file pre{background-color:rgba(219,219,219,.8)}.quarto-dark .code-with-filename .code-with-filename-file,.quarto-dark .code-with-filename .code-with-filename-file pre{background-color:#555}.code-with-filename .code-with-filename-file strong{font-weight:400}.quarto-title-banner{margin-bottom:1em;color:#fdfeff;background:#0d6efd}.quarto-title-banner .code-tools-button{color:#97cbff}.quarto-title-banner .code-tools-button:hover{color:#fdfeff}.quarto-title-banner .code-tools-button>.bi::before{background-image:url('data:image/svg+xml,')}.quarto-title-banner .code-tools-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}.quarto-title-banner .quarto-title .title{font-weight:600}.quarto-title-banner .quarto-categories{margin-top:.75em}@media(min-width: 992px){.quarto-title-banner{padding-top:2.5em;padding-bottom:2.5em}}@media(max-width: 991.98px){.quarto-title-banner{padding-top:1em;padding-bottom:1em}}main.quarto-banner-title-block>section:first-child>h2,main.quarto-banner-title-block>section:first-child>.h2,main.quarto-banner-title-block>section:first-child>h3,main.quarto-banner-title-block>section:first-child>.h3,main.quarto-banner-title-block>section:first-child>h4,main.quarto-banner-title-block>section:first-child>.h4{margin-top:0}.quarto-title .quarto-categories{display:flex;flex-wrap:wrap;row-gap:.5em;column-gap:.4em;padding-bottom:.5em;margin-top:.75em}.quarto-title .quarto-categories .quarto-category{padding:.25em .75em;font-size:.65em;text-transform:uppercase;border:solid 1px;border-radius:.25rem;opacity:.6}.quarto-title .quarto-categories .quarto-category a{color:inherit}#title-block-header.quarto-title-block.default .quarto-title-meta{display:grid;grid-template-columns:repeat(2, 1fr)}#title-block-header.quarto-title-block.default .quarto-title .title{margin-bottom:0}#title-block-header.quarto-title-block.default .quarto-title-author-orcid img{margin-top:-5px}#title-block-header.quarto-title-block.default .quarto-description p:last-of-type{margin-bottom:0}#title-block-header.quarto-title-block.default .quarto-title-meta-contents p,#title-block-header.quarto-title-block.default .quarto-title-authors p,#title-block-header.quarto-title-block.default .quarto-title-affiliations p{margin-bottom:.1em}#title-block-header.quarto-title-block.default .quarto-title-meta-heading{text-transform:uppercase;margin-top:1em;font-size:.8em;opacity:.8;font-weight:400}#title-block-header.quarto-title-block.default .quarto-title-meta-contents{font-size:.9em}#title-block-header.quarto-title-block.default .quarto-title-meta-contents a{color:#212529}#title-block-header.quarto-title-block.default .quarto-title-meta-contents p.affiliation:last-of-type{margin-bottom:.7em}#title-block-header.quarto-title-block.default p.affiliation{margin-bottom:.1em}#title-block-header.quarto-title-block.default .description,#title-block-header.quarto-title-block.default .abstract{margin-top:0}#title-block-header.quarto-title-block.default .description>p,#title-block-header.quarto-title-block.default .abstract>p{font-size:.9em}#title-block-header.quarto-title-block.default .description>p:last-of-type,#title-block-header.quarto-title-block.default .abstract>p:last-of-type{margin-bottom:0}#title-block-header.quarto-title-block.default .description .abstract-title,#title-block-header.quarto-title-block.default .abstract .abstract-title{margin-top:1em;text-transform:uppercase;font-size:.8em;opacity:.8;font-weight:400}#title-block-header.quarto-title-block.default .quarto-title-meta-author{display:grid;grid-template-columns:1fr 1fr}.quarto-title-tools-only{display:flex;justify-content:right}/*# sourceMappingURL=d6b77e37a12f878a50f9f8a85e535bdc.css.map */
diff --git a/index.qmd b/index.qmd
index 5291112..69f44c5 100644
--- a/index.qmd
+++ b/index.qmd
@@ -68,6 +68,9 @@ library(ggrepel)
library(knitr)
library(sf)
library(showtext)
+#library(ggcorrplot)
+library(scales)
+#library(effectsize)
ucl_palette <- c(
"City large" = "#990000",
@@ -145,6 +148,45 @@ $$
where $S_a$ is the school corporation average proficiency or completion rate and
$S_{IN}$ is the state-level average proficiency or completion rate.
+### Fairness and Counterfactual Inclusion
+
+A counterfactual analysis is an examination of data through which alternate
+realities are considered. If the situtation and demographics were different, would
+a school corporation demonstrate a SCOscore greater than 1, that is, demonstrate
+that school corporation should receive attention because of unrealized potential?
+
+A counterfactual analysis is therefore conducted on school corporations that
+demonstrate an adjusted academic score one standard deviation above the mean.
+If the proportion of non-white students is below the state mean, then the percentage
+is artificially increased to the state mean; the same occurs with the proportion of
+students who receive free and reduced lunch.
+
+The SCOscore is then recalculated based on those counterfactual variables. The
+following
+
+```{r cf-scoscores}
+display_frame <- SCO_frame |>
+ filter(cf == TRUE) |>
+ select(lea_name, enrollment, urm_pct, frl_pct, academic, scoScore) |>
+ #rename(School.Corporation = lea_name) |>
+ arrange(desc(scoScore), desc(academic), lea_name)
+kable(
+ display_frame,
+ col.names = c(
+ "School Corporation",
+ "Enrollment",
+ "Percent Non-White",
+ "Percent FRL",
+ "Academic Score",
+ "SCO Score"
+ ))
+```
+
+::: {.callout-important}
+## Statistical Analyses are Never Politically Neutral
+Blah blah blah.
+:::
+
### Acknowledging Inequality *Within* School Corporations
It needs to be recognized that there is the potential for inequality *within* a
@@ -275,6 +317,110 @@ sco_skew <<- skewness(sco_vector)
sco_kurt <<- kurtosis(sco_vector)
```
+```{r calculate-corr, eval=FALSE}
+sco_corr_frame <- SCO_frame |>
+ select(urm_pct, frl_pct, enrollment, urban_centric_locale, academic) |>
+ mutate(
+ urban_centric_locale = plyr::mapvalues(
+ urban_centric_locale,
+ from = c(
+ "City large",
+ "City midsize",
+ "City small",
+ "Suburb large",
+ "Suburb midsize",
+ "Suburb small",
+ "Town fringe",
+ "Town distant",
+ "Town remote",
+ "Rural fringe",
+ "Rural distant",
+ "Rural remote"
+ ),
+ to = c(
+ 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
+ ))) |>
+ mutate(urban_centric_locale = as.numeric(urban_centric_locale))
+
+library(corrplot)
+corr <- cor(sco_corr_frame)
+p_mat <- cor_pmat((sco_corr_frame))
+# corrplot::corrplot(corr)
+
+sco_corr_plot <- ggcorrplot(
+ corr,
+ lab = TRUE,
+ outline.color = "white",
+ #hc.order = TRUE,
+ type = "lower",
+ colors = c("#006298", "white", "#990000"),
+ #p.mat = p_mat,
+ #insig = "blank"
+ )
+ggsave(here("outputs", "corr_plot.png"), sco_corr_plot, dpi = 300, width = 16, height = 16, units = "in")
+sco_corr_plot
+```
+
+
+```{r scoglm, eval=FALSE}
+sco_glm_frame <- SCO_frame |>
+ select(frl_pct, urm_pct, academic)
+frl_glm <- glm(academic ~ frl_pct,
+ data = sco_glm_frame)
+urm_glm <- glm(academic ~ urm_pct,
+ data = sco_glm_frame)
+# model_glm <- glm(academic ~ frl_pct * urm_pct,
+# data = sco_glm_frame)
+# print(summary(frl_glm))
+# print(summary(urm_glm))
+frl_eff <- effectsize(frl_glm, method = "smart")
+print(frl_eff)
+urm_eff <- effectsize(urm_glm, method = "smart")
+print(urm_eff)
+# model_eff <- effectsize(model_glm, method = "smart")
+# print(model_eff)
+
+library(stargazer)
+stargazer(frl_glm, urm_glm, type = "text")
+#stargazer(model_glm, type = "text")
+```
+
+
+```{r ternplot, eval = FALSE}
+library(ggtern)
+set.seed(123)
+tern_frame <- SCO_frame |>
+ select(urm_pct, frl_pct, academic)
+adj_urm <- tern_frame$urm_pct
+adj_urm <- scales::rescale(adj_urm, to = c(0.01, 0.99))
+tern_frame$urm_pct <- adj_urm
+adj_frl <- tern_frame$frl_pct
+adj_frl <- scales::rescale(adj_frl, to = c(0.01, 0.99))
+tern_frame$frl_pct <- adj_frl
+adj_academic <- tern_frame$academic
+adj_academic <- scales::rescale(adj_academic, to = c(0.01, 0.99))
+tern_frame$academic <- adj_academic
+tern_frame <- na.omit(tern_frame)
+tern_plot <- ggtern(
+ tern_frame,
+ aes(
+ frl_pct,
+ academic,
+ urm_pct
+ )) +
+ # stat_density_tern(geom = 'polygon',
+ # n = 400,
+ # bdl = 0.001,
+ # bins = 18,
+ # aes(fill = ..level..,
+ # alpha = ..level..)) +
+ geom_point() +
+ theme_rgbw() +
+# scale_fill_gradient(low = "blue",high = "red") +
+ guides(color = "none", fill = "none", alpha = "none")
+tern_plot
+```
+
### Central Indiana
The primary purpose of this model is to provide insight into identifying high-opportunity
@@ -324,7 +470,13 @@ table_frame <- data.frame(
1.07
)
)
-kable(table_frame)
+kable(
+ table_frame,
+ col.names = c(
+ "School Corporation",
+ "Enrollment",
+ "SCO Score"
+ ))
```
```{r central-indiana-map}
@@ -507,6 +659,34 @@ SCO_scatter <- SCO_scatter |>
SCO_scatter
```
+```{r sco-mds, eval = FALSE}
+mds <- SCO_frame |>
+ select(enrollment, urban_centric_locale, scoScore) |>
+ na.omit() %>%
+ dist() %>%
+ cmdscale() %>%
+ as_tibble()
+# K-means clustering
+clust <- kmeans(mds, 5)$cluster %>%
+ as.factor()
+mds <- mds %>%
+ mutate(groups = clust)
+rownames(mds) <- na.omit(SCO_frame$lea_name)
+colnames(mds) <- c("Dim.1", "Dim.2", "groups")
+ggscatter(mds, x = "Dim.1", y = "Dim.2",
+ color = "groups",
+ #label = rownames(mds),
+ palette = "jco", #c("#990000", "#FFAA00", "#056E41"),
+ ellipse = TRUE,
+ ellipse.type = "convex",
+ size = 1,
+ repel = FALSE)
+mds$lea_name <- rownames(mds)
+mds <- mds |>
+ select(lea_name, groups)
+write_csv(mds, "data/mds.csv")
+```
+
### Urban-Centric Locale SCO Scores
The National Center for Educational Statistics utilizes the [urban-centered locale](https://nces.ed.gov/pubs2007/ruraled/exhibit_a.asp)
diff --git a/index_files/figure-html/fig-3dscatter-1.png b/index_files/figure-html/fig-3dscatter-1.png
index adefa28..88a7fed 100644
Binary files a/index_files/figure-html/fig-3dscatter-1.png and b/index_files/figure-html/fig-3dscatter-1.png differ
diff --git a/index_files/figure-html/fig-beeswarm-1.png b/index_files/figure-html/fig-beeswarm-1.png
index eda14d3..09cc9e5 100644
Binary files a/index_files/figure-html/fig-beeswarm-1.png and b/index_files/figure-html/fig-beeswarm-1.png differ
diff --git a/index_files/figure-html/fig-density-plot-1.png b/index_files/figure-html/fig-density-plot-1.png
index 40a3ca1..538261d 100644
Binary files a/index_files/figure-html/fig-density-plot-1.png and b/index_files/figure-html/fig-density-plot-1.png differ
diff --git a/index_files/figure-html/fig-indiana-map-1.png b/index_files/figure-html/fig-indiana-map-1.png
index 8f8ecdd..c3ebf73 100644
Binary files a/index_files/figure-html/fig-indiana-map-1.png and b/index_files/figure-html/fig-indiana-map-1.png differ
diff --git a/index_files/figure-html/fig-lolipop-1.png b/index_files/figure-html/fig-lolipop-1.png
index 1452c49..36314ed 100644
Binary files a/index_files/figure-html/fig-lolipop-1.png and b/index_files/figure-html/fig-lolipop-1.png differ
diff --git a/index_files/figure-html/sco-mds-1.png b/index_files/figure-html/sco-mds-1.png
new file mode 100644
index 0000000..a66b462
Binary files /dev/null and b/index_files/figure-html/sco-mds-1.png differ
diff --git a/index_files/figure-html/ternplot-1.png b/index_files/figure-html/ternplot-1.png
new file mode 100644
index 0000000..9067152
Binary files /dev/null and b/index_files/figure-html/ternplot-1.png differ
diff --git a/process-schools.R b/process-schools.R
new file mode 100644
index 0000000..0db5af6
--- /dev/null
+++ b/process-schools.R
@@ -0,0 +1,498 @@
+library(rstatix)
+library(dplyr)
+library(tidyr)
+library(readr)
+library(here)
+library(ggplot2)
+library(ggbeeswarm)
+library(ggrepel)
+library(ggpubr)
+library(stargazer)
+library(sf)
+library(edbuildmapr)
+library(maps)
+library(mapdata)
+library(ggmap)
+library(ggrepel)
+library(showtext)
+library(ggtext)
+
+font_add(regular = "BellTopoSans-Bold.otf", "inter")
+font_add(regular = "et-book-roman-line-figures.ttf", "newsreader")
+font_add(regular = "Rawlinson Bold.otf", "newsreader")
+font_add(regular = "NationalPark-VariableVF.ttf", "np")
+font_add(regular = "nationalforest.otf", "nf")
+font_add(regular = "USGS Regular.ttf", "usgs")
+font_add(regular = "CartoGothicStd-Book.otf", "carto")
+font_add('fa-reg', 'Font Awesome 6 Free-Regular-400.otf')
+font_add('fa-brands', 'Font Awesome 6 Brands-Regular-400.otf')
+font_add("jetbrains", "JetBrainsMono-Regular.ttf")
+font_add("academicons", "academicons.ttf")
+showtext_auto()
+
+state_3rd_proficiency <- .816
+state_6th_proficiency <- .341
+state_gpc <- .864
+
+school_data <- read_csv(
+ here("data", "school_test.csv"),
+ show_col_types = FALSE,
+ col_types = cols(ncessch = col_character())
+) |>
+ na.omit() |>
+ mutate(ncessch = as.character(ncessch)) |>
+ mutate(ac_indicator = case_when(
+ school_level == "Primary" ~ if_else(
+ ac_indicator < state_3rd_proficiency,
+ (state_3rd_proficiency - ac_indicator + 1),
+ 0
+ ),
+ school_level == "Middle" ~ if_else(
+ ac_indicator < state_6th_proficiency,
+ (state_6th_proficiency - ac_indicator + 1),
+ 0
+ ),
+ school_level == "High" ~ if_else(
+ ac_indicator < state_gpc,
+ (state_gpc - ac_indicator + 1),
+ 0
+ )
+ )) |>
+ mutate(
+ scoScore = (
+ ((urm_pct * 1.5) + (frl_pct * 1.5) + (ac_indicator)) / 3
+ )
+ ) |>
+ mutate(scoScore = if_else(
+ scoScore < 1 & scoScore > 0.98,
+ 1,
+ scoScore
+ )) |>
+ mutate(scoScore = round(scoScore, digits = 2)) |>
+ select(
+ school_id,
+ leaid,
+ lea_name,
+ school_name,
+ frl_pct,
+ urm_pct,
+ ac_indicator,
+ scoScore,
+ latitude,
+ longitude
+ )
+
+school_data$lea_name <- factor(
+ school_data$lea_name,
+ levels = c(
+ "Avon Community School Corp",
+ "School Town of Speedway",
+ "MSD Decatur Township",
+ "Beech Grove City Schools",
+ "Anderson Community School Corp",
+ "MSD Washington Township",
+ "MSD Lawrence Township",
+ "MSD Wayne Township",
+ "Perry Township Schools",
+ "MSD Pike Township",
+ "MSD Warren Township",
+ "Indianapolis Public Schools"
+ )
+)
+
+school_swarm <- ggplot(
+ school_data,
+ aes(
+ x = lea_name,
+ y = scoScore,
+ color = scoScore
+ )
+) +
+ geom_beeswarm(method = "center", cex = 1.5, corral = "wrap", shape = 18, size = 4) +
+ geom_text_repel(
+ aes(
+ x = lea_name,
+ y = scoScore,
+ label = school_name
+ ),
+ size = 5, color = "#243142",
+ max.overlaps = 4,
+ point.padding = 0.5
+ ) +
+ annotate("segment",
+ x = 0, xend = 12.5, y = 1, yend = 1, color = "#A7A9AB",
+ linetype = "dotted"
+ ) +
+ scale_color_steps2(
+ low = "#FFF4C6",
+ high = "#990000",
+ mid = "#FFAA00",
+ midpoint = 1,
+ breaks = c(0, 0.5, 0.75, 1, 1.25, 1.5)
+ ) +
+ ylim(0, 2) +
+ ylab("School Opportunity Score") +
+ xlab("School Corporation") +
+ theme_pubr() +
+ theme(
+ axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
+ legend.position = "none"
+ )
+school_swarm
+ggsave(here("outputs", "school_swarm.pdf"), school_swarm, dpi = 300, width = 48, height = 36, units = "in")
+
+avon_data <- school_data |>
+ filter(lea_name == "Avon Community School Corp")
+speedway_data <- school_data |>
+ filter(lea_name == "School Town of Speedway")
+decatur_data <- school_data |>
+ filter(lea_name == "MSD Decatur Township")
+washington_data <- school_data |>
+ filter(lea_name == "MSD Washington Township")
+lawrence_data <- school_data |>
+ filter(lea_name == "MSD Lawrence Township")
+warren_data <- school_data |>
+ filter(lea_name == "MSD Warren Township")
+wayne_data <- school_data |>
+ filter(lea_name == "MSD Wayne Township")
+ips_data <- school_data |>
+ filter(lea_name == "Indianapolis Public Schools")
+perry_data <- school_data |>
+ filter(lea_name == "Perry Township Schools")
+bg_data <- school_data |>
+ filter(lea_name == "Beech Grove City Schools")
+
+summary_data <- school_data |>
+ select(lea_name, school_name, frl_pct, urm_pct, ac_indicator, scoScore) |>
+ group_by(lea_name) |>
+ summarize(
+ mean = round(mean(scoScore), digits = 2),
+ median = round(median(scoScore), digits = 2),
+ var = round(var(scoScore), digits = 2),
+ sd = round(sd(scoScore), digits = 2)
+ ) |>
+ ungroup()
+
+msd_avon <- wilcox.test(
+ avon_data$scoScore,
+ mu = 0.72,
+ alternative = "less")
+msd_speedway <- wilcox.test(
+ speedway_data$scoScore,
+ mu = 0.9,
+ alternative = "less")
+msd_bg <- wilcox.test(
+ bg_data$scoScore,
+ mu = 1.1,
+ alternative = "less")
+msd_decatur <- wilcox.test(
+ decatur_data$scoScore,
+ mu = 1.07,
+ alternative = "less")
+msd_washington <- wilcox.test(
+ washington_data$scoScore,
+ mu = 1.13,
+ alternative = "less")
+msd_lawrence <- wilcox.test(
+ lawrence_data$scoScore,
+ mu = 1.29,
+ alternative = "less")
+msd_warren <- wilcox.test(
+ warren_data$scoScore,
+ mu = 1.42,
+ alternative = "less")
+msd_wayne <- wilcox.test(
+ wayne_data$scoScore,
+ mu = 1.39,
+ alternative = "less")
+msd_ips <- wilcox.test(
+ ips_data$scoScore,
+ mu = 1.42,
+ alternative = "less")
+msd_perry <- wilcox.test(
+ perry_data$scoScore,
+ mu = 1.11,
+ alternative = "less")
+
+bg_eff <- bg_data |>
+ wilcox_effsize(scoScore ~ 1, mu = 1.10)
+perry_eff <- perry_data |>
+ wilcox_effsize(scoScore ~ 1, mu = 1.11)
+ips_eff <- ips_data |>
+ wilcox_effsize(scoScore ~ 1, mu = 1.42)
+warren_eff <- warren_data |>
+ wilcox_effsize(scoScore ~ 1, mu = 1.42)
+wayne_eff <- wayne_data |>
+ wilcox_effsize(scoScore ~ 1, mu = 1.39)
+lawrence_eff <- lawrence_data |>
+ wilcox_effsize(scoScore ~ 1, mu = 1.29)
+washington_eff <- washington_data |>
+ wilcox_effsize(scoScore ~ 1, mu = 1.13)
+decatur_eff <- decatur_data |>
+ wilcox_effsize(scoScore ~ 1, mu = 1.07)
+speedway_eff <- speedway_data |>
+ wilcox_effsize(scoScore ~ 1, mu = 0.9)
+avon_eff <- avon_data |>
+ wilcox_effsize(scoScore ~ 1, mu = 0.72)
+
+wilcox_frame <- data.frame(
+ lea_name = c(
+ "Avon Community School Corp",
+ "School Town of Speedway",
+ "MSD Decatur Township",
+ "Beech Grove City Schools",
+ "Perry Township Schools",
+ "MSD Washington Township",
+ "MSD Lawrence Township",
+ "MSD Wayne Township",
+ "MSD Warren Township",
+ "Indianapolis Public Schools"
+ ),
+ mu = c(
+ 0.72,
+ 0.90,
+ 1.07,
+ 1.10,
+ 1.11,
+ 1.13,
+ 1.29,
+ 1.39,
+ 1.42,
+ 1.42
+ ),
+ V = c(
+ msd_avon$statistic,
+ msd_speedway$statistic,
+ msd_decatur$statistic,
+ msd_bg$statistic,
+ msd_perry$statistic,
+ msd_washington$statistic,
+ msd_lawrence$statistic,
+ msd_wayne$statistic,
+ msd_warren$statistic,
+ msd_ips$statistic
+ ),
+ p = c(
+ msd_avon$p.value,
+ msd_speedway$p.value,
+ msd_decatur$p.value,
+ msd_bg$p.value,
+ msd_perry$p.value,
+ msd_washington$p.value,
+ msd_lawrence$p.value,
+ msd_wayne$p.value,
+ msd_warren$p.value,
+ msd_ips$p.value
+ ),
+ eff_size = c(
+ avon_eff$effsize,
+ speedway_eff$effsize,
+ decatur_eff$effsize,
+ bg_eff$effsize,
+ perry_eff$effsize,
+ washington_eff$effsize,
+ lawrence_eff$effsize,
+ wayne_eff$effsize,
+ warren_eff$effsize,
+ ips_eff$effsize
+ ),
+ magnitude = c(
+ avon_eff$magnitude,
+ speedway_eff$magnitude,
+ decatur_eff$magnitude,
+ bg_eff$magnitude,
+ perry_eff$magnitude,
+ washington_eff$magnitude,
+ lawrence_eff$magnitude,
+ wayne_eff$magnitude,
+ warren_eff$magnitude,
+ ips_eff$magnitude
+ )
+) |>
+ mutate(p = round(p, digits = 2)) |>
+ mutate(eff_size = round(eff_size, digits = 2))
+
+lea_wilcox <- pairwise.wilcox.test(
+ school_data$scoScore,
+ school_data$lea_name,
+ p.adjust.method = "BH"
+)
+lea_wilcox
+
+summary_data <- left_join(
+ summary_data,
+ wilcox_frame,
+ by = "lea_name"
+ ) |>
+ ungroup() |>
+ as.data.frame()
+rownames(summary_data) <- NULL
+summary_data
+write_csv(summary_data, here("outputs", "sch_vs_corp.csv"))
+
+states <- sf::st_as_sf(map("state", region = "indiana", plot = FALSE, fill = TRUE))
+
+in_sc_shapes <- sd_shapepull("2019", with_data = TRUE) |>
+ filter(State == "Indiana") |>
+ select(leaid = GEOID, geometry) |>
+ mutate(leaid = as.numeric(leaid))
+
+school_map_data <- school_data |>
+ select(leaid, school_name, scoScore, latitude, longitude)
+
+just1 <- school_map_data |>
+ filter(scoScore >= 1)
+
+the_corps <- in_sc_shapes |>
+ filter(leaid %in% just1$leaid)
+corps_mid <- sf::st_centroid(the_corps$geometry)
+
+
+
+# sample_map <- sc_map +
+# geom_point(
+# data = school_map_data,
+# aes(
+# x = longitude,
+# y = latitude,
+# color = scoScore
+# ),
+# size = 2,
+# shape = 15
+# ) +
+# geom_text_repel(
+# data = school_map_data,
+# aes(
+# x = longitude,
+# y = latitude,
+# label = school_name
+# ),
+# color = "#243142",
+# family = "alpine",
+# size = 2.5) + #,
+# #nudge_x = c(-2, -1, 1, 1.25, 1, -2),
+# #nudge_y = c(0.25, -0.25, 0.25, -0.5, -0.5)) +
+# scale_color_steps2(
+# name = "SCOscore",
+# low = "#FFF4C6",
+# high = "#990000",
+# mid = "#FFAA00",
+# midpoint = 1.1,
+# breaks = c(0, 0.6, 0.8, 1, 1.2, 1.4)
+# )
+#
+# sample_map
+# ggsave(here("outputs", "school_map.pdf"), sample_map, dpi = 300, width = 16, height = 9, units = "in")
+
+corps_labels <- data.frame(
+ lea_name = c(
+ "MSD WAYNE\nTOWNSHIP",
+ "MSD LAWRENCE TOWNSHIP",
+ "MSD PIKE TOWNSHIP",
+ "MSD WASHINGTON TOWNSHIP",
+ "MSD WARREN\nTOWNSHIP",
+ "PERRY TOWNSHIP SCHOOLS",
+ "INDIANAPOLIS PUBLIC SCHOOLS"
+ ),
+ longitude = c(39.76179, 39.897, 39.897, 39.897, 39.77083, 39.675, 39.793),
+ latitude = c(-86.295, -86.00662, -86.26749, -86.1415, -86.00938, -86.153, -86.1375)
+)
+
+sc_map <- ggplot(data = states) +
+ geom_sf(data = states, fill = "#ffffff") +
+ geom_sf(data = in_sc_shapes, color = "#D4C8AB", fill = "#FFFEF5") +
+ geom_sf(data = the_corps, color = "#613D00", fill = "#FDF7E7") +
+ coord_sf(xlim = c(-86.375, -85.9), ylim = c(39.62, 39.94), expand = FALSE) +
+ theme_minimal() +
+ theme(panel.grid.major = element_blank(),
+ # panel.background = element_rect(fill = "#E9F6FC"),
+ axis.text = element_blank(),
+ axis.title = element_blank())
+
+other_labels <- data.frame(
+ lea_name = c(
+ "MSD DECATUR TOWNSHIP",
+ "FRANKLIN TOWNSHIP COMMUNITY SCHOOLS",
+ "CARMEL CLAY SCHOOLS",
+ "HAMILTON SOUTHEASTERN SCHOOL CORP",
+ "ZIONSVILLE COMMUNITY SCHOOLS",
+ "TOWN OF\nSPEEDWAY\nSCHOOLS",
+ "BEECH GROVE\nCITY\nSCHOOLS",
+ "AVON COMMUNITY SCHOOL CORP",
+ "BROWNSBURG COMMUNITY SCHOOL CORP",
+ "PLAINFIELD COMMUNITY SCHOOL CORP",
+ "MOUNT VERNON COMMUNITY SCHOOL CORP",
+ "SOUTHERN HANCOCK COUNTY\nCOMMUNITY SCHOOL CORP",
+ "NORTHWESTERN CONSOLIDATED\nSCHOOL CORP",
+ "MOORSEVILLE CONSOLIDATED SCHOOL CORP",
+ "CENTER GROVE COMMUNITY SCHOOL CORP",
+ "GREENWOOD COMMUNITY\nSCHOOL CORP",
+ "CLARK-PLEASANT COMMUNITY SCHOOL CORP"
+ ),
+ longitude = c(39.675, 39.675, 39.935, 39.935, 39.935, 39.794, 39.715, 39.76179, 39.85, 39.675, 39.85, 39.7375, 39.65,
+ 39.625, 39.625, 39.625, 39.625),
+ latitude = c(-86.275, -86.00938, -86.1415, -86.00662, -86.295, -86.2475, -86.085, -86.36, -86.36, -86.36, -85.925, -85.925,
+ -85.925, -86.32, -86.195, -86.11, -86.02),
+ direction = c(0, 0, 0, 0, 0, 0, 0, 90, 90, 90, 270, 270, 270, 0, 0, 0, 0)
+)
+
+just1$marker <- "s"
+
+just1 <- just1 |>
+ filter(leaid != 1800150)
+
+just1_map <- sc_map +
+ geom_text(data = corps_labels, aes(x = latitude, y = longitude, label = lea_name),
+ family = "inter", size = 14, color = "#D1B063") +
+ geom_text(data = other_labels, aes(x = latitude, y = longitude, label = lea_name, angle = direction),
+ family = "inter", size = 9, color = "#EBDDB6") +
+ geom_text(
+ data = just1,
+ aes(
+ x = longitude,
+ y = latitude,
+ label = marker,
+ color = scoScore,
+ family = "usgs"
+ ),
+ size = 18,
+ hjust = 0.5,
+ vjust = 0.5
+ ) +
+ geom_text_repel(
+ data = just1,
+ aes(
+ x = longitude,
+ y = latitude,
+ label = school_name,
+ point.size = 18
+ ),
+ color = "#613D00",
+ size = 9,
+ family = "carto") +
+ scale_color_steps2(
+ name = "SCHOOL CONTEXT OPPORTUNITY SCALE",
+ mid = "#b83300",
+ high = "#990000",
+ low = "#FFAA00",
+ midpoint = 1.2,
+ breaks = c(1, 1.1, 1.2, 1.3, 1.4)
+ ) +
+ labs(title = "Central Indiana School Context Opportunity Scores",
+ #subtitle = "Indianapolis-Marion County schools with School Context Opportunity Scores greater than 1",
+ caption = "Valid for 2023. Data retrieved from Urban Institute's Education Data Explorer via the educationdata R package (Ueyama, 2022) and the Indiana Department of Education's Indiana Graduates Prepared to Succeed (GPS) Dashboard (Indiana Department of Education, 2023). A project of CEISL. BY-NC-SA 4.0. 10.17605/OSF.IO/ZT9UX.") +
+ theme(
+ legend.position = "bottom",
+ plot.title = element_text(size = 96, family = "newsreader", hjust = 0.5, color = "#243142",
+ margin = margin(b = 0.25, unit = "in"), face = "bold"),
+ plot.subtitle = element_text(size = 24, family = "newsreader", hjust = 0.5),
+ plot.caption = element_markdown(size = 14, family = "newsreader", hjust = 1),
+ legend.title = element_text(size = 28, family = "carto"),
+ legend.text = element_text(size = 14, family = "carto"),
+ plot.margin = unit(c(0.5, 1, 0.5, 1), "in"),
+ panel.background = element_rect(fill = "#FFFEF5", color = "#FFFEF5"),
+ panel.border = element_rect(fill = NA, color = "#243142", linewidth = 2),
+ legend.box.margin = margin(t = 0.5, b = 0.5, unit = "in")
+ )
+ggsave(here("outputs", "just1_school_map.pdf"), just1_map, dpi = 300, width = 44, height = 44, units = "in")
+ggsave(here("outputs", "just1_school_map.png"), just1_map, dpi = 300, width = 44, height = 44, units = "in")
diff --git a/school_test.R b/school_test.R
new file mode 100644
index 0000000..1f8cc23
--- /dev/null
+++ b/school_test.R
@@ -0,0 +1,456 @@
+library(educationdata)
+library(dplyr)
+library(tidyr)
+library(readr)
+library(here)
+library(ggpubr)
+library(ggbeeswarm)
+
+corporation_list <- c(
+ 1802640,
+ 1812720,
+ 1805670,
+ 1812360,
+ 1810920,
+ 1800270,
+ 1804770,
+ 1812810,
+ 1808820
+ )
+ccd_data <- get_education_data(level = 'schools',
+ source = "ccd",
+ topic = 'directory',
+ filters = list(fips = 18,
+ year = 2021
+ ),
+ add_labels = TRUE)
+crdc_data <- get_education_data(level = 'schools',
+ source = "crdc",
+ topic = 'enrollment',
+ filters = list(fips = 18,
+ year = 2017
+ ),
+ subtopic = c("race", "sex"),
+ add_labels = TRUE)
+ccd_data <- ccd_data |>
+ #filter(leaid %in% corporation_list) |>
+ filter(leaid == 1800150) |>
+ filter(highest_grade_offered != "Pre-K") |>
+ select(
+ ncessch,
+ school_id,
+ lea_name,
+ leaid,
+ school_name,
+ latitude,
+ longitude,
+ urban_centric_locale,
+ school_level,
+ frl = free_or_reduced_price_lunch,
+ enrollment
+ ) |>
+ na.omit() |>
+ mutate(frl_pct = frl / enrollment) |>
+ arrange(lea_name, frl_pct)
+crdc_data <- crdc_data |>
+ filter(leaid %in% ccd_data$leaid) |>
+ filter(sex == "Total" & disability == "Total") |>
+ select(
+ ncessch,
+ race,
+ enrollment_crdc
+ ) |>
+ pivot_wider(
+ names_from = race,
+ values_from = enrollment_crdc
+ ) |>
+ rename(
+ white = White,
+ black = Black,
+ hispanic = Hispanic,
+ asian = Asian,
+ amerindian = `American Indian or Alaska Native`,
+ pacislander = `Native Hawaiian or other Pacific Islander`,
+ more = `Two or more races`,
+ total = Total
+ ) |>
+ mutate(urm_total = total - white) |>
+ mutate(urm_pct = urm_total / total)
+
+school_data <- left_join(ccd_data, crdc_data, by = "ncessch") |>
+ na.omit() |>
+ write_csv(here("data", "school_test2.csv"))
+
+
+##################################
+
+
+crit_scorps <- c(
+ 1810650,
+ 1805670,
+ 1812360,
+ 1808820
+)
+
+
+crit_data <- get_education_data(
+ level = "schools",
+ source = "edfacts",
+ topic = "assessments",
+ filters = list(
+ year = c(2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2020),
+ grade_edfacts = c(3, 6),
+ fips = 18
+ ),
+ subtopic = list("race")
+) |>
+ filter(leaid %in% crit_scorps) |>
+ filter(race != 1 & race != 99) |>
+ select(
+ leaid = leaid_num,
+ ncessch,
+ school_name,
+ year,
+ grade = grade_edfacts,
+ race,
+ reading_prof = read_test_num_valid,
+ reading_low = read_test_pct_prof_low,
+ reading = read_test_pct_prof_midpt,
+ reading_high = read_test_pct_prof_high,
+ read_test_num_valid,
+ math_low = math_test_pct_prof_low,
+ math = math_test_pct_prof_midpt,
+ math_high = math_test_pct_prof_high
+ ) |>
+ mutate(reading = if_else(
+ reading == "-3",
+ NA,
+ reading
+ )) |>
+ mutate(math = if_else(
+ math == "-3",
+ NA,
+ math
+ )) |>
+ na.omit() |>
+ mutate(
+ sch_level = grade
+ ) |>
+ mutate(
+ race = case_when(
+ race == 2 ~ "black",
+ race == 3 ~ "latine",
+ race == 4 ~ "asian",
+ race == 5 ~ "amerindian",
+ race == 6 ~ "pacislander",
+ race == 7 ~ "more"
+ )
+ ) |>
+ pivot_wider(
+ names_from = c(
+ "grade"
+ ),
+ values_from = c(
+ "reading_low",
+ "reading",
+ "reading_high",
+ "math_low",
+ "math",
+ "math_high"
+ )
+ )
+
+
+
+crit_elementary_black <- crit_data |>
+ filter(sch_level == 3) |>
+ filter(race == "black") |>
+ select(
+ leaid,
+ ncessch,
+ school_name,
+ year,
+ reading_prof,
+ reading_low_3,
+ reading_3,
+ reading_high_3
+ ) |>
+ na.omit()
+
+hse_frame <- crit_elementary_black |>
+ filter(leaid == 1810650)
+
+ggscatter(crit_elementary_black,
+ x = "year",
+ y = "reading_3")
+
+ggscatter(hse_frame,
+ x = "year",
+ y = "reading_3")
+
+ggboxplot(crit_elementary_black,
+ x = "year",
+ y = "reading_3")
+
+ggboxplot(hse_frame,
+ x = "year",
+ y = "reading_3")
+
+elementary_black_wilcox <- pairwise.wilcox.test(
+ crit_elementary_black$reading_3,
+ crit_elementary_black$year,
+ p.adjust.method = "BH"
+)
+elementary_black_wilcox
+
+hse_wilcox <- pairwise.wilcox.test(
+ hse_frame$reading_3,
+ hse_frame$year,
+ p.adjust.method = "BH"
+)
+hse_wilcox
+
+data_09 <- crit_elementary_black |>
+ filter(year == "2009")
+data_10 <- crit_elementary_black |>
+ filter(year == "2010")
+data_12 <- crit_elementary_black |>
+ filter(year == "2012")
+data_14 <- crit_elementary_black |>
+ filter(year == "2014")
+data_16 <- crit_elementary_black |>
+ filter(year == "2016")
+data_18 <- crit_elementary_black |>
+ filter(year == "2018")
+data_20 <- crit_elementary_black |>
+ filter(year == "2020")
+
+wilcox_0920 <- wilcox.test(
+ data_09$reading_3,
+ data_20$reading_3,
+ paired = FALSE
+)
+wilcox_0920
+
+wilcox_0910 <- wilcox.test(
+ data_09$reading_3,
+ data_10$reading_3,
+ paired = FALSE
+)
+wilcox_0910
+
+wilcox_1012 <- wilcox.test(
+ data_10$reading_3,
+ data_12$reading_3,
+ paired = FALSE
+)
+wilcox_1012
+
+wilcox_1214 <- wilcox.test(
+ data_12$reading_3,
+ data_14$reading_3,
+ paired = FALSE
+)
+wilcox_1214
+
+
+wilcox_1416 <- wilcox.test(
+ data_14$reading_3,
+ data_16$reading_3,
+ paired = FALSE
+)
+wilcox_1416
+
+wilcox_1618 <- wilcox.test(
+ data_16$reading_3,
+ data_18$reading_3,
+ paired = FALSE
+)
+wilcox_1618
+
+wilcox_1820 <- wilcox.test(
+ data_18$reading_3,
+ data_20$reading_3,
+ paired = FALSE
+)
+wilcox_1820
+
+library(effsize)
+
+data_1820 <- bind_rows(data_18, data_20)
+eff_1820 <- cohen.d(
+ reading_3 ~ year,
+ data_1820,
+ paired = FALSE,
+ hedges.correction = TRUE
+)
+eff_1820
+
+data_1618 <- bind_rows(data_16, data_18)
+eff_1618 <- cohen.d(
+ reading_3 ~ year,
+ data_1618,
+ paired = FALSE,
+ hedges.correction = TRUE
+)
+eff_1618
+
+data_1416 <- bind_rows(data_16, data_18)
+eff_1416 <- cohen.d(
+ reading_3 ~ year,
+ data_1416,
+ paired = FALSE,
+ hedges.correction = TRUE
+)
+eff_1416
+
+data_1214 <- bind_rows(data_12, data_14)
+eff_1214 <- cohen.d(
+ reading_3 ~ year,
+ data_1214,
+ paired = FALSE,
+ hedges.correction = TRUE
+)
+eff_1214
+
+data_1012 <- bind_rows(data_10, data_12)
+eff_1012 <- cohen.d(
+ reading_3 ~ year,
+ data_1012,
+ paired = FALSE,
+ hedges.correction = TRUE
+)
+eff_1012
+
+data_0910 <- bind_rows(data_09, data_10)
+eff_0910 <- cohen.d(
+ reading_3 ~ year,
+ data_0910,
+ paired = FALSE,
+ hedges.correction = TRUE
+)
+eff_0910
+
+data_0920 <- bind_rows(data_09, data_20)
+eff_0920 <- cohen.d(
+ reading_3 ~ year,
+ data_0920,
+ paired = FALSE,
+ hedges.correction = TRUE
+)
+eff_0920
+
+crit_change_black <- data.frame(
+ year = c(
+ "2009",
+ "2010",
+ "2012",
+ "2014",
+ "2016",
+ "2018",
+ "2020"
+ ),
+ reading.mean = c(
+ mean(data_09$reading_3),
+ mean(data_10$reading_3),
+ mean(data_12$reading_3),
+ mean(data_14$reading_3),
+ mean(data_16$reading_3),
+ mean(data_18$reading_3),
+ mean(data_20$reading_3)
+ ),
+ W = c(
+ NA,
+ wilcox_0910$statistic,
+ wilcox_1012$statistic,
+ wilcox_1214$statistic,
+ wilcox_1416$statistic,
+ wilcox_1618$statistic,
+ wilcox_1820$statistic
+ ),
+ p = c(
+ NA,
+ round(wilcox_0910$p.value, digits = 3),
+ round(wilcox_1012$p.value, digits = 3),
+ round(wilcox_1214$p.value, digits = 3),
+ round(wilcox_1416$p.value, digits = 3),
+ round(wilcox_1618$p.value, digits = 3),
+ round(wilcox_1820$p.value, digits = 3)
+ ),
+ g = c(
+ NA,
+ eff_0910$estimate,
+ eff_1012$estimate,
+ eff_1214$estimate,
+ eff_1416$estimate,
+ eff_1618$estimate,
+ eff_1820$estimate
+ )
+)
+
+
+
+
+
+
+
+library(forestplot)
+
+crit_elementary_black_forest_frame <- crit_elementary_black |>
+ group_by(year) |>
+ rename(
+ mean = reading_3,
+ lower = reading_low_3,
+ upper = reading_high_3,
+ prof = reading_prof
+ )
+crit_elementary_black_forest_frame |>
+ forestplot(labeltext = c(
+ year,
+ prof
+ ))
+
+crit_elementary_black_forest <- crit_elementary_black |>
+ mutate(
+ subgroup = if_else(
+ year == "2009",
+ "baseline",
+ "change"
+ )) |>
+ rename(
+ mean = reading_3,
+ lower = reading_low_3,
+ upper = reading_high_3,
+ prof = reading_prof
+ ) |>
+ forestplot(
+ labeltext = (
+ c(
+ subgroup
+ )
+ )
+ )
+
+print(crit_elementary_black_forest)
+
+
+crit_elementary_swarm <- ggplot(
+ crit_elementary_black,
+ aes(
+ x = year,
+ y = reading_3#,
+ #color = scoScore
+ )
+) +
+ geom_beeswarm(method = "center", cex = 1.5, corral = "wrap", shape = 18, size = 3) +
+ geom_text_repel(
+ aes(
+ x = year,
+ y = reading_3,
+ label = school_name
+ ),
+ size = 2.75, color = "#243142",
+ max.overlaps = 4,
+ point.padding = 0.5
+ )
+crit_elementary_swarm