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 |