Last active
June 8, 2025 19:48
-
-
Save pbiecek/addca526069da50eda5eb2bafbf8cb53 to your computer and use it in GitHub Desktop.
wybory2025.R
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| library("readr") | |
| library("dplyr") | |
| library("ggplot") | |
| library("plotly") | |
| ## Rozpakuj pliki z | |
| # "https://wybory.gov.pl/prezydent2025/data/csv/protokoly_po_obwodach_csv.1748955031.zip" | |
| # "https://wybory.gov.pl/prezydent2025/data/csv/protokoly_po_obwodach_w_drugiej_turze_csv.1748955031.zip" | |
| # więcej: https://wybory.gov.pl/prezydent2025/pl/dane_w_arkuszach | |
| tura_1_csv <- "protokoly_po_obwodach_utf8.csv" | |
| tura_1 <- read.table(tura_1_csv, header = TRUE, sep=";") | |
| tura_2_csv <- "protokoly_po_obwodach_w_drugiej_turze_utf8.csv" | |
| tura_2 <- read.table(tura_2_csv, header = TRUE, sep=";") | |
| # Proporcja Trzaskowski do Nawrocki w turze 1 | |
| tura_1$T2N_n1 <- tura_1$TRZASKOWSKI.Rafał.Kazimierz + tura_1$NAWROCKI.Karol.Tadeusz | |
| tura_1$T2N_p1 <- tura_1$TRZASKOWSKI.Rafał.Kazimierz / tura_1$T2N_n1 | |
| # Proporcja Trzaskowski do Nawrocki w turze 2 | |
| tura_2$T2N_n2 <- tura_2$TRZASKOWSKI.Rafał.Kazimierz + tura_2$NAWROCKI.Karol.Tadeusz | |
| tura_2$T2N_p2 <- tura_2$TRZASKOWSKI.Rafał.Kazimierz / tura_2$T2N_n2 | |
| # Połącz dane z obu tur | |
| tura_12 <- left_join(tura_1, tura_2, by = c("Nr.komisji", "Teryt.Gminy", "Teryt.Powiatu")) | |
| # Tylko komisje ponad 250 osób | |
| tura_12_duze <- tura_12[tura_12$T2N_n2 > 250, c("T2N_p1", "T2N_p2", "Siedziba.x")] | |
| p <- ggplot(tura_12_duze, aes(T2N_p1, T2N_p2, text = Siedziba.x)) + | |
| geom_point(size = 1) + | |
| geom_point(data = tura_12[12864, ], color="red", size=3) + | |
| scale_x_continuous("Trzaskowski do Nawrocki - pierwsza tura", labels = scales::percent_format(), lim=c(0,1), expand = c(0,0)) + | |
| scale_y_continuous("Trzaskowski do Nawrocki - druga tura", labels = scales::percent_format(), lim=c(0,1), expand = c(0,0)) + | |
| theme_bw() + ggtitle("Procent głosów oddanych na Trzaskowskiego vs Nawrockiego", | |
| "uwzględniono wyłącznie głosy oddane na tych dwóch kandydatów, pokazano komisje z ponad 250 głosami") | |
| p | |
| # interaktywne etykiety | |
| ggplotly(p, tooltip = "text") | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The code is not yet reproducible. Please add library(dplyr) as you are using left_join.
You can read data directly with fread in data.table, then please add library(data.table).
tura_1 <- data.table::fread("https://wybory.gov.pl/prezydent2025/data/csv/protokoly_po_obwodach_csv.1748955031.zip", check.names = TRUE)
tura_2 <- data.table::fread("https://wybory.gov.pl/prezydent2025/data/csv/protokoly_po_obwodach_w_drugiej_turze_csv.1748955031.zip", check.names = TRUE)