Note: Below are election day polling places. For early voting (October 20-30) and ballot drop box locations, go to iwillvote.com
The Elections Commission and Municipal Clerks are generally working hard and earnestly to help people vote with too few resources, and resources are unevenly distributed, and a rapidly changing legal environment where groups fight to make it easier or harder for people to vote.
# UPDATE THIS IF A NEW FILE IS POSTED!
"Polling Place Locations - 2020 General Election Updated 10-21-2020.xlsx"
file <-
readxl::read_xlsx(here::here("data", file))
official_locations <-
"10-21-2020" date <-
This analysis uses the “Polling Place Locations - 2020 General Election Updated 10-21-2020.xlsx” data posted on 10-21-2020. Here are the current files posted on https://elections.wi.gov/node/6976:
# polling locations posted on website
read_html("https://elections.wi.gov/node/6976") %>%
html <- html_nodes("a")
tibble(file = html_text(html),
files <-link = html_attr(html, "href")) %>%
filter(str_detect(file, "xls|csv"))
kable(files) %>%
kable_styling() %>%
scroll_box()
file | link |
---|---|
Polling Place Locations - 2020 General Election Updated 10-21-2020.xlsx | https://elections.wi.gov/sites/elections.wi.gov/files/2020-10/Polling%20Place%20Locations%20-%202020%20General%20Election%20Updated%2010-21-2020.xlsx |
2020 General Election Referendums Update 091820.xlsx | https://elections.wi.gov/sites/elections.wi.gov/files/2020-10/2020%20General%20Election%20Referendums%20Update%20091820.xlsx |
readxl::read_xlsx(here::here("data", "PPL 2020 Partisan Primary 2.xlsx")) %>%
old_locations <- select(County, Muni, ReportingUnit, PollingPlaceName, PollingPlaceAddress, Longitude, Latitude)
# a function to split out wards
function(ward){
split <-
str_extract(ward, "[0-9]*") %>%
min = as.numeric()
str_extract(ward, "-[0-9]*") %>%
max = as.numeric() %>% abs()
full_seq(c(min,
max),1) %>%
str_c(collapse = ",")
}
# split out wards
. %>%
split_wards <- mutate_if(is.character, str_to_upper) %>%
mutate(ward = str_extract(ReportingUnit, "[1-9].*") %>%
# split on commas in wards
str_split(",")) %>%
unnest(ward) %>%
# remove any letters
mutate(ward = ward %>% str_remove("[A-z]")) %>%
# make a sequence of wards
mutate(ward_seq = map_chr(ward, possibly(split, otherwise = NA)),
ward = coalesce(ward_seq, ward) %>%
str_split(",")) %>%
unnest(ward) %>%
mutate_if(is.character, str_to_title) %>%
mutate(County = str_remove(County, " County") %>% str_remove("\\.")) %>%
mutate(ReportingUnit = paste("Ward ", ward)) %>%
ungroup() %>%
select(-ward_seq)
# apply function to old and new polling locations
official_locations %>% split_wards()
official <- old_locations %>% split_wards()
old <-
# diff between old and new polling locations
anti_join(official, old,
diff <-by = c("County", "Muni", "ReportingUnit",
"ward", "PollingPlaceAddress")) %>%
left_join(old,
by = c("County", "Muni", "ReportingUnit", "ward"),
suffix = c(".General", ".Primary"))
# save most recent split data
write_csv(official, here("data", paste("WEC" , date, "by ward.csv")))
# save most recent diff data
write_csv(diff, here("data", paste("WEC" , date, "by ward new.csv")))
# calculate the total and net number of changes
%<>%
diff group_by(County)%>%
mutate(changes = length(unique(PollingPlaceAddress.General)),
net = changes - length(unique(PollingPlaceAddress.Primary)))
# simplify polling place names + addresses
%<>% mutate(General = str_c(PollingPlaceName.General,
diff
PollingPlaceAddress.General, sep = ", "),
Primary = str_c(PollingPlaceName.Primary,
PollingPlaceAddress.Primary, sep = ", "))
map_data("county", "wisconsin") %>%
wi <- mutate(County = str_to_title(subregion) ) %>%
group_by(subregion) %>%
# Find the center of each subregion
mutate(center_lat = mean(range(lat) ),
center_long = mean(range(long) ) )
%<>%
wi # add total and net changes to map data
left_join(diff %>%
select(County, Muni, PollingPlaceAddress.General, changes, net) ) %>%
# append polling location points
full_join(diff %>% mutate(group = NA)) %>%
mutate(changes = changes %>% replace_na(0),
net = net %>% replace_na(0))
# plot changes
%>%
wi ggplot( ) +
aes(x = long, y = lat, group = group, fill = factor(changes)) +
geom_polygon(color = "white") +
geom_point(aes(x = Longitude.Primary,
y = Latitude.Primary),
color = "Red", alpha = .5) +
geom_point(aes(x = Longitude.General,
y = Latitude.General),
color = "Green", shape = "+", size = 5, alpha = .5) +
# label counties at their center
geom_text( aes(x = center_long, y = center_lat, label = County),
size = 2, angle = 45, check_overlap = T, color = "white") +
theme_void() +
labs(fill = "Polling Place\nAddresses Changed\nper County") +
scale_fill_manual(values = colorRampPalette(c("#6BAED6", "#08306B"))(14))
New polling locations are green. Removed locations are red. Brighter points mean that more Wards moved to or from that polling location.
These data have a few errors. For example, red dots in Rusk and Jackson counties are the result of latitude or longitude typos, but these points are mostly correct. A few of these “changes” are the result of errors in the Elections Commission’s August file. For example, the polling location addresses for the Town of Dewey and Town of Sharon are simply incorrect in the August Primary Election file.
# net
%>%
wi ggplot() +
aes(x = long, y = lat, group = group, fill = factor(net)) +
geom_polygon(color = "white") +
geom_point(aes(x = Longitude.Primary,
y = Latitude.Primary),
color = "Red", alpha = .5) +
geom_point(aes(x = Longitude.General,
y = Latitude.General),
color = "Green", shape = "+", size = 5, alpha = .5) +
geom_text( aes(x = center_long, y = center_lat, label = County),
size = 2, angle = 45, check_overlap = T, color = "white") +
theme_void() +
labs(fill = "Net Polling Places\nAdded per County") +
scale_fill_brewer(direction = -1)
On September 15th, Green Bay’s City Council voted to consolidate Wards 6, 7, 9, & 14 (who voted at Danz Elementry in the August Primary) and Wards 22 & 23 (who voted at Curative Connections). These Wards now all vote at the Bay Beach Amusement Park. Danz Elementary is 68% Latinx and 85% economically disadvantaged. By law, polling places may not be removed within 60 days of a general election. Green bay has received grants to keep polls open but still has just over half of its usual number of polling places.
Burlington Wards 1-4 voted at Cross Lutheran Church in the Primary. They now vote with Wards 5-8 at the Veterans Memorial Building.
# table of changes
%>%
diff ungroup( ) %>%
group_by(County, Muni, General, Primary) %>%
summarise(Ward = paste(County, Muni, "Ward",
paste(ward, collapse = ", "),
sep = ", ")) %>%
ungroup() %>%
select(Ward, Primary, General) %>%
distinct() %>%
knitr::kable() %>%
kable_styling() %>%
scroll_box(height = "500px")
Ward | Primary | General |
---|---|---|
Adams, Town Of Colburn, Ward, 1 | Richfield Town Hall, 1602 County Road G, Coloma, Wi 54930 | Colburn Town Hall, 198 County Road C, Hancock, Wi 54943 |
Ashland, City Of Ashland, Ward, 6, 7, 8, 9, 10, 11 | Wisconsin Indianhead Technical College-Ashland, 2100 Beaser Ave, Ashland, Wi 54806 | Bretting Community Center, 400 4th Ave W, Ashland, Wi 54806-1565 |
Bayfield, City Of Ashland, Ward, 12 | Wisconsin Indianhead Technical College-Ashland, 2100 Beaser Ave, Ashland, Wi 54806 | Bretting Community Center, 400 4th Ave W, Ashland, Wi 54806-1565 |
Brown, City Of De Pere, Ward, 13, 14, 15 | De Pere Community Center, 600 Grant St, De Pere, Wi 54115-1318 | Saint Mark Lutheran Church, 2066 Lawrence Dr, De Pere, Wi 54115-9421 |
Brown, City Of De Pere, Ward, 6, 7, 8, 9, 18 | First United Presbyterian Church, 605 N Webster Ave, De Pere, Wi 54115-3430 | Swan Club, 875 Heritage Rd, De Pere, Wi 54115 |
Brown, City Of Green Bay, Ward, 22, 23 | Curative Connections, 2900 Curry Ln, Green Bay, Wi 54311-5857 | Bay Beach Amusement Park, 1313 Bay Beach Rd, Green Bay, Wi 54302 |
Brown, City Of Green Bay, Ward, 6, 7, 9, 14 | Danz Elementary School, 2130 Basten St, Green Bay, Wi 54302-3640 | Bay Beach Amusement Park, 1313 Bay Beach Rd, Green Bay, Wi 54302 |
Brown, City Of Green Bay, Ward, 25, 36, 37, 39, 40 | Keller Elementary School, 1806 Bond St, Green Bay, Wi 54303-4604 | Johnsonville Tailgate Village, 1265 Lombardi Ave, Green Bay, Wi 54304 |
Brown, Town Of Holland, Ward, 1, 2 | Holland Town Hall, 1671 Hill Rd, Greenleaf, Wi 54126 | Vanabel’s Of Hollandtown, 8108 County Road D, Kaukauna, Wi 54130 |
Brown, Village Of Suamico, Ward, 1, 2, 3, 4, 5, 6, 7, 8 | Suamico Municipal Services Center, 12781 Velp Ave, Suamico, Wi 54313-8030 | Urban Edge (Previously The Marq Building, Next To Shopko), 2310 Lineville Rd, Suamico, Wi 54313 |
Buffalo, Town Of Mondovi, Ward, 1 | Mondovi City Hall - Chambers, 156 S Franklin St, Mondovi, Wi 54755-1514 | Central Lutheran Church, 221 W Main St, Mondovi, Wi 54755 |
Calumet, Village Of Harrison, Ward, 3, 4, 17, 18, 11, 12, 13 | Harrison Municipal Building, W5298 Hwy 114, Menasha, Wi 54952 | Waverly Beach, N8770 Firelane 1, Menasha, Wi 54952 |
Columbia, City Of Lodi, Ward, 1, 2, 3, 4, 5, 6 | Lodi City Hall, 130 S Main St, Lodi, Wi 53555-1119 | United Methodist Church, 130 Locust, Lodi, Wi 53555 |
Columbia, Town Of Lewiston, Ward, 1, 2 | Lewiston Elementary School, W11195 Highway 127, Portage, Wi 53901 | Lewiston Elementary School, W11195 State Road 127, Portage, Wi 53901 |
Dane, City Of Fitchburg, Ward, 1, 2, 3, 4 | Marketplace Fire Station, 2931 Marketplace Dr, Fitchburg, Wi 53719 | Little John’s Restaurant, 5302 Verona Rd, Fitchburg, Wi 53711 |
Dane, City Of Madison, Ward, 107, 127, 150 | Olson Elementary School, 801 Redan Dr, Verona, Wi 53593 | Blackhawk Church, 9620 Brader Way, Middleton, Wi 53562-9296 |
Dane, City Of Madison, Ward, 56 | Uw-Madison Memorial Library, 728 State St, Madison, Wi 53706-1418 | Chazen Museum Of Art, 750 University Ave, Madison, Wi 53706 |
Dane, City Of Madison, Ward, 65 | Wingra School, 718 Gilmore St, Madison, Wi 53711-1995 | Edgewood College Rennebohm Library, 959 Edgewood College Dr, Madison, Wi 53711 |
Dane, City Of Madison, Ward, 67 | Uw Welcome Center And Visitor Information, 21 N Park St, Madison, Wi 53715 | Faith Community Bible Church, 3 N Park St, Madison, Wi 53715 |
Dane, City Of Madison, Ward, 92 | Meadowridge Library, 5726 Raymond Rd, Madison, Wi 53711-4232 | Falk Elementary, 6323 Woodington Way, Madison, Wi 53711-3162 |
Dane, City Of Madison, Ward, 90, 104, 117, 141 | University Research Park Accelerator Building, 5602 Research Park Blvd, Madison, Wi 53719 | Heritage Square, 716 S Whitney Way, Madison, Wi 53711 |
Dane, City Of Madison, Ward, 47 | Pyle Center, 702 Langdon St, Madison, Wi 53706 | Hillel At The University Of Wisconsin, 611 Langdon St, Madison, Wi 53703-1103 |
Dane, City Of Madison, Ward, 105, 154 | Olson Elementary School, 801 Redan Dr, Verona, Wi 53593 | Holy Name Heights, 702 S High Point Rd, Madison, Wi 53719-3522 |
Dane, City Of Madison, Ward, 152 | Warner Park Community Recreation Center, 1625 Northport Dr, Madison, Wi 53704-2300 | Lakeview Lutheran Church, 4001 Mandrake Rd, Madison, Wi 53704 |
Dane, City Of Madison, Ward, 33, 34 | Warner Park Shelter, 1625 Northport Dr, Madison, Wi 53704-2300 | Lakeview Lutheran Church, 4001 Mandrake Rd, Madison, Wi 53704 |
Dane, City Of Madison, Ward, 51 | Madison Central Library, 201 W Mifflin St, Madison, Wi 53703-2511 | Madison Senior Center, 330 W Mifflin St, Madison, Wi 53703-2514 |
Dane, City Of Madison, Ward, 7 | Lake Edge United Church Of Christ, 4200 Buckeye Rd, Madison, Wi 53716 | Messiah Lutheran Church, 5202 Cottage Grove Rd, Madison, Wi 53716 |
Dane, City Of Madison, Ward, 50, 54 | Madison Senior Center, 330 W Mifflin St, Madison, Wi 53703-2514 | Nicholas Recreation Center, 797 W Dayton St, Madison, Wi 53715 |
Dane, City Of Madison, Ward, 55 | Union South, 1308 W Dayton St, Madison, Wi 53715 | Nicholas Recreation Center, 797 W Dayton St, Madison, Wi 53715 |
Dane, City Of Madison, Ward, 79 | Sequoya Library, 4340 Tokay Blvd, Madison, Wi 53711-1567 | Odana Hills Golf Course, 4635 Odana Rd, Madison, Wi 53711-1333 |
Dane, City Of Madison, Ward, 106, 125, 137, 140, 151 | Blackhawk Church, 9620 Brader Way, Middleton, Wi 53562-9296 | Olson Elementary School, 801 Redan Dr, Verona, Wi 53593 |
Dane, City Of Madison, Ward, 49 | Ian’s Pizza On State, 100 State St, Madison, Wi 53703-2573 | Orpheum Theater, 216 State St, Madison, Wi 53703 |
Dane, City Of Madison, Ward, 57 | Uw-Madison Memorial Library, 728 State St, Madison, Wi 53706-1418 | The University Club, 803 State St, Madison, Wi 53703-1019 |
Dane, City Of Madison, Ward, 58 | Union South, 1308 W Dayton St, Madison, Wi 53715 | Uw Memorial Union, 800 Langdon St, Madison, Wi 53706-1419 |
Dane, City Of Madison, Ward, 59, 147 | Union South, 1308 W Dayton St, Madison, Wi 53715 | Wisconsin Energy Institute, 1552 University Ave, Madison, Wi 53726 |
Dane, City Of Madison, Ward, 46 | Gates Of Heaven, 302 E Gorham St, Madison, Wi 53703 | Wisconsin Masonic Center, 301 Wisconsin Ave, Madison, Wi 53703 |
Dane, City Of Monona, Ward, 1, 2, 3, 4, 5 | Monona Community Center, 1011 Nichols Rd, Monona, Wi 53716-2530 | Saint Stephens Lutheran Church, 5700 Pheasant Hill Rd, Monona, Wi 53716-3118 |
Dane, Town Of Cottage Grove, Ward, 1, 2, 4, 5, 7 | Cottage Grove Town Hall, 4058 County Road N, Cottage Grove, Wi 53527-9503 | Cottage Grove Town Garage, 4062 County Highway N, Cottage Grove, Wi 53527 |
Dane, Village Of Deforest, Ward, 23 | NA | De Forest Village Hall, 120 S Stevenson St, De Forest, Wi 53532 |
Dodge, City Of Mayville, Ward, 1, 2, 3, 4, 5, 6, 7, 8 | Mayville City Hall, 15 S School St, Mayville, Wi 53050-1656 | Mayville Park Pavilion, 475 Park St, Mayville, Wi 53050 |
Dodge, Village Of Theresa, Ward, 1, 2, 3 | Theresa Elementary School, 422 S Milwaukee St, Theresa, Wi 53091 | Theresa Fire Department, 302 Depot Rd, Theresa, Wi 53091 |
Dunn, City Of Menomonie, Ward, 3, 4, 5, 7 | Leisure Services Center, 1412 6th St E, Menomonie, Wi 54751-3331 | Uw Stout - Multi-Purpose Room #50, 220 13th Ave E, Menomonie, Wi 54751 |
Dunn, Town Of Peru, Ward, 1 | Rock Creek Town Hall, N995 County Road H, Mondovi, Wi 54755-6823 | Peru Town Hall, E7209 160th Ave, Mondovi, Wi 54755 |
Dunn, Village Of Downing, Ward, 1 | Luepke Cabinet Shop, 406 Main St, Downing, Wi 54734-9497 | Village Of Downing Village Hall, 402 Main St, Downing, Wi 54734 |
Eau Claire, City Of Eau Claire, Ward, 80 | NA | Calvary Baptist Church, 3036 Epiphany Ln, Eau Claire, Wi 54703 |
Eau Claire, City Of Eau Claire, Ward, 81 | NA | Cedarcreek Community Church, 3520 Eastwind Dr, Eau Claire, Wi 54701-3120 |
Eau Claire, City Of Eau Claire, Ward, 10, 47, 54, 76 | Messiah Lutheran Church, 2015 N Hastings Way, Eau Claire, Wi 54703-1753 | Hope Lutheran Church, 2226 Eddy Ln, Eau Claire, Wi 54703 |
Fond Du Lac, City Of Fond Du Lac, Ward, 28 | Eagles Club, 515 N Park Ave, Fond Du Lac, Wi 54935 | Lakeside Park Pavilion, 71 Promen Dr, Fond Du Lac, Wi 54935 |
Forest, Town Of Nashville, Ward, 3 | Nashville Town Hall, 4265 State Highway 55, Crandon, Wi 54520 | Nashville Community Center And Town Offices, 1038 County Road Q, Pickerel, Wi 54465-0106 |
Forest, Town Of Nashville, Ward, 1, 2 | Nashville Community Center And Town Offices, 1038 County Road Q, Pickerel, Wi 54465-0106 | Nashville Town Hall, 4265 State Highway 55, Crandon, Wi 54520 |
Grant, City Of Platteville, Ward, 5, 6 | Broske Center, 1155 N 2nd St, Platteville, Wi 53818 | Ullsvik Hall, 30 S Hickory St, Platteville, Wi 53818 |
Grant, Town Of Glen Haven, Ward, 1 | Glen Haven Town Hall, 8819 Fourth Street, Glen Haven, Wi 53810 | Town Of Glen Haven Townhall, 8744 County Road V, Glen Haven, Wi 53810 |
Grant, Village Of Potosi, Ward, 1 | Potosi Village Hall, 105 N Main St, Potosi, Wi 53820-9709 | Holiday Gardens Event Center, 101 Brewery Hollow Rd, Potosi, Wi 53820 |
Green, City Of Brodhead, Ward, 1, 2, 3, 4, 5, 6 | Brodhead City Hall, 1111 W 2nd Ave, Brodhead, Wi 53520-1426 | Brodhead Fire Station, 1100 W 3rd Ave, Brodhead, Wi 53520 |
Green, City Of Monroe, Ward, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | Monroe Community Center, 1110 18th Ave, Monroe, Wi 53566-1850 | Monroe Fire Department - Station #2 Downtown, 1803 12th Street, Monroe, Wi 53566 |
Green, Town Of Adams, Ward, 1 | Adams Town Hall, N5705 Biggs Rd, Argyle, Wi 53504 | Adams Town Hall, N5723 Biggs Rd, Argyle, Wi 53504 |
Green, Town Of Exeter, Ward, 1, 2, 3, 4 | Exeter Town Hall, W2998 Hwy 92, Belleville, Wi 53508 | St Mary Church Hall, 221 Frederick St, Belleville, Wi 53508 |
Green, Village Of New Glarus, Ward, 1, 2, 3, 4 | New Glarus Village Hall, 319 2nd St, New Glarus, Wi 53574-9338 | New Glarus Fire Department, 218 4th Ave, New Glarus, Wi 53574 |
Jackson, Town Of Manchester, Ward, 1 | Manchester Town Hall, W9757 County Road O, Black River Falls, Wi 54615-6818 | Manchester Town Hall, N2870 Garage Rd, Black River Falls, Wi 54615 |
Jefferson, City Of Whitewater, Ward, 12 | Downtown Whitewater Armory, 146 W North St, Whitewater, Wi 53190 | Uww Kachel Field House, 800 W Main St, Whitewater, Wi 53190-1705 |
Jefferson, Town Of Waterloo, Ward, 1 | Waterloo Town Hall, N8193 N8193 State Road 89, Waterloo, Wi 53594-9128 | Waterloo Town Hall, N8193 State Road 89, Waterloo, Wi 53594-9128 |
Kenosha, City Of Kenosha, Ward, 116 | NA | Moose Lodge, 3003 30th Ave, Kenosha, Wi 53144-1624 |
Kenosha, Village Of Pleasant Prairie, Ward, 13, 14 | Addison Of Pleasant Prairie, 9651 Prairie Ridge Blvd, Pleasant Prairie, Wi 53158 | Recplex, 9900 Terwall Ter, Pleasant Prairie, Wi 53158-2222 |
Kenosha, Village Of Salem Lakes, Ward, 11, 12, 13 | Salem Lakes Village Hall, 9814 Antioch Rd, Salem, Wi 53168-9340 | Silver Lake Village Hall, 113 S 1st St, Silver Lake, Wi 53170-1724 |
Kenosha, Village Of Salem Lakes, Ward, 6, 7, 8, 9 | Salem Lakes Village Hall, 9814 Antioch Rd, Salem, Wi 53168-9340 | Wilmot Fire Station, 30400 Wilmot Rd, Wilmot, Wi 53192 |
Kenosha, Village Of Twin Lakes, Ward, 1, 2, 3, 4, 5, 6, 7, 8, 9 | Twin Lakes Village Hall, 108 E Main St, Twin Lakes, Wi 53181-9678 | Lakewood School, 1218 Wilmot Ave, Twin Lakes, Wi 53181-9419 |
La Crosse, City Of La Crosse, Ward, 25, 26 | Spence Elementary School, 2150 Bennett St, La Crosse, Wi 54601-6673 | Mary Mother Of The Church Parish Hall, 2006 Weston St, La Crosse, Wi 54601-6526 |
La Crosse, City Of La Crosse, Ward, 8, 11 | Uw-La Crosse Student Union, 521 East Ave N, La Crosse, Wi 54601 | Uw-La Crosse Mitchell Hall, 1820 Pine St, La Crosse, Wi 54601 |
Lincoln, City Of Merrill, Ward, 5, 6, 7, 13, 14 | Smith Center, 1100 Marc Dr, Merrill, Wi 54452-3516 | Bierman Building, 303 N Sales St, Merrill, Wi 54452 |
Lincoln, Town Of Russell, Ward, 1 | Russell Town Hall, N9691 County Road H, Elkhart Lake, Wi 53020 | Russell Town Hall, N5369 State Highway 17, Gleason, Wi 54435 |
Manitowoc, City Of Manitowoc, Ward, 32 | NA | Manitowoc Senior Center, 3330 Custer St, Manitowoc, Wi 54220-4355 |
Manitowoc, City Of Two Rivers, Ward, 7, 8 | Koenig Elementary School, 1114 Lowell St, Two Rivers, Wi 54241-3412 | J.e. Hamilton Community House, 1710 West Park Street, Two Rivers, Wi 54241 |
Marinette, Town Of Stephenson, Ward, 4, 5 | Crivitz Village Hall, 800 Henriette Ave, Crivitz, Wi 54114-7488 | Crivitz Fire Department, 1201 Fj St, Crivitz, Wi 54114 |
Menominee, Town Of Menominee, Ward, 1, 3, 4, 5 | Menominee County Courthouse, W3269 Courthouse Ln, Keshena, Wi 54135 | Menominee County Highway Dept., W2703 Chief Carron Rd, Keshena, Wi 54135 |
Milwaukee, City Of Cudahy, Ward, 4, 5, 6 | Cudahy City Hall, 5050 S Lake Dr, Cudahy, Wi 53110-2045 | Cudahy High School, 4950 S Lake Dr, Cudahy, Wi 53110 |
Milwaukee, City Of Cudahy, Ward, 1, 2, 3 | Cudahy Library, 3500 Library Dr, Cudahy, Wi 53110-1615 | Cudahy High School, 4950 S Lake Dr, Cudahy, Wi 53110 |
Milwaukee, City Of Cudahy, Ward, 10, 11, 12, 13, 14, 15 | General Mitchell School, 5950 S Illinois Ave, Cudahy, Wi 53110-2921 | Cudahy High School, 4950 S Lake Dr, Cudahy, Wi 53110 |
Milwaukee, City Of Cudahy, Ward, 7, 8, 9 | Parkview School, 5555 S Nicholson Ave, Cudahy, Wi 53110 | Cudahy High School, 4950 S Lake Dr, Cudahy, Wi 53110 |
Milwaukee, City Of Milwaukee, Ward, 190, 191 | Wisconsin Conservatory Of Lifelong Learning, 1017 N 12th St, Milwaukee, Wi 53233-1307 | Marquette University Alumni Union, 1442 W Wisconsin Ave, Milwaukee, Wi 53233-2238 |
Milwaukee, City Of Milwaukee, Ward, 48, 49 | Silver Spring Neighborhood Center, 5460 N 64th St, Milwaukee, Wi 53218-3020 | Mcgovern Park Senior Center, 4500 W Custer Ave, Milwaukee, Wi 53218-3442 |
Milwaukee, City Of Milwaukee, Ward, 136 | Riverside High School, 1615 E Locust St, Milwaukee, Wi 53211-3222 | Urban Ecology Center, 1500 E Park Pl, Milwaukee, Wi 53211-3587 |
Milwaukee, City Of Milwaukee, Ward, 169 | Washington Park Library, 2121 N Sherman Blvd, Milwaukee, Wi 53208-1211 | Washington Park Senior Center, 4420 W Vliet St, Milwaukee, Wi 53208-2769 |
Milwaukee, City Of Milwaukee, Ward, 306 | Wilson Senior Center, 2601 W Howard Ave, Milwaukee, Wi 53221 | Wilson Park Pavilion, 1601 W Howard Ave, Milwaukee, Wi 53221 |
Milwaukee, City Of Milwaukee, Ward, 206, 214 | Hawley School, 5610 W Wisconsin Ave, Milwaukee, Wi 53213-4258 | Wisconsin Humane Society, 4500 W Wisconsin Ave, Milwaukee, Wi 53208-3156 |
Milwaukee, City Of Oak Creek, Ward, 7, 8, 9 | East Middle School, 9330 S Shepard Ave, Oak Creek, Wi 53154-4548 | American Legion Post 434, 9327 S Shepard Ave, Oak Creek, Wi 53154 |
Milwaukee, City Of Oak Creek, Ward, 10, 11, 12 | East Middle School, 9330 S Shepard Ave, Oak Creek, Wi 53154-4548 | National Guard Armory, 8520 S Howell Ave, Oak Creek, Wi 53154-2921 |
Milwaukee, City Of Oak Creek, Ward, 4, 5, 6 | East Middle School, 9330 S Shepard Ave, Oak Creek, Wi 53154-4548 | Oak Creek Assembly Of God, 7311 S 13th St, Oak Creek, Wi 53154 |
Milwaukee, City Of Oak Creek, Ward, 16, 17, 18, 19 | East Middle School, 9330 S Shepard Ave, Oak Creek, Wi 53154-4548 | Oak Creek Community Center, 8580 S Howell Ave, Oak Creek, Wi 53154-2921 |
Milwaukee, City Of Oak Creek, Ward, 1, 2, 3 | East Middle School, 9330 S Shepard Ave, Oak Creek, Wi 53154-4548 | Oak Creek-Franklin School Adm. Building, 7630 S 10th St, Oak Creek, Wi 53154-1912 |
Milwaukee, City Of Oak Creek, Ward, 13, 14, 15 | East Middle School, 9330 S Shepard Ave, Oak Creek, Wi 53154-4548 | Parkway Church, 10940 S Nicholson Rd, Oak Creek, Wi 53154-7032 |
Milwaukee, Village Of Whitefish Bay, Ward, 5, 6 | Whitefish Bay Women’s Club, 600 E Henry Clay St, Whitefish Bay, Wi 53217 | Whitefish Bay Village Hall, 5300 N Marlborough Dr, Whitefish Bay, Wi 53217-5344 |
Monroe, City Of Tomah, Ward, 1, 2, 3, 4, 5, 5, 6, 5, 5, 24, 7, 8, 9, 10, 11, 18, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23 | City Of Tomah Municipal Center - Fire Station, 819 Superior Ave, Tomah, Wi 54660-2046 | Recreation Park, 1625 Butts Ave, Tomah, Wi 54660 |
Oconto, Town Of Mountain, Ward, 1 | Mountain Town Office, 13503 Weller Rd, Mountain, Wi 54149 | Mountain Community Center, 13412 State Highway 32/64, Mountain, Wi 54149 |
Outagamie, Village Of Harrison, Ward, 1, 2 | Harrison Municipal Building, W5298 Hwy 114, Menasha, Wi 54952 | Waverly Beach, N8770 Firelane 1, Menasha, Wi 54952 |
Outagamie, Village Of Little Chute, Ward, 2, 6, 8, 12, 13, 7 | Little Chute Civic Center, 625 Grand Ave, Little Chute, Wi 54140-1709 | Little Chute Village Hall, 108 W Main St, Little Chute, Wi 54140-1750 |
Ozaukee, Village Of Saukville, Ward, 1, 6, 7, 2, 3, 4, 5 | American Legion Post, 601 W Dekora St, Saukville, Wi 53080-1685 | Feith Ymca, 465 Northwoods Rd, Port Washington, Wi 53074-9671 |
Pierce, City Of Prescott, Ward, 1, 2, 3, 4, 5, 6 | Prescott City Hall, 800 Borner St N, Prescott, Wi 54021-2011 | Old Ptacek’s Event Center, 1449 Orrin Rd, Prescott, Wi 54021 |
Pierce, Village Of Ellsworth, Ward, 1, 2, 3, 4 | Ellsworth Village Hall, 130 N Chestnut St, Ellsworth, Wi 54011-4135 | Pierce County Fairgrounds, 364 N Maple St, Ellsworth, Wi 54011 |
Polk, Town Of Osceola, Ward, 1, 2, 3, 4, 5 | Osceola Town Hall, 516 N East Ave, Dresser, Wi 54009-9039 | New Life Christian Community Church, 201 State Road 35 N, Dresser, Wi 54009 |
Polk, Village Of Milltown, Ward, 1 | Milltown Community Center, 301 2nd Ave Sw, Milltown, Wi 54858-9077 | Milltown Public Library, 61 Main St W, Milltown, Wi 54858 |
Portage, Town Of Dewey, Ward, 1 | Dewey Town Hall, N5323 Cth I, Tony, Wi 54563-9657 | Dewey Town Hall, 430 Dewey Dr, Stevens Point, Wi 54482-9655 |
Portage, Town Of Sharon, Ward, 1, 2, 3 | Sharon Town Hall, N1097 Bollinger Rd, Sharon, Wi 53585-9704 | Sharon Town Hall, 6704 State Highway 66, Custer, Wi 54423-9641 |
Price, Town Of Harmony, Ward, 1 | Catawba Municipal Building, W9242 Us Highway 8, Catawba, Wi 54515 | Harmony Town Hall, W9095 County Road J, Catawba, Wi 54515-9736 |
Racine, City Of Burlington, Ward, 1, 2, 3, 4 | Burlington Cross Lutheran Church, 126 Chapel Ter, Burlington, Wi 53105-1622 | Veterans Memorial Building, 589 Milwaukee Ave, Burlington, Wi 53105-1251 |
Racine, City Of Burlington, Ward, 5, 6, 7, 8 | Veterans Memorial Building, 588 Milwaukee Ave, Burlington, Wi 53105-1251 | Veterans Memorial Building, 589 Milwaukee Ave, Burlington, Wi 53105-1251 |
Racine, Village Of Caledonia, Ward, 1, 2 | Saint Louis Church, 13207 County Road G, Caledonia, Wi 53108-9531 | Caledonia Hwy Garage (Temporary Relocation), 6922 Nicholson Rd, Caledonia, Wi 53108 |
Racine, Village Of Wind Point, Ward, 1, 2, 3 | Prairie School/Athletic Center, 4050 Lighthouse Dr, Racine, Wi 53402-3114 | Wind Point Public Works Garage, 215 E 4 Mile Rd, Racine, Wi 53402 |
Rock, City Of Beloit, Ward, 13, 14, 15, 22 | Central Christian Church, 2460 Milwaukee Rd, Beloit, Wi 53511-3946 | Beloit Public Library, 605 Eclipse Blvd, Beloit, Wi 53511 |
Rock, City Of Beloit, Ward, 1, 2, 3 | Beloit Historical Society, 845 Hackett St, Beloit, Wi 53511-5227 | Converse Elementary School, 1602 Townline Ave, Beloit, Wi 53511-3248 |
Rock, City Of Beloit, Ward, 4, 5, 6 | Beloit Historical Society, 845 Hackett St, Beloit, Wi 53511-5227 | Gaston Elementary School, 1515 W Grand Ave, Beloit, Wi 53511-5933 |
Rock, City Of Beloit, Ward, 7, 8, 9 | Beloit Historical Society, 845 Hackett St, Beloit, Wi 53511-5227 | Hackett School, 625 8th St, Beloit, Wi 53511-5307 |
Rock, City Of Beloit, Ward, 19, 20, 21 | Central Christian Church, 2460 Milwaukee Rd, Beloit, Wi 53511-3946 | River Of Life Umc, 2345 Prairie Ave, Beloit, Wi 53511-2669 |
Rock, City Of Beloit, Ward, 16, 17, 18 | Central Christian Church, 2460 Milwaukee Rd, Beloit, Wi 53511-3946 | Todd Elementary School, 1621 Oakwood Ave, Beloit, Wi 53511-5641 |
Rock, City Of Brodhead, Ward, 7, 8 | Brodhead City Hall, 1111 W 2nd Ave, Brodhead, Wi 53520-1426 | Brodhead Fire Station, 1100 W 3rd Ave, Brodhead, Wi 53520 |
Rock, Town Of Beloit, Ward, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 | Town Of Beloit Fire Station #2, 1133 E Inman Pkwy, Beloit, Wi 53511 | Beloit Fire Station #1, 2445 S Afton Rd, Beloit, Wi 53511 |
Rock, Town Of Union, Ward, 1, 2, 3, 4 | Evansville Fire Station, 425 Water St, Evansville, Wi 53536-1455 | Union Town Hall, 15531 W Green Bay Rd, Evansville, Wi 53536 |
Rock, Village Of Clinton, Ward, 1, 2, 3 | Clinton Village Hall, 301 Cross St, Clinton, Wi 53525-9786 | St Stephens Family Center, 716 Shu Lar Ln, Clinton, Wi 53525 |
Sauk, Village Of Prairie Du Sac, Ward, 5 | NA | Prairie Du Sac Village Hall, 335 Galena St, Prairie Du Sac, Wi 53578-1008 |
Sheboygan, City Of Sheboygan, Ward, 15, 20, 21 | Sheboygan City Hall, 828 Center Ave, Sheboygan, Wi 53081 | Formerly - Wisconsin Bank And Trust, 604 N 8th St, Sheboygan, Wi 53081 |
St Croix, Town Of Rush River, Ward, 1 | Rush River Town Hall, 2008 County Rd N, Baldwin, Wi 54002 | Rush River Town Hall, 2008 County Road N, Baldwin, Wi 54002 |
St Croix, Village Of Somerset, Ward, 1, 2, 3, 4 | Somerset Village Hall, 110 Spring St, Somerset, Wi 54025-9002 | Somerset Village Public Library, 208 Hud St, Somerset, Wi 54025 |
Trempealeau, Town Of Gale, Ward, 1, 2, 3 | Gale Town Hall, 20037 Gibson St, Galesville, Wi 54630 | Town Of Gale Shop, 19992 W Mill Rd, Galesville, Wi 54630 |
Vernon, City Of Hillsboro, Ward, 1, 2, 3, 4 | Hillsboro City Hall, 123 Mechanic St, Hillsboro, Wi 54634-4342 | Hillsboro Firemen’s Community Center, 203 Mill St, Hillsboro, Wi 54634 |
Vernon, Town Of Franklin, Ward, 1, 2 | Franklin Town Hall, W16177 County Road C, Taylor, Wi 54659-7008 | Franklin Town Hall, S6635 Us Highway 27, Viroqua, Wi 54665 |
Vernon, Town Of Genoa, Ward, 1, 2 | Genoa Town Shop, S5165 S Creek Rd, Genoa, Wi 54632-8796 | Village Of Genoa Fire Station, 126 Main St, Genoa, Wi 54632-8877 |
Vernon, Town Of Webster, Ward, 1, 2 | Webster Town Garage, E10614 State Road 82, La Farge, Wi 54639-8040 | Webster Town Hall, E10614 State Highway 82, La Farge, Wi 54639 |
Vilas, Town Of Boulder Junction, Ward, 1, 2 | Boulder Junction Fire Station, 5424 Park St, Boulder Junction, Wi 54512 | Boulder Junction Community Center, 5386 Park St, Boulder Junction, Wi 54512-9605 |
Walworth, City Of Burlington, Ward, 9, 10 | Veterans Memorial Building, 588 Milwaukee Ave, Burlington, Wi 53105-1251 | Veterans Memorial Building, 589 Milwaukee Ave, Burlington, Wi 53105-1251 |
Walworth, City Of Elkhorn, Ward, 1, 2, 3, 4, 5, 6, 7, 8 | Elkhorn Recreation Building, 200 Devendorf St, Elkhorn, Wi 53121 | Elkhorn National Guard Armory, 401 Fair Ave, Elkhorn, Wi 53121-1938 |
Walworth, City Of Whitewater, Ward, 7, 8, 13, 9 | Downtown Whitewater Armory, 146 W North St, Whitewater, Wi 53190 | Uww Kachel Field House, 907 W Schwager Dr, Whitewater, Wi 53190 |
Walworth, Town Of Delavan, Ward, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 | Delavan Town Hall, 5621 Town Hall Rd, Delavan, Wi 53115-3712 | Boxed & Burlap, 2935 State Road 67, Delavan, Wi 53115 |
Walworth, Town Of Geneva, Ward, 1, 2, 3, 4, 5, 6, 7, 8 | Geneva Town Hall, N3496 Como Rd, Lake Geneva, Wi 53147-2617 | Como Community Church, W3901 Palmer Rd, Lake Geneva, Wi 53147-2621 |
Walworth, Town Of Lafayette, Ward, 1, 2, 3 | Lafayette Town Hall, W4614 Potter Rd, Elkhorn, Wi 53121 | Evergreen Country Club, N6246 Us Highway 12, Elkhorn, Wi 53121 |
Washington, City Of West Bend, Ward, 4, 5, 6 | Public Agency Center, 333 E Washington St, West Bend, Wi 53095-2585 | West Bend Library, 630 Poplar St, West Bend, Wi 53095-3248 |
Washington, Village Of Jackson, Ward, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 | Jackson Village Hall, N168w20733 Main St, Jackson, Wi 53037-9381 | Jackson Area Community Center, N165w20330 Hickory Ln, Jackson, Wi 53037 |
Washington, Village Of Slinger, Ward, 1, 2, 3, 4, 5, 6, 7, 8, 9 | Slinger Community Room, 300 Slinger Rd, Slinger, Wi 53086-9022 | Slinger Community Room, 218 Slinger Rd, Slinger, Wi 53086 |
Waukesha, City Of Brookfield, Ward, 14, 15, 16, 17 | Brookfield Public Safety Building, 2100 N Calhoun Rd, Brookfield, Wi 53005-5054 | Brookfield Central High School, 16900 Gebhardt Rd, Brookfield, Wi 53005 |
Waukesha, City Of Brookfield, Ward, 1, 2, 3 | Immanuel Church, 4250 N 137th St, Brookfield, Wi 53005-1736 | Brookfield East High School, 3305 Lilly Rd, Brookfield, Wi 53005 |
Waukesha, City Of Delafield, Ward, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 | Delafield City Hall, 500 Genesee St, Delafield, Wi 53018-1817 | Christ The King Lutheran Church, 1600 Genesee St, Delafield, Wi 53018-1202 |
Waukesha, City Of Muskego, Ward, 11, 12 | Muskego City Hall, Lobby, W182s8200 Racine Ave, Muskego, Wi 53150-8750 | Fox River Christian Church, S67w19491 Tans Dr, Muskego, Wi 53150-8521 |
Waukesha, City Of Muskego, Ward, 1, 2, 3 | Muskego City Hall, Council Chamber, W182s8200 Racine Ave, Muskego, Wi 53150-8750 | Lakepoint Church, S63w13694 Janesville Rd, Muskego, Wi 53150 |
Waukesha, City Of Muskego, Ward, 4, 5 | Muskego City Hall, Room 1a, W182s8200 Racine Ave, Muskego, Wi 53150-8750 | Muskego Public Library, Room 4, S73w16663 Janesville Rd, Muskego, Wi 53150 |
Waukesha, City Of Muskego, Ward, 15, 16 | Muskego City Hall, Council Chamber, W182s8200 Racine Ave, Muskego, Wi 53150-8750 | Muskego Public Library, Rooms 1 - 3, S73w16663 Janesville Rd, Muskego, Wi 53150 |
Waukesha, City Of Oconomowoc, Ward, 1, 2, 3, 13, 14, 15 | Greenland School, 440 Coolidge St, Oconomowoc, Wi 53066-2808 | Oconomowoc Police Department, 630 E Wisconsin Ave, Oconomowoc, Wi 53066 |
Waukesha, City Of Oconomowoc, Ward, 7, 8, 9, 16 | Oconomowoc Arts Center, 641 E Forest St, Oconomowoc, Wi 53066-3814 | Western Lakes Fire District - Pabst Farms Location #1, 1400 Oconomowoc Pkwy, Oconomowoc, Wi 53066 |
Waukesha, Town Of Merton, Ward, 1, 2, 3, 7, 8, 9 | Merton Town Hall, W314n7624 State Road 83, Hartland, Wi 53029-9759 | North Lake School, N75w31283 County Road Vv, Hartland, Wi 53029-8022 |
Waukesha, Village Of Hartland, Ward, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 | Hartland Municipal Building, 210 Cottonwood Ave, Hartland, Wi 53029-2017 | Saint Charles Church, 313 Circle Dr, Hartland, Wi 53029-1824 |
Waukesha, Village Of Menomonee Falls, Ward, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | Davian’s Banquet & Conference Center, N56w16300 Silver Spring Dr, Menomonee Falls, Wi 53051-5620 | Good Shepherd, N88w17658 Christman Rd, Menomonee Falls, Wi 53051-2630 |
Waukesha, Village Of Merton, Ward, 1, 2, 3, 4, 5, 6 | Merton Village Hall, N67w28343 Sussex Rd, Merton, Wi 53056 | Merton Village Hall/Community Center, W282n6996 Main St, Merton, Wi 53056 |
Waupaca, City Of New London, Ward, 6, 7 | Trinity Lutheran Church, 709 W Beckert Rd, New London, Wi 54961-2405 | Washington Center, 600 W Washington St, New London, Wi 54961-1765 |
Waupaca, Town Of Mukwa, Ward, 3, 4, 5 | Mukwa Town Hall, E8514 Weyauwega Rd, New London, Wi 54961-7934 | Bean City Ballroom, N2505 Bean City Rd, New London, Wi 54961-8903 |
Waupaca, Town Of Weyauwega, Ward, 1 | Weyauwega Old Middle School, 310 E Main St, Weyauwega, Wi 54983 | Weyauwega American Legion, 303 N Mill St, Weyauwega, Wi 54983 |
Winnebago, City Of Oshkosh, Ward, 17, 18, 37, 40 | Alberta Kimball Auditorium, 435 N Eagle St, Oshkosh, Wi 54902 | Father Carr’s Place, 1062 N Koeller St, Oshkosh, Wi 54902-3245 |
Winnebago, City Of Oshkosh, Ward, 3, 4 | Saint John’s Church, 808 N Main St, Oshkosh, Wi 54901-4447 | Kolf Sports Center, 785 High Ave, Oshkosh, Wi 54901 |
Winnebago, City Of Oshkosh, Ward, 30, 31, 32 | Oshkosh Elks Lodge, 175 W Fernau Ave, Oshkosh, Wi 54901-1218 | Sunnyview Exposition Site, 500 E County Road Y, Oshkosh, Wi 54901 |
Winnebago, Town Of Algoma, Ward, 3, 4, 5, 6 | Algoma Town Hall, 15 N Oakwood Rd, Oshkosh, Wi 54904-7826 | Algoma Town Hall, 1072 Honey Creek Rd, Oshkosh, Wi 54904-9399 |
Wood, Village Of Vesper, Ward, 1 | Vesper Municipal Bldg, 6554 Cameron Ave, Vesper, Wi 54489-9458 | Vesper Community Center, 5032 Benson Ave, Vesper, Wi 54489 |
# a function to plot each county
function(county){
countymap <- wi %>%
p <- filter(County == county) %>%
ggplot() +
geom_polygon(aes(x = long, y = lat, group = group), fill = "#08306B") +
geom_point(aes(x = Longitude.Primary,
y = Latitude.Primary),
color = "Red", alpha = .5) +
geom_point(aes(x = Longitude.General,
y = Latitude.General),
color = "Green", shape = "+", size = 5, alpha = .5) +
geom_text( aes(x = Longitude.Primary,
y = Latitude.Primary,
label = PollingPlaceName.Primary),
color = "Red", alpha = .5,
angle = 45, check_overlap = T) +
geom_text( aes(x = Longitude.General,
y = Latitude.General,
label = PollingPlaceName.General),
color = "Green", alpha = .5,
angle = 45, check_overlap = T) +
geom_segment(aes(x = Longitude.Primary,
y = Latitude.Primary,
xend = Longitude.General,
yend = Latitude.General),
#arrow = arrow(length = unit(0.1, "cm")),
color = "green") +
geom_text( aes(x = Longitude.General,
y = Latitude.General,
label = PollingPlaceName.General),
color = "Green", alpha = .5,
angle = 45, check_overlap = T) +
theme_void() +
labs(title = paste(county, "County"))
return(p)
}
map(diff %>%
filter(net != 0 | changes > 6) %>%
.$County %>%
unique(),
countymap)
## [[1]]
##
## [[2]]
##
## [[3]]
##
## [[4]]
##
## [[5]]
##
## [[6]]
##
## [[7]]
##
## [[8]]
By law, polling locations are not supposed to change in the 60 days before a general election but ¯\_(ツ)_/¯
The Election Commission’s guidance just says 30 days, but Wisconsin Statute 5.25(3) specifies 60 days for general elections.
“Polling places shall be established for each September primary and general election at least 60 days before the election, and for each other election at least 30 days before the election.” - Wisconsin Statute 5.25(3)
readxl::read_xlsx(here::here("data", "2020 General Election PPL RU List.xlsx")) %>%
oct_locations <- select(County, Muni, ReportingUnit, PollingPlaceName, PollingPlaceAddress, Longitude, Latitude)
# apply function to old polling locations
oct_locations %>% split_wards()
oct <-
# diff between old and new polling locations
anti_join(official, oct,
diff <-by = c("County", "Muni", "ReportingUnit",
"ward", "PollingPlaceAddress")) %>%
left_join(oct,
by = c("County", "Muni", "ReportingUnit", "ward"),
suffix = c(".October21", ".October7"))
# calculate the total and net number of changes
%<>%
diff group_by(County)%>%
mutate(changes = length(unique(PollingPlaceAddress.October21)),
net = changes - length(unique(PollingPlaceAddress.October7)))
# simplify polling place names + addresses
%<>% mutate(October21 = str_c(PollingPlaceName.October21,
diff
PollingPlaceAddress.October21, sep = ", "),
October7 = str_c(PollingPlaceName.October7,
PollingPlaceAddress.October7, sep = ", "))
map_data("county", "wisconsin") %>%
wi <- mutate(County = str_to_title(subregion) ) %>%
group_by(subregion) %>%
# Find the center of each subregion
mutate(center_lat = mean(range(lat) ),
center_long = mean(range(long) ) )
%<>%
wi # add total and net changes to map data
left_join(diff %>%
select(County, Muni, PollingPlaceAddress.October21, changes, net) ) %>%
# append polling location points
full_join(diff %>% mutate(group = NA)) %>%
mutate(changes = changes %>% replace_na(0),
net = net %>% replace_na(0))
# plot changes
%>%
wi ggplot( ) +
aes(x = long, y = lat, group = group, fill = factor(changes)) +
geom_polygon(color = "white") +
geom_point(aes(x = Longitude.October7,
y = Latitude.October7),
color = "Red", alpha = .5) +
geom_point(aes(x = Longitude.October21,
y = Latitude.October21),
color = "Green", shape = "+", size = 5, alpha = .5) +
# label counties at their center
geom_text( aes(x = center_long, y = center_lat, label = County),
size = 2, angle = 45, check_overlap = T, color = "white") +
theme_void() +
labs(fill = "Polling Place\nAddresses Changed\nper County Between\nOct. 7 and Oct. 21 2020") +
scale_fill_brewer(direction = -1)
New polling locations are green. Removed locations are red. Brighter points mean that more Wards moved to or from that polling location.
# net
%>%
wi ggplot() +
aes(x = long, y = lat, group = group, fill = factor(net)) +
geom_polygon(color = "white") +
geom_point(aes(x = Longitude.October7,
y = Latitude.October7),
color = "Red", alpha = .5) +
geom_point(aes(x = Longitude.October21,
y = Latitude.October21),
color = "Green", shape = "+", size = 5, alpha = .5) +
geom_text( aes(x = center_long, y = center_lat, label = County),
size = 2, angle = 45, check_overlap = T, color = "white") +
theme_void() +
labs(fill = "Net Polling Places\nAdded per County Between\nOct. 7 and Oct. 21 2020") +
scale_fill_brewer(direction = -1)
# table of changes
%>%
diff ungroup( ) %>%
group_by(County, Muni, October21, October7) %>%
summarise(Ward = paste(County, Muni, "Ward",
paste(ward, collapse = ", "),
sep = ", ")) %>%
ungroup() %>%
select(Ward, October7, October21) %>%
distinct() %>%
knitr::kable() %>%
kable_styling() %>%
scroll_box(height = "500px")
Ward | October7 | October21 |
---|---|---|
Columbia, Town Of Lewiston, Ward, 1, 2 | Lewiston Elementary School, W11195 Highway 127, Portage, Wi 53901 | Lewiston Elementary School, W11195 State Road 127, Portage, Wi 53901 |
Dane, City Of Madison, Ward, 107, 127, 150 | Holy Name Heights, 702 S High Point Rd, Madison, Wi 53719-3522 | Blackhawk Church, 9620 Brader Way, Middleton, Wi 53562-9296 |
Dane, City Of Madison, Ward, 56 | Uw-Madison Memorial Library, 728 State St, Madison, Wi 53706-1418 | Chazen Museum Of Art, 750 University Ave, Madison, Wi 53706 |
Dane, City Of Madison, Ward, 65 | Wingra School, 718 Gilmore St, Madison, Wi 53711-1995 | Edgewood College Rennebohm Library, 959 Edgewood College Dr, Madison, Wi 53711 |
Dane, City Of Madison, Ward, 67 | Uw Welcome Center And Visitor Information, 21 N Park St, Madison, Wi 53715 | Faith Community Bible Church, 3 N Park St, Madison, Wi 53715 |
Dane, City Of Madison, Ward, 90, 104, 117, 141 | University Research Park Accelerator Building, 5602 Research Park Blvd, Madison, Wi 53719 | Heritage Square, 716 S Whitney Way, Madison, Wi 53711 |
Dane, City Of Madison, Ward, 47 | Pyle Center, 702 Langdon St, Madison, Wi 53706 | Hillel At The University Of Wisconsin, 611 Langdon St, Madison, Wi 53703-1103 |
Dane, City Of Madison, Ward, 99 | Heritage Congregational Church, 3102 Prairie Rd, Madison, Wi 53719-1578 | Huegel Elementary, 2601 Prairie Rd, Madison, Wi 53711-4156 |
Dane, City Of Madison, Ward, 152 | Lakeview Lutheran Church, 1625 Northport Dr, Madison, Wi 53704-2300 | Lakeview Lutheran Church, 4001 Mandrake Rd, Madison, Wi 53704 |
Dane, City Of Madison, Ward, 51 | Madison Central Library, 201 W Mifflin St, Madison, Wi 53703-2511 | Madison Senior Center, 330 W Mifflin St, Madison, Wi 53703-2514 |
Dane, City Of Madison, Ward, 50, 54 | Madison Senior Center, 330 W Mifflin St, Madison, Wi 53703-2514 | Nicholas Recreation Center, 797 W Dayton St, Madison, Wi 53715 |
Dane, City Of Madison, Ward, 55 | Union South, 1308 W Dayton St, Madison, Wi 53715 | Nicholas Recreation Center, 797 W Dayton St, Madison, Wi 53715 |
Dane, City Of Madison, Ward, 106, 125, 137, 140, 151 | Blackhawk Church, 9620 Brader Way, Middleton, Wi 53562-9296 | Olson Elementary School, 801 Redan Dr, Verona, Wi 53593 |
Dane, City Of Madison, Ward, 49 | Ian’s Pizza On State, 100 State St, Madison, Wi 53703-2573 | Orpheum Theater, 216 State St, Madison, Wi 53703 |
Dane, City Of Madison, Ward, 57 | Uw-Madison Memorial Library, 728 State St, Madison, Wi 53706-1418 | The University Club, 803 State St, Madison, Wi 53703-1019 |
Dane, City Of Madison, Ward, 58 | Union South, 1308 W Dayton St, Madison, Wi 53715 | Uw Memorial Union, 800 Langdon St, Madison, Wi 53706-1419 |
Dane, City Of Madison, Ward, 59, 147 | Union South, 1308 W Dayton St, Madison, Wi 53715 | Wisconsin Energy Institute, 1552 University Ave, Madison, Wi 53726 |
Dane, City Of Madison, Ward, 46 | Gates Of Heaven, 302 E Gorham St, Madison, Wi 53703 | Wisconsin Masonic Center, 301 Wisconsin Ave, Madison, Wi 53703 |
Dane, Village Of Deforest, Ward, 23 | NA | De Forest Village Hall, 120 S Stevenson St, De Forest, Wi 53532 |
Dane, Village Of Oregon, Ward, 7, 8, 9, 10 | Oregon Village Hall - Community Room, 103 N Alpine Pkwy, Oregon, Wi 53575-3109 | Oregon Village Hall - Community Room, 117 Spring St, Oregon, Wi 53575-1451 |
Eau Claire, City Of Eau Claire, Ward, 80 | NA | Calvary Baptist Church, 3036 Epiphany Ln, Eau Claire, Wi 54703 |
Eau Claire, City Of Eau Claire, Ward, 81 | NA | Cedarcreek Community Church, 3520 Eastwind Dr, Eau Claire, Wi 54701-3120 |
Jackson, Town Of Manchester, Ward, 1 | Manchester Town Hall, W9757 County Road O, Black River Falls, Wi 54615-6818 | Manchester Town Hall, N2870 Garage Rd, Black River Falls, Wi 54615 |
La Crosse, City Of La Crosse, Ward, 8, 11 | Uw-La Crosse Student Union, 521 East Ave N, La Crosse, Wi 54601 | Uw-La Crosse Mitchell Hall, 1820 Pine St, La Crosse, Wi 54601 |
Manitowoc, City Of Manitowoc, Ward, 32 | NA | Manitowoc Senior Center, 3330 Custer St, Manitowoc, Wi 54220-4355 |
Racine, Village Of Caledonia, Ward, 1, 2 | Saint Louis Church, 13207 County Road G, Caledonia, Wi 53108-9531 | Caledonia Hwy Garage (Temporary Relocation), 6922 Nicholson Rd, Caledonia, Wi 53108 |
Sauk, Village Of Prairie Du Sac, Ward, 5 | NA | Prairie Du Sac Village Hall, 335 Galena St, Prairie Du Sac, Wi 53578-1008 |
Sheboygan, City Of Sheboygan, Ward, 15, 20, 21 | Senior Activity Center, 428 Wisconsin Ave, Sheboygan, Wi 53081-4146 | Formerly - Wisconsin Bank And Trust, 604 N 8th St, Sheboygan, Wi 53081 |
St Croix, City Of Hudson, Ward, 1, 2, 9, 10 | Hudson City Hall, 505 3rd St, Hudson, Wi 54016-1603 | City Of Hudson Fire Hall, 222 Walnut St, Hudson, Wi 54016 |
St Croix, Town Of Rush River, Ward, 1 | Rush River Town Hall, 2008 County Rd N, Baldwin, Wi 54002 | Rush River Town Hall, 2008 County Road N, Baldwin, Wi 54002 |
Trempealeau, Town Of Gale, Ward, 1, 2, 3 | Gale Town Hall, 20037 Gibson St, Galesville, Wi 54630 | Town Of Gale Shop, 19992 W Mill Rd, Galesville, Wi 54630 |
# a function to plot each county
function(county){
countymap <- wi %>%
p <- filter(County == county) %>%
ggplot() +
geom_polygon(aes(x = long, y = lat, group = group), fill = "#08306B") +
geom_point(aes(x = Longitude.October7,
y = Latitude.October7),
color = "Red", alpha = .5) +
geom_point(aes(x = Longitude.October21,
y = Latitude.October21),
color = "Green", shape = "+", size = 5, alpha = .5) +
geom_text( aes(x = Longitude.October7,
y = Latitude.October7,
label = PollingPlaceName.October7),
color = "Red", alpha = .5,
angle = 45, check_overlap = T) +
geom_text( aes(x = Longitude.October21,
y = Latitude.October21,
label = PollingPlaceName.October21),
color = "Green", alpha = .5,
angle = 45, check_overlap = T) +
geom_segment(aes(x = Longitude.October7,
y = Latitude.October7,
xend = Longitude.October21,
yend = Latitude.October21),
#arrow = arrow(length = unit(0.1, "cm")),
color = "green") +
geom_text( aes(x = Longitude.October21,
y = Latitude.October21,
label = PollingPlaceName.October21),
color = "Green", alpha = .5,
angle = 45, check_overlap = T) +
theme_void() +
labs(title = paste(county, "County"))
return(p)
}
map(diff %>%
filter(net != 0 | changes > 1) %>%
.$County %>%
unique(),
countymap)
## [[1]]
##
## [[2]]
##
## [[3]]
Note: Because the Election Commission’s website, myvote.wi.gov, is incomplete, voters should go to iwillvote.com for early voting and ballot drop box locations
To request an absentee ballot in Wisconsin, you must go to the Election Commission’s website myvote.wi.gov. This site then shows voters their Early Voting (called “In-Person Absentee”) and Drop Box options. The Election Commission relies on Municipal Clerks to provide this information. Unfortunately, even halfway through early voting, many municipalities have not yet provided this information. For example, Madison has, but Green Bay has not.
read_csv(here("data", "Early Voting Sites - 2020 General Election.csv")) %>%
early <- select(Muni) %>%
distinct() %>%
mutate(Muni = str_remove(Muni, " - .*"),
early = "Early voting options listed")
read_csv(here("data", "Absentee Dropboxes - 2020 General Election.csv")) %>%
drop <- select(Muni) %>%
distinct() %>%
mutate(Muni = str_remove(Muni, " - .*"),
drop = "Drop boxes listed")
# add to data
%<>%
official_locations # reformat county
mutate(County = County %>%
str_to_title() %>%
str_remove(" County") ) %>%
left_join(early) %>%
left_join(drop) %>%
mutate(drop = drop %>% replace_na("No information"),
early = early %>% replace_na("No information") )
# summary table
%>%
official_locations select(Muni, early, drop) %>%
distinct() %>%
mutate(early = str_replace(early, "Early voting options listed", "Yes"),
drop = str_replace(drop, "Drop boxes listed", "Yes")) %>%
count(early, drop) %>%
rename(`Early voting options listed` = early,
`Drop boxes listed` = drop,
`Municipalities` = n) %>%
kablebox()
Early voting options listed | Drop boxes listed | Municipalities |
---|---|---|
No information | No information | 722 |
No information | Yes | 34 |
Yes | No information | 473 |
Yes | Yes | 390 |
# format map data
map_data("county", "wisconsin") %>%
wi <- mutate(County = str_to_title(subregion) ) %>%
group_by(subregion) %>%
# Find the center of each subregion
mutate(center_lat = mean(range(lat) ),
center_long = mean(range(long) ) )
# add full data to map
%<>% full_join(official_locations %>%
wi select(County, Muni, Longitude, Latitude, early, drop) %>%
distinct() %>%
mutate(group = NA) )
# early
function(x){
early_plot <-ggplot(x) +
aes(x = long, y = lat, group = group) +
geom_polygon(color = "white") +
geom_point(aes(x = Longitude,
y = Latitude,
color = early),
alpha = 900/nrow(x)) +
geom_text( aes(x = center_long, y = center_lat, label = County),
size = 2, angle = 45, check_overlap = T, color = "white") +
geom_text( aes(x = Longitude,
y = Latitude,
color = early,
label = Muni),
size = 200/nrow(x), vjust = -1, check_overlap = T) +
theme_void() +
labs(color = "Early voting options\non myvote.wi.gov\nby polling place") +
scale_color_brewer(palette = "Set2")
}
early_plot(wi)
early_plot(wi %>% filter(County == "Brown")) + labs(title = "Brown County")
early_plot(wi %>% filter(County == "Outagamie")) + labs(title = "Outagamie")
early_plot(wi %>% filter(County == "Milwaukee")) + labs(title = "Milwaukee County")
# drop boxes
function(x){
drop_plot <-ggplot(x) +
aes(x = long, y = lat, group = group) +
geom_polygon(color = "white") +
geom_point(aes(x = Longitude,
y = Latitude,
color = drop),
alpha = 900/nrow(x)) +
geom_text( aes(x = center_long, y = center_lat, label = County),
size = 2, angle = 45, check_overlap = T, color = "white") +
geom_text( aes(x = Longitude,
y = Latitude,
color = drop,
label = Muni),
size = 200/nrow(x), vjust = -1, check_overlap = T) +
theme_void() +
labs(color = "Ballot drop box options\non myvote.wi.gov\nby polling place") +
scale_color_brewer(palette = "Set2")
}
drop_plot(wi)
drop_plot(wi %>% filter(County == "Brown")) + labs(title = "Brown County")
drop_plot(wi %>% filter(County == "Milwaukee")) + labs(title = "Milwaukee County")
About 75% of Absentee Ballot Drop Boxes are open until polls close at 8 PM, but hundreds of drop boxes across Wisconsin close earlier, meaning that a voter must take their ballot to their polling place if they miss the last drop box pickup. Voters can check their municipality’s Drop Box pickup time on myvote.wi.gov; If it is not there (myvote has no information on most drop boxes), they should try iwillvote.com or call their Clerk.
read_csv(here("data", "Absentee Dropboxes - 2020 General Election.csv")) %>%
drop_date <- select(Muni, ToDate) %>%
mutate(Muni = str_remove(Muni, " - .*") %>% str_to_title() ) %>%
distinct() %>%
mutate(date = ifelse(ToDate == "11/3/2020", " Election Day", "Before Election Day") )
# add drob box date data to map
%<>%
wi mutate(Muni = str_to_title(Muni)) %>%
full_join(drop_date)
# drop boxes
function(x){
drop_plot <-
ggplot(x) +
aes(x = long, y = lat, group = group) +
geom_polygon(color = "white") +
geom_point(aes(x = Longitude,
y = Latitude,
color = date ),
alpha = 900/nrow(x) ) +
geom_text( aes(x = center_long, y = center_lat, label = County),
size = 2, angle = 45, check_overlap = T, color = "white") +
geom_text( aes(x = Longitude,
y = Latitude,
color = date,
label = Muni),
size = 200/nrow(x), vjust = -1, check_overlap = T) +
theme_void() +
scale_color_brewer(palette = "Set2") +
labs(color = "Ballot drop box deadline\non myvote.wi.gov\nby polling place")
}
drop_plot(wi)
drop_plot(wi %>% filter(County == "Dane")) + labs(title = "Dane County")
drop_plot(wi %>% filter(County == "Portage")) + labs(title = "Portage County")
drop_plot(wi %>% filter(County == "Racine")) + labs(title = "Racine County")
drop_plot(wi %>% filter(County == "Rock")) + labs(title = "Rock County")
drop_plot(wi %>% filter(County == "Green")) + labs(title = "Green County")
drop_plot(wi %>% filter(County == "Ozaukee")) + labs(title = "Ozaukee County")