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.
Jako analitycy danych często musimy grupować i oceniać wartości ze zbioru danych w celu generowania trendów i spostrzeżeń. Jednak nie każdy wie, jak wykonać te zadania w prosty sposób za pomocą usługi LuckyTemplates.
W dzisiejszym blogu przyjrzymy się scenariuszowi, który wymaga rangi LuckyTemplates i niestandardowych funkcji grupowania, aby pokazać, jak dokładnie to zrobić. Możesz obejrzeć pełny film z tego samouczka na dole tego bloga.
W tym samouczku użyjemy tabeli danych z trzema kolumnami, a mianowicie identyfikatory rekordów , priorytety i minuty . Naszym celem jest zidentyfikowanie 5% najlepszych rekordów z priorytetami 1 lub 2 na podstawie maksymalnej liczby minut.
Spis treści
Zestaw danych do tworzenia rankingu i grupowania usługi LuckyTemplates
Tak wygląda zestaw danych w dodatku Power Query. Nie ma atrybutu oddzielania priorytetów 1 i 2 od pozostałych, przez co wymaga od nas użycia funkcji M Table.Partition . Spowoduje to wygenerowanie kolumny pomocniczej do oddzielenia priorytetów 1 i 2 od innych wierszy.
Funkcja usługi LuckyTemplates: Tabela.Partycja
Aby zbadać, jak używać Table.Partition do segmentowania naszych danych, zaczniemy od otwarcia Edytora zaawansowanego .
W oknie, które się pojawi, dodaj nową linię, aby utworzyć nową zmienną. Nazwijmy zmienną Partitions . Dodaj funkcję Table.Partition , która wymaga następujących informacji.
W wierszu 5 zmienimy Source na Partitions , dając nam następujące rozwiązanie.
Kliknij Gotowe, aby zobaczyć, jak wpłynie to na nasz stół. Jak pokazano poniżej, funkcja Table.Partition tworzy listę z dwiema zagnieżdżonymi tabelami .
Kliknięcie w Tabela 1 otwiera tabelę podglądu zawierającą wszystkie rekordy o priorytecie mniejszym niż trzy (priorytety 1 i 2).
Wszystkie pozostałe wiersze znajdują się w Tabeli 2 .
Ponieważ priorytety 1 i 2 są teraz zgrupowane w jednej tabeli, możemy teraz użyć tabeli do obliczenia naszych najlepszych 5%.
Funkcja usługi LuckyTemplates: Table.RowCount
Table.RowCount może służyć do określenia liczby wierszy potrzebnych do spełnienia wymagania 5%. Zliczy liczbę wierszy z priorytetami 1 i 2, a następnie uzyska 5% uzyskanej liczby.
Aby rozpocząć, otwórz okno Edytora zaawansowanego w lewym górnym rogu.
Następnie dodamy nową linię i nową zmienną, którą nazwiemy nRow. Musimy wyodrębnić naszą pierwszą tabelę, kopiując jej nazwę zmiennej Partitions z linii 3.
Następnie użyjemy operatora indeksu pozycyjnego, aby uzyskać dostęp do pierwszego elementu na liście pierwszej tabeli. Następnie zawiń operatora Table.RowCount wokół Partitions(0). Następnie pomnożymy to przez 0,05, aby uzyskać 5%.
Ponadto zaokrąglij liczbę do zera dziesiętnego za pomocą funkcji Number.Round . Na koniec zmienimy ostatnią linię z Partitions na nRow.
Powinno to zwrócić dwa, jak pokazano poniżej.
Wynik oznacza, że aby spełnić wymóg 5%, musimy zaznaczyć dwa wiersze z Tabeli 1. W tym celu możemy skorzystać z nowej funkcji M Table.AddRankColumn.
Funkcja usługi LuckyTemplates: Table.AddRankColumn
W tej sekcji użyjemy funkcji LuckyTemplates Rank do uszeregowania naszych wierszy. Table.AddRankColumn służy do dołączania nowej kolumny rankingu do tabeli na podstawie naszych kryteriów porównania .
Aby rozpocząć, otwórz okno Edytora zaawansowanego . Utwórz tabelę 1 i nazwij ją t1 w nowym wierszu. Następnie użyj Table.AddRankColumn i dodaj naszą pierwszą tabelę Partitions (0). Musimy również przypisać nową nazwę kolumny, którą nazwiemy i.
W przypadku kryteriów porównania chcemy uszeregować minuty od najwyższego do najniższego za pomocą {“Minutes”, Order.Descending} .
Na koniec Dodaj RankKind=RankKind.Ordinal . Wymusi to nadanie wszystkim przedmiotom unikalnego numeru, nawet jeśli zostaną ocenione jako równe. Następnie zmienimy nRow na t1 , aby zwrócić tabelę 1.
Nasze rozwiązanie powinno wyglądać tak.
Kliknij Gotowe, aby uzyskać tabelę podobną do tej.
Dodanie filtra logicznego
Dodamy również filtr boolowski do naszej tabeli, ponieważ nie chcemy już utrzymywać kolumny rank. Zamiast tego chcemy dodać filtr logiczny, aby zidentyfikować tylko dwa górne wiersze, które musimy wykluczyć.
Wróćmy więc do okna Edytora zaawansowanego i dodajmy niestandardową kolumnę. Dodaj nową linię za pomocą funkcji Table.AddColumn i wywołaj nową kolumnę Exclude .
W przypadku generatora kolumn możemy spojrzeć na nowo utworzoną kolumnę, używając każdego i mniejszego lub równego naszej liczbie nRow, czyli liczbie wierszy do wykluczenia. Przypiszemy im również typ danych za pomocą typu logicznego .
Nasze rozwiązanie powinno wyglądać tak.
Kliknij Gotowe, aby uzyskać tabelę podobną do poniższej.
Funkcja LuckyTemplates: Table.RemoveColumns
Nie potrzebujemy już naszej kolumny pomocniczej, więc możemy ją usunąć z naszego stołu.
Tak więc w oknie Edytora zaawansowanego użyjmy metody Table.RemoveColumns i usuńmy kolumnę i .
Następnie kliknij Gotowe .
Łączenie tabel
Stworzyliśmy nową wersję naszej zagnieżdżonej tabeli 1 i musimy utworzyć ten sam układ dla naszej zagnieżdżonej tabeli 2. W przypadku tej tabeli musimy dodać kolumnę wykluczeń, w której wszystkie wartości powinny być równe PRAWDA.
W Edytorze zaawansowanym utwórz nową zmienną o nazwie t2. Dodamy niestandardową kolumnę za pomocą Table.AddColumn i wywołamy Partitions(1) . Następnie dodaj kolumnę Exclude i ustaw kolumnęGenerator jako wartość true, wpisz logiczne .
Chcemy zwrócić t2 , edytując wiersz 13.
Powinniśmy dostać taki stolik.
Ostatnią rzeczą, którą musimy zrobić, to ponownie połączyć te dwie tabele. W oknie Edytora zaawansowanego dodaj nową zmienną o nazwie t, która jest równa t1 & t2 .
Kliknij Gotowe, aby uzyskać nasz stół końcowy, który wygląda jak ten poniżej. Teraz mamy tabelę uszeregowaną i pogrupowaną na podstawie podanych przez nas kryteriów, z górnymi 5% oznaczonymi do wykluczenia.
Analiza rankingowa w usłudze LuckyTemplates: Zaawansowane spostrzeżenia z połączonych zestawów danych
Wizualizacja rankingu w usłudze LuckyTemplates — dynamiczna wizualizacja
Wymiary i grupy usługi LuckyTemplates do filtrowania tabel w raportach
Wniosek
Z tego bloga dowiedziałeś się, jak używać funkcji Table.Partition , Table.AddRankColumn i Table.RemoveColumns w dodatku Power Query. Nasz przykładowy zestaw danych zawiera 44 wiersze priorytetów 1 i 2, które pomyślnie pogrupowaliśmy i uszeregowaliśmy, odpowiednio zaznaczając 5% najlepszych.
Dzięki tej nowo odkrytej wiedzy na temat korzystania z tych funkcji możesz teraz używać funkcji rankingu LuckyTemplates i niestandardowych funkcji grupowania dla swojego następnego zestawu danych.
Wszystkiego najlepszego,
Melissa de Korte
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.