“Wspomóż rozwój naszego Bloga. Kliknij w Reklamę. Nic nie tracisz a zyskujesz naszą wdzięczność … oraz lepsze, ciekawsze TEKSTY. Dziękujemy”
Po danych geograficznych możemy poruszać się za pomocą interaktywnych map, które wyjaśniono w kolejnych częściach. Mapy, do których można nawigować i które można powiększać
W tej ostatniej sekcji stworzymy interaktywne mapy, po których możemy nawigować. To bardzo potężne narzędzie, które można osadzić w projektach języka R, znacznie zwiększając ich wartość i wpływ na odbiorców. Będziemy używać pakietu leaflet do tworzenia tej mapy. Naszym celem jest pokazanie mapy z lokalizacjami wiadomości, które otrzymujemy od naszych klientów z ikonami, które reprezentują typ oceny, jaką otrzymaliśmy za pomocą zmiennej STAR wiadomości i podpowiedzi, które pokazują PROFIT związane z odpowiednim zakupem każdej wiadomości. Nasza funkcja graph_client_messages_interactive() otrzymuje ramki danych client_messages i sales. Podobnie jak na poprzedniej mapie, wszystkie dane zostaną wyświetlone bez żadnych filtrów, więc to wszystko, czego potrzebujemy jako parametry. Pierwszą rzeczą, którą robimy, tak jak to zrobiliśmy wcześniej, jest scalanie danych, tak abyśmy zachowywali tylko obserwacje, które mają skojarzony komunikat. Następnie dodajemy nową zmienną do ramki danych data, która zawiera specyfikację ikony, która będzie używana przez leaflet. Aby to zrobić, używamy funkcji awesomeIcons() (jest częścią pakietu leaflet) i określamy funkcje używane do określenia ikony, koloru znacznika, i powiedzmy, że chcemy, aby nasze ikony były białe i pochodziły z biblioteki ikon ion (http://ioicons.com/). Inne dostępne biblioteki ikon to glyphicon (http://glyphicons.com/) i fa (fontawsome, http://fonrawsome.io/). Ikonę, której szukasz, możesz znaleźć w wymienionych witrynach internetowych. Na koniec zwracamy wykres ulotki, tworząc znaczniki funkcją addAwesomeMarkers(), która otrzymuje obiekt ulotki utworzony z funkcją leaflet() owiniętą wokół naszego data, wzory na długości i szerokości geograficzne, wzór na ikony i wzór na etykiety. Opcjonalnie zawijamy wykres ulotki w addProviderTiles() , aby upewnić się, że w naszej przeglądarce internetowej otrzymamy kafelki (obrazy tła geograficznego). Potrzebujemy tego, ponieważ w chwili pisania tego tekstu istnieje błąd, który nie pokazuje danych geograficznych (tylko znaczniki) w określonych okolicznościach i chcemy uniknąć tego problemu, co możemy łatwo zrobić za pomocą wspomnianej techniki:
graph_client_messages_iteractive <- funtion(client_messages, sales) {
data <- merge(
client_messages,
sales,
„SALE_ID” ,
all.x = TRUE,
all.y = FALSE)
data$ICON <- awesomeIcons(
markerColor = get_icon_color(data),
icon = get_icon(data),
iconColor = ‘white’,
library = ‘io’
)
return(
addProviderTiles(addAwesomeMarkers (
leaflet(data),
~LNG, ~LAT,
ico = ~ICON,
labe; = ~paste(„Profit : „, PROFIT)
), providers$OpenStreetMap)
)
}
Teraz wyjaśnimy funkcje określające ikony i kolory znaczników. Funkcja get_ion_color() otrzyma naszą ramkę danych data i zwróci wektor z łańcuchem znaków, którym jest „green” lub ”red” , w zależności od tego, czy jest powiązany czy nie ze STARS ,gdzie jest większe lub równe 4, lub nie. Robimy to za pomocą funkcji sapply().
get_icon_color <- funtion(data) {
return(sapply(
as.numeric*(data$STARS),
function(stars) {
if (stars >= 4) {
return(„green”)
} else {
retur(„red”)
}
}
))
}
Funkcja get_icon jest bardzo podobna, ale zwróci nazwę żądanej ikony. Otrzymaliśmy te nazwy z witryny internetowej biblioteki ikon ion (wspomniana wcześniej):
get_icon_color <- funtion(data) {
return(sapply(
as.numeric*(data$STARS),
function(stars) {
if (stars >= 4) {
return(„ion-adroid-happy”)
} else {
return(„ion-android-sad”)
}
}
))
}
Teraz możemy łatwo tworzyć interaktywne mapy dla wiadomości naszych klientów przy użyciu następującego kodu. Otworzy przeglądarkę internetową i pokaże mapę, po której możesz się poruszać.
graph <- graph_lient_messages_interactive(client_messages, sales)
print(graph)
Początkowa pozycja mapy pokaże pełne dane geograficzne, jak pokazano na poniższym obrazku. Jak widać, znaczniki zawierają radosną lub smutną twarz, w zależności od oceny, jaką miała każda wiadomość. Ponadto kolor znacznika jest zielony lub czerwony, ponownie w zależności od oceny.
Powiększoną wersję interaktywnej mapy można zobaczyć na poniższym obrazku. W zależności od dostawcy, którego wybierzesz w funkcji addProviderTiles(), otrzymasz różne typy obrazów geograficznych