Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr
W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.
Ten samouczek ma na celu omówienie sposobu obliczania odległości i namiaru w usłudze LuckyTemplates oraz efektywnego używania ich do analizy geoprzestrzennej .
W sieci można znaleźć wiele wyliczeń odległości. W tej demonstracji użyję uproszczonego przykładu rozwiązania, które musiałem zbudować dla jednego z moich projektów sieci łańcucha dostaw.
Pokażę również obliczenie odległości w linii prostej od magazynu dostawy do punktów serwisowych.
Tutaj mam fragmentator do wybierania odległości za pomocą miary DAX . Pozwala to na dynamiczną analizę klientów, przepływów, wagi, przychodów i dowolnej innej wartości na wybranym dystansie.
Podstawową miarą tego samouczka jest obliczanie odległości po ortodromie, znane również jako wzór Haversine'a . Jeśli opanujesz tę technikę, możesz poradzić sobie z dowolnym wymaganym obliczeniem odległości i namiaru.
Chociaż wolę wykonywać większość obliczeń w dodatku Power Query, wymagane jest użycie miary języka DAX, gdy zachodzi potrzeba dynamicznej analizy danych na podstawie wybranej odległości.
Jeśli jest to możliwe, preferowaną opcją może być rzeczywista odległość. Jednak w wielu przypadkach nie będzie to potrzebne, ponieważ odległość w linii prostej będzie wystarczająca.
Google lub Bing API może służyć do dodawania odległości w Power Query zarówno dla odległości rzeczywistej, jak i odległości w linii prostej. Dobrą praktyką jest posiadanie większej liczby narzędzi w zestawie narzędzi geoprzestrzennych. Jednak stosowanie interfejsu API do usługi LuckyTemplates nie zostanie omówione w tym samouczku.
Spis treści
Zrozumienie scenariusza
Zostałem poproszony o pomoc w przydzieleniu najbliższych firmowych paczkomatów do adresów domowych inżynierów serwisu.
Inżynierowie serwisowi pracowali w predefiniowanych obszarach roboczych, które mogły zmieniać się w czasie i rozpoczynali tę pracę z domu.
W nocy nastąpiło uzupełnienie pilnych części zamiennych do paczkomatów. Następnego ranka inżynier zbierał części zamienne z paczkomatu w drodze do swojego obszaru roboczego.
Zwykle używam oprogramowania GIS (Geographic Information System) do przeprowadzania tego rodzaju analiz. Ale teraz spróbuję to zrobić za pomocą usługi LuckyTemplates, aby uzyskać model alokacji dynamicznej. Użyłem również zarówno odległości w linii prostej, jak i obliczeń namiaru.
W GIS kąt namiaru jest używany do nawigacji lub wyznaczania kierunku. W tym przykładzie dodałem łożysko przekonwertowane na kierunek ( Orientacja ), ponieważ sama odległość nie oferuje pełnego rozwiązania.
Najbliższy paczkomat może znajdować się w kierunku przeciwnym do obszaru roboczego. Chciałem więc również wyświetlić kierunek.
Pozwala to na ograniczenie wyboru przydziału szafek w oparciu o odpowiednie nagłówki geograficzne z obszarem roboczym.
Na przykład obszar roboczy znajduje się na północ od jego domu. Tak więc preferowana lokalizacja paczkomatu powinna znajdować się w tym samym kierunku.
Analiza zestawu danych odległości i namiaru
W tym uproszczonym przykładzie zbiór danych obejmuje adresy w Holandii oraz lokalizacje bezpłatnych paczkomatów.
Zawiera kolumny dla szerokości i długości geograficznej (do iz ) , magazynu , nazwy , wartości części i popytu .
Do tabeli początkowej przylegają kolumny obliczeniowe i obliczenia odległości w programie Excel. Najpierw obliczyłem radiany.
Następnie stworzyłem rzeczywiste obliczenia odległości zarówno dla mil, jak i kilometrów, używając radianów i wzoru Haversine'a .
Obliczanie odległości i namiaru: tworzenie danych demonstracyjnych
Obliczenia dla łożyska początkowo dają liczbę dziesiętną w stopniach. Muszę więc przerobić to na coś bardziej praktycznego.
Stworzyłem kolumnę tabeli ze stopniami od 1-360. Dodałem również kolumnę na kierunki zgodnie z kompasem.
Ponadto dodałem kolumnę SORT do sortowania kierunków zgodnie z ruchem wskazówek zegara w LuckyTemplates.
Następnie załadowałem zestaw danych sourceNL i tabelę Orientation w Power Query.
Rzućmy okiem na tabelę sourceNL .
Dodawanie kolumn
Najpierw dodałem kolumnę Index . Za każdym razem, gdy wykonuję przekształcenia w edytorze, dodaję kolumnę indeksu w celach informacyjnych lub sortowania.
Następnie zaokrągliłem szerokość i długość geograficzną do 4 cyfr , co jest ważne przy większych zbiorach danych. W ten sposób zwróci dokładność 11 metrów , co wciąż jest wystarczające.
Na potrzeby tego przykładu dodałem każdy krok w osobnej kolumnie obliczeniowej, aby pokazać mapę. Obliczyłem radiany wartości szerokości i długości geograficznej, tak jak zrobiłem to w Excelu.
Następnie zastosowałem wzór Haversine'a , aby obliczyć odległości zarówno w milach, jak i kilometrach.
Łożysko I Orientacja
W przypadku łożyska obliczenie to kolejna formuła, którą wziąłem z sieci. Po prostu zmodyfikowałem go nieco, aby pasował do moich celów w tym scenariuszu .
Początkowo to obliczenie jest w radianach. To zupełnie bezużyteczne. Więc muszę to przekonwertować.
To jest krok wstępny łożyska . Ma to na celu przekształcenie radianów w następny krok moich obliczeń.
W następnym kroku zmieniłem liczby ujemne i poprawiłem je, stosując to obliczenie.
Następnie zaokrągliłem Łożysko, aby uzyskać liczbę całkowitą.
Usunąłem kolumny Bearing (rad) , Bearing pre i Bearing . Następnie zmieniłem nazwę kolumny Naar boven afronden na Bearing Roundup .
Mogę teraz scalić kolumnę Zaokrąglenie łożyska w tej tabeli z kolumną BEARING z tabeli Orientacja .
Robiąc to, byłbym w stanie uzyskać kierunek.
Teraz mam kolumny namiaru ( Bearing Roundup ) i kierunku ( Orientation_Direction ), których użyję w następnym modelu.
Oto wynik w dodatku Power Query.
Skrypt R do obliczania odległości i namiaru
W tym przypadku użyję rozwiązania ze skryptem R. To jest zestaw danych z obliczonymi odległościami w milach i kilometrach.
Używam tego skryptu R , który jest znacznie krótszy i czystszy niż formuły.
Po uruchomieniu skryptu R mam teraz 3 tabele.
Oto dane wyjściowe. też zaokrągliłem.
Jak widać, wyniki obliczeń skryptu R i obliczeń Excela są podobne.
Dodawanie wizualizacji mapy
Na koniec dodam wizualizację do wyniku końcowego.
Aby to zrobić, powtórzyłem kroki w raporcie LuckyTemplates . Załadowałem tabelę z 3 lokalizacjami. Załadowałem również tabelę Orientation i zestaw danych ( selectionNL ) z kolumną Sort . Następnie połączyłem kolumny dla Orientation .
To kończy ostateczny model.
Analiza geoprzestrzenna — nowy kurs na temat LuckyTemplates
Wizualizacje danych LuckyTemplates — mapy dynamiczne w etykietkach narzędzi
Wizualizacja mapy kształtów usługi LuckyTemplates do analizy przestrzennej
Wniosek
W tym raporcie zdecydowałem się pokazać kierunek widziany przez klienta. Możesz to odwrócić lub pokazać oba w swoim raporcie, w zależności od preferencji. Wszystko, czego potrzeba , to zamienić zi do szerokości i długości geograficznej w obliczeniach.
Mamy nadzieję, że ten samouczek przyczynił się do lepszego zrozumienia ogólnych obliczeń odległości i namiaru.
Sprawdź poniższe łącza, aby uzyskać więcej przykładów i powiązanych treści.
Dzięki!
Paweł
W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.
Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.
Z tego samouczka dowiesz się, jak ocenić wydajność kodów DAX przy użyciu opcji Uruchom test porównawczy w DAX Studio.
Czym jest self w Pythonie: przykłady z życia wzięte
Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.
Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.
W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.
W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.
Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.
Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.