Przeglądanie danych geograficznych na statycznych mapach

“Wspomóż rozwój naszego Bloga. Kliknij w Reklamę. Nic nie tracisz a zyskujesz  naszą wdzięczność … oraz lepsze, ciekawsze TEKSTY. Dziękujemy”

Mapy mogą być bardzo przydatnymi narzędziami do zrozumienia danych geograficznych. W tej sekcji stworzymy mapę z pakietem ggplot2. Celem jest pokazanie lokalizacji wiadomości naszych klientów, PRICE związanych z ich zakupami i odpowiednich PROFIT_RATIO. Ten przykład pokaże nam, jak połączyć dane z ramek danych sales i cliet_messages.

Nasza funkcja graph_lient_messages_static() otrzymuje jako parametry  client_messages i sales ramek danych, a to wszystko, czego potrzebuje, ponieważ pokazujemy niefiltrowane (pełne) zestawy danych. Najpierw musimy połączyć nasze dwie ramki danych za pomocą wspólnego identyfikatora, którym jest SALE_ID. W tym celu używamy funkcjimerge() i określamy, że chcemy zachować wszystkie obserwacje w ramce danych x, która jest pierwsza (client_messages) i nie chcemy zachowywać obserwacji z  ramki danych y, czyli drugiej (sales), jeśli nie mają odpowiedniego identyfikatora w pierwszej ramce danych. Dzięki temu możemy zachować tylko te dane, z którymi są skojarzone wiadomości klientów. Następnie tworzymy dane geograficzne mapy z map_data() (jest w pakiecie ggplot2) i filtrujemy je, aby usunąć dowolny region oznaczony jako „ANTARCTICA”. Aby właściwie utworzyć wykres, użyjemy dwóch głównych warstw. Pierwszą z nich są dane geograficzne, które dodaje się funkcją geom_polygo(), wykorzystując dane world_map, określając współrzędne i grupy (grupy definiują krajów) i użyj ciemnych kolorów, aby kontrastować z naszymi kropkami. Druga warstwa to dane wiadomości, które są dodawane za pomocą funkcji geom_point(), używając scalonej ramki danych data, z odpowiednimi współrzędnymi i dodając kolory i rozmiary za pomocą PRICE  i PROFIT_RATIO odpowiednio. Ponieważ w tym przykładzie używamy zmiennej numerycznej do określenia koloru, otrzymamy gradient kolorów zamiast dyskretnych kolorów, jak w poprzednich przykładach. Na koniec określamy rzeczywistą paletę kolorów za pomocą funkcji scale_color_viridis() ustawiamy odpowiednie etykiety osi i sprawiamy, że współrzędne mają równe jednostki za pomocą  funkcji coord_fixed(). Jeśli nie użyjemy tej ostatniej funkcji, możemy uzyskać mapy, które są zdeformowane:

graph_liet_messages_static <- function(cliet_messages, sales) {

data <-merge(

client_message, sales,

„SALE_ID” , all.x = TRUE,

all.y = FALSE

)

world_map <- filter(map_data(„world), region != „Antarctica”)

return(

ggplot() +

geom_polygon(

data = world_map,

aes(long, lat, group = group),

color + „grey60”,

fill = „grey50”

)+

geom_point(

data = data,

aes(LNG, LAT, color = PRICE, size = PROFIT__RATIO)

)+

scale_color_viridis(option = „inferno”) +

ylab(„Latitude”) +

xab(„Logitude”) +

oord_fixed()

)

}

Teraz możemy tworzyć nasze mapy za pomocą następującego wywołania funkcji:

graph_client_messages_static(client_messages, sales)

W ten sposób otrzymasz następujący wykres:

Oczywiście, jeśli chcesz uogólnić tę funkcję, możesz sparametryzować niektóre zmienne używane do specyfikacji wykresu, tak jak to zrobiliśmy w poprzednich przykładach

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *