Wprowadzenie
Skrypt pobiera dane o polskich miastach, a następnie rysuje miasta na mapie z uwzględnieniem województwa, do jakiego należy miasto oraz liczby jego mieszkańców.
Aby nanieść punkty na mapę pobierane są (korzystając z GoogleMaps) współrzędne geograficzne miasta.
Ale czy miasta przypisane są do województw zgodnie z jakimś algorytmem?
Sprawdźmy to próbując przypisać je na nowo, na podstawie położenia geograficznego. Sprawdzimy dwa popularne algorytmy - k-NN oraz drzewa decyzyjne.
Setup i pobranie danych
setwd("~/RProjects/miasta")
library(rvest)
library(dplyr)
library(ggplot2)
library(RgoogleMaps)
# czy mamy wcześniej zapisany plik?
if(file.exists("lista_miast.Rdata")) {
# jest plik - wczytujemy plik
load("lista_miast.Rdata")
} else {
# nie ma pliku - trzeba wycztać dane online
# pobranie listy miast z Wikipedii
lista_miast <- read_html("https://pl.wikipedia.org/wiki/Miasta_w_Polsce_(statystyki)") %>%
html_node("table") %>%
html_table()
# porządek w danych
lista_miast <- lista_miast[,1:5]
colnames(lista_miast) <- c("Miasto", "Powiat", "Wojewodztwo", "Powierzchnia", "Ludnosc")
# liczby - usunięcie spacji i przecinki na kropki
lista_miast$Powierzchnia <- gsub("[[:blank:]]", "", lista_miast$Powierzchnia)
lista_miast$Powierzchnia <- gsub(",", ".", lista_miast$Powierzchnia)
lista_miast$Powierzchnia <- as.numeric(lista_miast$Powierzchnia)
lista_miast$Ludnosc <- gsub("[[:blank:]]", "", lista_miast$Ludnosc)
lista_miast$Ludnosc <- as.numeric(lista_miast$Ludnosc)
# odnośniki
lista_miast$Powiat <- gsub("\\[a\\]", "", lista_miast$Powiat)
# weź z GoogleMaps długość i szerokość geograficzną miast
GetLongLat <- function(string) {
t <- getGeoCode(string)
return(c(t["lon"], t["lat"]))
}
lista_miast_cord <- t(sapply(paste(lista_miast$Miasto, lista_miast$Wojewodztwo, "Polska", sep = ", "), GetLongLat))
# złącz współrzędne z listą miast
lista_miast_cord <- as.data.frame(lista_miast_cord)
lista_miast$long <- lista_miast_cord$lon
lista_miast$lat <- lista_miast_cord$lat
# zapisanie listy do pliku
save(lista_miast, file="lista_miast.Rdata")
}
Mapa miast
# narysuj mapkę
ggplot() +
geom_point(data=lista_miast, aes(long, lat, color=Wojewodztwo, size=Ludnosc)) +
theme_minimal() +
labs(x="E", y="N", color="Wojewodztwo", size="Ludność")

Zmiana województw na podstawie położenia miasta
Metoda k-NN
Kod
# w jakim województwie powinno być miasto na podstawie geolokalizacji
# metoda k-NN
library(class)
lista_miast$Woj_pred_knn <- knn.cv(lista_miast[,6:7], lista_miast[,3], 16)
# czy województwo się zmienia?
lista_miast$Woj_zmiana_knn <- lista_miast$Woj_pred_knn!=lista_miast$Wojewodztwo
Mapa
ggplot() +
geom_point(data=lista_miast, aes(long, lat, color=Wojewodztwo, size=ifelse(Woj_zmiana_knn, 5, 1))) +
geom_text(data=lista_miast, aes(long, lat, label=ifelse(Woj_zmiana_knn, Miasto, ""))) +
theme_minimal() +
labs(x="E", y="N", color="Wojewodztwo", size=NULL)

Tabela
Zmiana województwa - metoda k-NN
| 1 |
Góra |
dolnośląskie |
wielkopolskie |
| 2 |
Międzybórz |
dolnośląskie |
wielkopolskie |
| 3 |
Milicz |
dolnośląskie |
wielkopolskie |
| 4 |
Syców |
dolnośląskie |
wielkopolskie |
| 5 |
Twardogóra |
dolnośląskie |
wielkopolskie |
| 6 |
Wąsosz |
dolnośląskie |
wielkopolskie |
| 7 |
Górzno |
kujawsko-pomorskie |
warmińsko-mazurskie |
| 8 |
Janowiec Wielkopolski |
kujawsko-pomorskie |
wielkopolskie |
| 9 |
Kcynia |
kujawsko-pomorskie |
wielkopolskie |
| 10 |
Nowe |
kujawsko-pomorskie |
pomorskie |
| 11 |
Annopol |
lubelskie |
świętokrzyskie |
| 12 |
Dęblin |
lubelskie |
mazowieckie |
| 13 |
Janów Lubelski |
lubelskie |
podkarpackie |
| 14 |
Ryki |
lubelskie |
mazowieckie |
| 15 |
Stoczek Łukowski |
lubelskie |
mazowieckie |
| 16 |
Tarnogród |
lubelskie |
podkarpackie |
| 17 |
Terespol |
lubelskie |
podlaskie |
| 18 |
Dobiegniew |
lubuskie |
zachodniopomorskie |
| 19 |
Drezdenko |
lubuskie |
zachodniopomorskie |
| 20 |
Kostrzyn nad Odrą |
lubuskie |
zachodniopomorskie |
| 21 |
Strzelce Krajeńskie |
lubuskie |
zachodniopomorskie |
| 22 |
Szlichtyngowa |
lubuskie |
dolnośląskie |
| 23 |
Wschowa |
lubuskie |
wielkopolskie |
| 24 |
Biała Rawska |
łódzkie |
mazowieckie |
| 25 |
Błaszki |
łódzkie |
wielkopolskie |
| 26 |
Drzewica |
łódzkie |
mazowieckie |
| 27 |
Krośniewice |
łódzkie |
kujawsko-pomorskie |
| 28 |
Skierniewice |
łódzkie |
mazowieckie |
| 29 |
Wieruszów |
łódzkie |
wielkopolskie |
| 30 |
Biecz |
małopolskie |
podkarpackie |
| 31 |
Brzeszcze |
małopolskie |
śląskie |
| 32 |
Chełmek |
małopolskie |
śląskie |
| 33 |
Kęty |
małopolskie |
śląskie |
| 34 |
Oświęcim |
małopolskie |
śląskie |
| 35 |
Gostynin |
mazowieckie |
kujawsko-pomorskie |
| 36 |
Iłża |
mazowieckie |
świętokrzyskie |
| 37 |
Lipsko |
mazowieckie |
świętokrzyskie |
| 38 |
Łosice |
mazowieckie |
podlaskie |
| 39 |
Mordy |
mazowieckie |
podlaskie |
| 40 |
Myszyniec |
mazowieckie |
warmińsko-mazurskie |
| 41 |
Przysucha |
mazowieckie |
świętokrzyskie |
| 42 |
Szydłowiec |
mazowieckie |
świętokrzyskie |
| 43 |
Namysłów |
opolskie |
dolnośląskie |
| 44 |
Otmuchów |
opolskie |
dolnośląskie |
| 45 |
Paczków |
opolskie |
dolnośląskie |
| 46 |
Baranów Sandomierski |
podkarpackie |
świętokrzyskie |
| 47 |
Cieszanów |
podkarpackie |
lubelskie |
| 48 |
Lubaczów |
podkarpackie |
lubelskie |
| 49 |
Narol |
podkarpackie |
lubelskie |
| 50 |
Pilzno |
podkarpackie |
małopolskie |
| 51 |
Tarnobrzeg |
podkarpackie |
świętokrzyskie |
| 52 |
Zaklików |
podkarpackie |
lubelskie |
| 53 |
Czarne |
pomorskie |
wielkopolskie |
| 54 |
Debrzno |
pomorskie |
wielkopolskie |
| 55 |
Dzierzgoń |
pomorskie |
warmińsko-mazurskie |
| 56 |
Kępice |
pomorskie |
zachodniopomorskie |
| 57 |
Krynica Morska |
pomorskie |
warmińsko-mazurskie |
| 58 |
Ustka |
pomorskie |
zachodniopomorskie |
| 59 |
Krzanowice |
śląskie |
opolskie |
| 60 |
Krzepice |
śląskie |
opolskie |
| 61 |
Kazimierza Wielka |
świętokrzyskie |
małopolskie |
| 62 |
Połaniec |
świętokrzyskie |
podkarpackie |
| 63 |
Sandomierz |
świętokrzyskie |
podkarpackie |
| 64 |
Skalbmierz |
świętokrzyskie |
małopolskie |
| 65 |
Włoszczowa |
świętokrzyskie |
łódzkie |
| 66 |
Zawichost |
świętokrzyskie |
podkarpackie |
| 67 |
Biała Piska |
warmińsko-mazurskie |
podlaskie |
| 68 |
Ełk |
warmińsko-mazurskie |
podlaskie |
| 69 |
Kisielice |
warmińsko-mazurskie |
pomorskie |
| 70 |
Olecko |
warmińsko-mazurskie |
podlaskie |
| 71 |
Dąbie |
wielkopolskie |
łódzkie |
| 72 |
Kłodawa |
wielkopolskie |
kujawsko-pomorskie |
| 73 |
Przedecz |
wielkopolskie |
kujawsko-pomorskie |
| 74 |
Człopa |
zachodniopomorskie |
wielkopolskie |
| 75 |
Dębno |
zachodniopomorskie |
lubuskie |
| 76 |
Wałcz |
zachodniopomorskie |
wielkopolskie |
Metoda drzew decyzyjnych
Kod
# w jakim województwie powinno być miasto na podstawie geolokalizacji
# metoda drzew decyzyjnych
library(rpart)
model <- rpart(Wojewodztwo ~ long + lat, lista_miast)
lista_miast$Woj_pred_rpart <- apply(predict(model,lista_miast[,6:7]), 1,
function(x) names(x)[which(x==max(x), arr.ind = TRUE)])
# czy województwo się zmienia?
lista_miast$Woj_zmiana_rpart <- lista_miast$Woj_pred_rpart!=lista_miast$Wojewodztwo
Mapa
ggplot() +
geom_point(data=lista_miast, aes(long, lat, color=Wojewodztwo, size=ifelse(Woj_zmiana_rpart, 5, 1))) +
geom_text(data=lista_miast, aes(long, lat, label=ifelse(Woj_zmiana_rpart, Miasto, ""))) +
theme_minimal() +
labs(x="E", y="N", color="Wojewodztwo", size=NULL)

Tabela
Zmiana województwa - drzewa decyzyjne
| 1 |
Bierutów |
dolnośląskie |
opolskie |
| 2 |
Głogów |
dolnośląskie |
wielkopolskie |
| 3 |
Góra |
dolnośląskie |
wielkopolskie |
| 4 |
Międzybórz |
dolnośląskie |
opolskie |
| 5 |
Oleśnica |
dolnośląskie |
opolskie |
| 6 |
Syców |
dolnośląskie |
opolskie |
| 7 |
Twardogóra |
dolnośląskie |
opolskie |
| 8 |
Wąsosz |
dolnośląskie |
wielkopolskie |
| 9 |
Grudziądz |
kujawsko-pomorskie |
pomorskie |
| 10 |
Łasin |
kujawsko-pomorskie |
pomorskie |
| 11 |
Mogilno |
kujawsko-pomorskie |
wielkopolskie |
| 12 |
Nowe |
kujawsko-pomorskie |
pomorskie |
| 13 |
Strzelno |
kujawsko-pomorskie |
wielkopolskie |
| 14 |
Tuchola |
kujawsko-pomorskie |
pomorskie |
| 15 |
Dęblin |
lubelskie |
mazowieckie |
| 16 |
Dobiegniew |
lubuskie |
zachodniopomorskie |
| 17 |
Drezdenko |
lubuskie |
zachodniopomorskie |
| 18 |
Gozdnica |
lubuskie |
dolnośląskie |
| 19 |
Iłowa |
lubuskie |
dolnośląskie |
| 20 |
Sława |
lubuskie |
wielkopolskie |
| 21 |
Strzelce Krajeńskie |
lubuskie |
zachodniopomorskie |
| 22 |
Szlichtyngowa |
lubuskie |
wielkopolskie |
| 23 |
Wschowa |
lubuskie |
wielkopolskie |
| 24 |
Biała Rawska |
łódzkie |
mazowieckie |
| 25 |
Drzewica |
łódzkie |
mazowieckie |
| 26 |
Łowicz |
łódzkie |
mazowieckie |
| 27 |
Opoczno |
łódzkie |
mazowieckie |
| 28 |
Rawa Mazowiecka |
łódzkie |
mazowieckie |
| 29 |
Skierniewice |
łódzkie |
mazowieckie |
| 30 |
Tomaszów Mazowiecki |
łódzkie |
mazowieckie |
| 31 |
Wieruszów |
łódzkie |
opolskie |
| 32 |
Andrychów |
małopolskie |
śląskie |
| 33 |
Brzeszcze |
małopolskie |
śląskie |
| 34 |
Chełmek |
małopolskie |
śląskie |
| 35 |
Chrzanów |
małopolskie |
śląskie |
| 36 |
Kęty |
małopolskie |
śląskie |
| 37 |
Libiąż |
małopolskie |
śląskie |
| 38 |
Miechów |
małopolskie |
świętokrzyskie |
| 39 |
Oświęcim |
małopolskie |
śląskie |
| 40 |
Wolbrom |
małopolskie |
świętokrzyskie |
| 41 |
Gąbin |
mazowieckie |
kujawsko-pomorskie |
| 42 |
Gostynin |
mazowieckie |
kujawsko-pomorskie |
| 43 |
Kosów Lacki |
mazowieckie |
podlaskie |
| 44 |
Łosice |
mazowieckie |
podlaskie |
| 45 |
Mordy |
mazowieckie |
podlaskie |
| 46 |
Płock |
mazowieckie |
kujawsko-pomorskie |
| 47 |
Siedlce |
mazowieckie |
podlaskie |
| 48 |
Sierpc |
mazowieckie |
kujawsko-pomorskie |
| 49 |
Sokołów Podlaski |
mazowieckie |
podlaskie |
| 50 |
Węgrów |
mazowieckie |
podlaskie |
| 51 |
Dobrodzień |
opolskie |
śląskie |
| 52 |
Gorzów Śląski |
opolskie |
śląskie |
| 53 |
Kolonowskie |
opolskie |
śląskie |
| 54 |
Olesno |
opolskie |
śląskie |
| 55 |
Otmuchów |
opolskie |
dolnośląskie |
| 56 |
Paczków |
opolskie |
dolnośląskie |
| 57 |
Praszka |
opolskie |
łódzkie |
| 58 |
Ujazd |
opolskie |
śląskie |
| 59 |
Zawadzkie |
opolskie |
śląskie |
| 60 |
Baranów Sandomierski |
podkarpackie |
świętokrzyskie |
| 61 |
Narol |
podkarpackie |
lubelskie |
| 62 |
Nisko |
podkarpackie |
lubelskie |
| 63 |
Nowa Dęba |
podkarpackie |
świętokrzyskie |
| 64 |
Rudnik nad Sanem |
podkarpackie |
lubelskie |
| 65 |
Stalowa Wola |
podkarpackie |
lubelskie |
| 66 |
Tarnobrzeg |
podkarpackie |
świętokrzyskie |
| 67 |
Ulanów |
podkarpackie |
lubelskie |
| 68 |
Zaklików |
podkarpackie |
lubelskie |
| 69 |
Augustów |
podlaskie |
warmińsko-mazurskie |
| 70 |
Dąbrowa Białostocka |
podlaskie |
warmińsko-mazurskie |
| 71 |
Goniądz |
podlaskie |
warmińsko-mazurskie |
| 72 |
Grajewo |
podlaskie |
warmińsko-mazurskie |
| 73 |
Lipsk |
podlaskie |
warmińsko-mazurskie |
| 74 |
Nowogród |
podlaskie |
mazowieckie |
| 75 |
Rajgród |
podlaskie |
warmińsko-mazurskie |
| 76 |
Sejny |
podlaskie |
warmińsko-mazurskie |
| 77 |
Suchowola |
podlaskie |
warmińsko-mazurskie |
| 78 |
Suwałki |
podlaskie |
warmińsko-mazurskie |
| 79 |
Szczuczyn |
podlaskie |
warmińsko-mazurskie |
| 80 |
Dzierzgoń |
pomorskie |
warmińsko-mazurskie |
| 81 |
Krynica Morska |
pomorskie |
warmińsko-mazurskie |
| 82 |
Koniecpol |
śląskie |
świętokrzyskie |
| 83 |
Krzanowice |
śląskie |
opolskie |
| 84 |
Ogrodzieniec |
śląskie |
świętokrzyskie |
| 85 |
Pilica |
śląskie |
świętokrzyskie |
| 86 |
Racibórz |
śląskie |
opolskie |
| 87 |
Szczekociny |
śląskie |
świętokrzyskie |
| 88 |
Kazimierza Wielka |
świętokrzyskie |
małopolskie |
| 89 |
Końskie |
świętokrzyskie |
mazowieckie |
| 90 |
Skarżysko-Kamienna |
świętokrzyskie |
mazowieckie |
| 91 |
Stąporków |
świętokrzyskie |
mazowieckie |
| 92 |
Wąchock |
świętokrzyskie |
mazowieckie |
| 93 |
Działdowo |
warmińsko-mazurskie |
mazowieckie |
| 94 |
Lidzbark |
warmińsko-mazurskie |
kujawsko-pomorskie |
| 95 |
Nidzica |
warmińsko-mazurskie |
mazowieckie |
| 96 |
Dąbie |
wielkopolskie |
łódzkie |
| 97 |
Dobra |
wielkopolskie |
łódzkie |
| 98 |
Grabów nad Prosną |
wielkopolskie |
opolskie |
| 99 |
Kępno |
wielkopolskie |
opolskie |
| 100 |
Kłodawa |
wielkopolskie |
łódzkie |
| 101 |
Koło |
wielkopolskie |
łódzkie |
| 102 |
Ostrzeszów |
wielkopolskie |
opolskie |
| 103 |
Przedecz |
wielkopolskie |
łódzkie |
| 104 |
Sompolno |
wielkopolskie |
łódzkie |
| 105 |
Turek |
wielkopolskie |
łódzkie |
| 106 |
Człopa |
zachodniopomorskie |
wielkopolskie |
| 107 |
Mirosławiec |
zachodniopomorskie |
wielkopolskie |
| 108 |
Tuczno |
zachodniopomorskie |
wielkopolskie |
| 109 |
Wałcz |
zachodniopomorskie |
wielkopolskie |
| 110 |
Złocieniec |
zachodniopomorskie |
wielkopolskie |
Zestawienie obu metod
Miasta wskazane w obu metodach (lub)
Mapa
# proponowane zmiany według obu algorytmów (porównanie)
ggplot() +
geom_point(data=lista_miast, aes(long, lat, color=Wojewodztwo, size=ifelse(Woj_zmiana_knn | Woj_zmiana_rpart, 5, 1))) +
theme_minimal() +
labs(x="E", y="N", color="Wojewodztwo", size=NULL)

Tabela
Porównanie proponowanych zmian
| 1 |
Bierutów |
dolnośląskie |
dolnośląskie |
opolskie |
| 2 |
Głogów |
dolnośląskie |
dolnośląskie |
wielkopolskie |
| 3 |
Góra |
dolnośląskie |
wielkopolskie |
wielkopolskie |
| 4 |
Międzybórz |
dolnośląskie |
wielkopolskie |
opolskie |
| 5 |
Milicz |
dolnośląskie |
wielkopolskie |
dolnośląskie |
| 6 |
Oleśnica |
dolnośląskie |
dolnośląskie |
opolskie |
| 7 |
Syców |
dolnośląskie |
wielkopolskie |
opolskie |
| 8 |
Twardogóra |
dolnośląskie |
wielkopolskie |
opolskie |
| 9 |
Wąsosz |
dolnośląskie |
wielkopolskie |
wielkopolskie |
| 10 |
Górzno |
kujawsko-pomorskie |
warmińsko-mazurskie |
kujawsko-pomorskie |
| 11 |
Grudziądz |
kujawsko-pomorskie |
kujawsko-pomorskie |
pomorskie |
| 12 |
Janowiec Wielkopolski |
kujawsko-pomorskie |
wielkopolskie |
kujawsko-pomorskie |
| 13 |
Kcynia |
kujawsko-pomorskie |
wielkopolskie |
kujawsko-pomorskie |
| 14 |
Łasin |
kujawsko-pomorskie |
kujawsko-pomorskie |
pomorskie |
| 15 |
Mogilno |
kujawsko-pomorskie |
kujawsko-pomorskie |
wielkopolskie |
| 16 |
Nowe |
kujawsko-pomorskie |
pomorskie |
pomorskie |
| 17 |
Strzelno |
kujawsko-pomorskie |
kujawsko-pomorskie |
wielkopolskie |
| 18 |
Tuchola |
kujawsko-pomorskie |
kujawsko-pomorskie |
pomorskie |
| 19 |
Annopol |
lubelskie |
świętokrzyskie |
lubelskie |
| 20 |
Dęblin |
lubelskie |
mazowieckie |
mazowieckie |
| 21 |
Janów Lubelski |
lubelskie |
podkarpackie |
lubelskie |
| 22 |
Ryki |
lubelskie |
mazowieckie |
lubelskie |
| 23 |
Stoczek Łukowski |
lubelskie |
mazowieckie |
lubelskie |
| 24 |
Tarnogród |
lubelskie |
podkarpackie |
lubelskie |
| 25 |
Terespol |
lubelskie |
podlaskie |
lubelskie |
| 26 |
Dobiegniew |
lubuskie |
zachodniopomorskie |
zachodniopomorskie |
| 27 |
Drezdenko |
lubuskie |
zachodniopomorskie |
zachodniopomorskie |
| 28 |
Gozdnica |
lubuskie |
lubuskie |
dolnośląskie |
| 29 |
Iłowa |
lubuskie |
lubuskie |
dolnośląskie |
| 30 |
Kostrzyn nad Odrą |
lubuskie |
zachodniopomorskie |
lubuskie |
| 31 |
Sława |
lubuskie |
lubuskie |
wielkopolskie |
| 32 |
Strzelce Krajeńskie |
lubuskie |
zachodniopomorskie |
zachodniopomorskie |
| 33 |
Szlichtyngowa |
lubuskie |
dolnośląskie |
wielkopolskie |
| 34 |
Wschowa |
lubuskie |
wielkopolskie |
wielkopolskie |
| 35 |
Biała Rawska |
łódzkie |
mazowieckie |
mazowieckie |
| 36 |
Błaszki |
łódzkie |
wielkopolskie |
łódzkie |
| 37 |
Drzewica |
łódzkie |
mazowieckie |
mazowieckie |
| 38 |
Krośniewice |
łódzkie |
kujawsko-pomorskie |
łódzkie |
| 39 |
Łowicz |
łódzkie |
łódzkie |
mazowieckie |
| 40 |
Opoczno |
łódzkie |
łódzkie |
mazowieckie |
| 41 |
Rawa Mazowiecka |
łódzkie |
łódzkie |
mazowieckie |
| 42 |
Skierniewice |
łódzkie |
mazowieckie |
mazowieckie |
| 43 |
Tomaszów Mazowiecki |
łódzkie |
łódzkie |
mazowieckie |
| 44 |
Wieruszów |
łódzkie |
wielkopolskie |
opolskie |
| 45 |
Andrychów |
małopolskie |
małopolskie |
śląskie |
| 46 |
Biecz |
małopolskie |
podkarpackie |
małopolskie |
| 47 |
Brzeszcze |
małopolskie |
śląskie |
śląskie |
| 48 |
Chełmek |
małopolskie |
śląskie |
śląskie |
| 49 |
Chrzanów |
małopolskie |
małopolskie |
śląskie |
| 50 |
Kęty |
małopolskie |
śląskie |
śląskie |
| 51 |
Libiąż |
małopolskie |
małopolskie |
śląskie |
| 52 |
Miechów |
małopolskie |
małopolskie |
świętokrzyskie |
| 53 |
Oświęcim |
małopolskie |
śląskie |
śląskie |
| 54 |
Wolbrom |
małopolskie |
małopolskie |
świętokrzyskie |
| 55 |
Gąbin |
mazowieckie |
mazowieckie |
kujawsko-pomorskie |
| 56 |
Gostynin |
mazowieckie |
kujawsko-pomorskie |
kujawsko-pomorskie |
| 57 |
Iłża |
mazowieckie |
świętokrzyskie |
mazowieckie |
| 58 |
Kosów Lacki |
mazowieckie |
mazowieckie |
podlaskie |
| 59 |
Lipsko |
mazowieckie |
świętokrzyskie |
mazowieckie |
| 60 |
Łosice |
mazowieckie |
podlaskie |
podlaskie |
| 61 |
Mordy |
mazowieckie |
podlaskie |
podlaskie |
| 62 |
Myszyniec |
mazowieckie |
warmińsko-mazurskie |
mazowieckie |
| 63 |
Płock |
mazowieckie |
mazowieckie |
kujawsko-pomorskie |
| 64 |
Przysucha |
mazowieckie |
świętokrzyskie |
mazowieckie |
| 65 |
Siedlce |
mazowieckie |
mazowieckie |
podlaskie |
| 66 |
Sierpc |
mazowieckie |
mazowieckie |
kujawsko-pomorskie |
| 67 |
Sokołów Podlaski |
mazowieckie |
mazowieckie |
podlaskie |
| 68 |
Szydłowiec |
mazowieckie |
świętokrzyskie |
mazowieckie |
| 69 |
Węgrów |
mazowieckie |
mazowieckie |
podlaskie |
| 70 |
Dobrodzień |
opolskie |
opolskie |
śląskie |
| 71 |
Gorzów Śląski |
opolskie |
opolskie |
śląskie |
| 72 |
Kolonowskie |
opolskie |
opolskie |
śląskie |
| 73 |
Namysłów |
opolskie |
dolnośląskie |
opolskie |
| 74 |
Olesno |
opolskie |
opolskie |
śląskie |
| 75 |
Otmuchów |
opolskie |
dolnośląskie |
dolnośląskie |
| 76 |
Paczków |
opolskie |
dolnośląskie |
dolnośląskie |
| 77 |
Praszka |
opolskie |
opolskie |
łódzkie |
| 78 |
Ujazd |
opolskie |
opolskie |
śląskie |
| 79 |
Zawadzkie |
opolskie |
opolskie |
śląskie |
| 80 |
Baranów Sandomierski |
podkarpackie |
świętokrzyskie |
świętokrzyskie |
| 81 |
Cieszanów |
podkarpackie |
lubelskie |
podkarpackie |
| 82 |
Lubaczów |
podkarpackie |
lubelskie |
podkarpackie |
| 83 |
Narol |
podkarpackie |
lubelskie |
lubelskie |
| 84 |
Nisko |
podkarpackie |
podkarpackie |
lubelskie |
| 85 |
Nowa Dęba |
podkarpackie |
podkarpackie |
świętokrzyskie |
| 86 |
Pilzno |
podkarpackie |
małopolskie |
podkarpackie |
| 87 |
Rudnik nad Sanem |
podkarpackie |
podkarpackie |
lubelskie |
| 88 |
Stalowa Wola |
podkarpackie |
podkarpackie |
lubelskie |
| 89 |
Tarnobrzeg |
podkarpackie |
świętokrzyskie |
świętokrzyskie |
| 90 |
Ulanów |
podkarpackie |
podkarpackie |
lubelskie |
| 91 |
Zaklików |
podkarpackie |
lubelskie |
lubelskie |
| 92 |
Augustów |
podlaskie |
podlaskie |
warmińsko-mazurskie |
| 93 |
Dąbrowa Białostocka |
podlaskie |
podlaskie |
warmińsko-mazurskie |
| 94 |
Goniądz |
podlaskie |
podlaskie |
warmińsko-mazurskie |
| 95 |
Grajewo |
podlaskie |
podlaskie |
warmińsko-mazurskie |
| 96 |
Lipsk |
podlaskie |
podlaskie |
warmińsko-mazurskie |
| 97 |
Nowogród |
podlaskie |
podlaskie |
mazowieckie |
| 98 |
Rajgród |
podlaskie |
podlaskie |
warmińsko-mazurskie |
| 99 |
Sejny |
podlaskie |
podlaskie |
warmińsko-mazurskie |
| 100 |
Suchowola |
podlaskie |
podlaskie |
warmińsko-mazurskie |
| 101 |
Suwałki |
podlaskie |
podlaskie |
warmińsko-mazurskie |
| 102 |
Szczuczyn |
podlaskie |
podlaskie |
warmińsko-mazurskie |
| 103 |
Czarne |
pomorskie |
wielkopolskie |
pomorskie |
| 104 |
Debrzno |
pomorskie |
wielkopolskie |
pomorskie |
| 105 |
Dzierzgoń |
pomorskie |
warmińsko-mazurskie |
warmińsko-mazurskie |
| 106 |
Kępice |
pomorskie |
zachodniopomorskie |
pomorskie |
| 107 |
Krynica Morska |
pomorskie |
warmińsko-mazurskie |
warmińsko-mazurskie |
| 108 |
Ustka |
pomorskie |
zachodniopomorskie |
pomorskie |
| 109 |
Koniecpol |
śląskie |
śląskie |
świętokrzyskie |
| 110 |
Krzanowice |
śląskie |
opolskie |
opolskie |
| 111 |
Krzepice |
śląskie |
opolskie |
śląskie |
| 112 |
Ogrodzieniec |
śląskie |
śląskie |
świętokrzyskie |
| 113 |
Pilica |
śląskie |
śląskie |
świętokrzyskie |
| 114 |
Racibórz |
śląskie |
śląskie |
opolskie |
| 115 |
Szczekociny |
śląskie |
śląskie |
świętokrzyskie |
| 116 |
Kazimierza Wielka |
świętokrzyskie |
małopolskie |
małopolskie |
| 117 |
Końskie |
świętokrzyskie |
świętokrzyskie |
mazowieckie |
| 118 |
Połaniec |
świętokrzyskie |
podkarpackie |
świętokrzyskie |
| 119 |
Sandomierz |
świętokrzyskie |
podkarpackie |
świętokrzyskie |
| 120 |
Skalbmierz |
świętokrzyskie |
małopolskie |
świętokrzyskie |
| 121 |
Skarżysko-Kamienna |
świętokrzyskie |
świętokrzyskie |
mazowieckie |
| 122 |
Stąporków |
świętokrzyskie |
świętokrzyskie |
mazowieckie |
| 123 |
Wąchock |
świętokrzyskie |
świętokrzyskie |
mazowieckie |
| 124 |
Włoszczowa |
świętokrzyskie |
łódzkie |
świętokrzyskie |
| 125 |
Zawichost |
świętokrzyskie |
podkarpackie |
świętokrzyskie |
| 126 |
Biała Piska |
warmińsko-mazurskie |
podlaskie |
warmińsko-mazurskie |
| 127 |
Działdowo |
warmińsko-mazurskie |
warmińsko-mazurskie |
mazowieckie |
| 128 |
Ełk |
warmińsko-mazurskie |
podlaskie |
warmińsko-mazurskie |
| 129 |
Kisielice |
warmińsko-mazurskie |
pomorskie |
warmińsko-mazurskie |
| 130 |
Lidzbark |
warmińsko-mazurskie |
warmińsko-mazurskie |
kujawsko-pomorskie |
| 131 |
Nidzica |
warmińsko-mazurskie |
warmińsko-mazurskie |
mazowieckie |
| 132 |
Olecko |
warmińsko-mazurskie |
podlaskie |
warmińsko-mazurskie |
| 133 |
Dąbie |
wielkopolskie |
łódzkie |
łódzkie |
| 134 |
Dobra |
wielkopolskie |
wielkopolskie |
łódzkie |
| 135 |
Grabów nad Prosną |
wielkopolskie |
wielkopolskie |
opolskie |
| 136 |
Kępno |
wielkopolskie |
wielkopolskie |
opolskie |
| 137 |
Kłodawa |
wielkopolskie |
kujawsko-pomorskie |
łódzkie |
| 138 |
Koło |
wielkopolskie |
wielkopolskie |
łódzkie |
| 139 |
Ostrzeszów |
wielkopolskie |
wielkopolskie |
opolskie |
| 140 |
Przedecz |
wielkopolskie |
kujawsko-pomorskie |
łódzkie |
| 141 |
Sompolno |
wielkopolskie |
wielkopolskie |
łódzkie |
| 142 |
Turek |
wielkopolskie |
wielkopolskie |
łódzkie |
| 143 |
Człopa |
zachodniopomorskie |
wielkopolskie |
wielkopolskie |
| 144 |
Dębno |
zachodniopomorskie |
lubuskie |
zachodniopomorskie |
| 145 |
Mirosławiec |
zachodniopomorskie |
zachodniopomorskie |
wielkopolskie |
| 146 |
Tuczno |
zachodniopomorskie |
zachodniopomorskie |
wielkopolskie |
| 147 |
Wałcz |
zachodniopomorskie |
wielkopolskie |
wielkopolskie |
| 148 |
Złocieniec |
zachodniopomorskie |
zachodniopomorskie |
wielkopolskie |
Miasta wskazane w obu metodach (oraz)
Mapa
# proponowane takie same zmiany wg obu algorytmów
ggplot() +
geom_point(data=lista_miast, aes(long, lat, color=Wojewodztwo, size=ifelse(Woj_zmiana_knn & Woj_zmiana_rpart, 5, 1))) +
theme_minimal() +
labs(x="E", y="N", color="Wojewodztwo", size=NULL)

Tabela
Proponowane zmiany według obu algorytmów
| 1 |
Góra |
dolnośląskie |
wielkopolskie |
| 2 |
Wąsosz |
dolnośląskie |
wielkopolskie |
| 3 |
Nowe |
kujawsko-pomorskie |
pomorskie |
| 4 |
Dęblin |
lubelskie |
mazowieckie |
| 5 |
Dobiegniew |
lubuskie |
zachodniopomorskie |
| 6 |
Drezdenko |
lubuskie |
zachodniopomorskie |
| 7 |
Strzelce Krajeńskie |
lubuskie |
zachodniopomorskie |
| 8 |
Wschowa |
lubuskie |
wielkopolskie |
| 9 |
Biała Rawska |
łódzkie |
mazowieckie |
| 10 |
Drzewica |
łódzkie |
mazowieckie |
| 11 |
Skierniewice |
łódzkie |
mazowieckie |
| 12 |
Brzeszcze |
małopolskie |
śląskie |
| 13 |
Chełmek |
małopolskie |
śląskie |
| 14 |
Kęty |
małopolskie |
śląskie |
| 15 |
Oświęcim |
małopolskie |
śląskie |
| 16 |
Gostynin |
mazowieckie |
kujawsko-pomorskie |
| 17 |
Łosice |
mazowieckie |
podlaskie |
| 18 |
Mordy |
mazowieckie |
podlaskie |
| 19 |
Otmuchów |
opolskie |
dolnośląskie |
| 20 |
Paczków |
opolskie |
dolnośląskie |
| 21 |
Baranów Sandomierski |
podkarpackie |
świętokrzyskie |
| 22 |
Narol |
podkarpackie |
lubelskie |
| 23 |
Tarnobrzeg |
podkarpackie |
świętokrzyskie |
| 24 |
Zaklików |
podkarpackie |
lubelskie |
| 25 |
Dzierzgoń |
pomorskie |
warmińsko-mazurskie |
| 26 |
Krynica Morska |
pomorskie |
warmińsko-mazurskie |
| 27 |
Krzanowice |
śląskie |
opolskie |
| 28 |
Kazimierza Wielka |
świętokrzyskie |
małopolskie |
| 29 |
Dąbie |
wielkopolskie |
łódzkie |
| 30 |
Człopa |
zachodniopomorskie |
wielkopolskie |
| 31 |
Wałcz |
zachodniopomorskie |
wielkopolskie |