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.
W tym poście na blogu przyjrzymy się bliżej niestandardowej funkcji czyszczenia tekstu, którą stworzyłem dla naszej trwającej serii w telewizji LuckyTemplates o nazwie . Możesz obejrzeć pełny film tego samouczka na dole tego bloga.
W drugim tygodniu mamy trochę niechlujnych danych, które wymagają uporządkowania. Naszym celem jest tutaj wyczyszczenie wszystkich wartości tekstowych w obu kolumnach.
Do tego zadania stworzyłem czystą funkcję tekstową.
Ale najpierw rzućmy okiem na kod M.
Ta funkcja przyjmuje jeden parametr o nazwie myText. Jego wartość powinna być typu tekstowego, a funkcja powinna zwracać wartość tekstową, ponieważ nie wszystkie zmienne wymienione poniżej zwrócą wartość tekstową.
Zadeklarowanie zwracanego typu spowoduje błąd. Aby zapobiec wystąpieniu tego błędu, mogę to teraz skomentować.
Jeśli chcemy zobaczyć, co zwraca pierwsza zmienna, wystarczy odwołać się do niej po nazwie, po klauzuli in. Zamierzam więc skopiować zmienną ToRemove, wkleić ją w dolnym wierszu i nacisnąć OK.
Aby zobaczyć wynik tej funkcji, musimy ją wywołać. Dodajmy więc niestandardową kolumnę do tego zapytania.
Następnie wywołaj naszą funkcję, wybierz tę scaloną kolumnę i naciśnij OK.
Spis treści
Tworzenie list z pustego zapytania
Widzimy teraz, że krok ToRemove tworzy listę. W rzeczywistości jest to połączenie dwóch list.
Pierwsza lista utworzyła znaki cudzysłowu, a druga lista to zakres znaków, które chciałem usunąć.
Jak stworzyłem tę listę?
Cóż, użyłem funkcji o nazwie Txt.ToList.
Dostęp do dokumentacji funkcji wewnętrznych można uzyskać, tworząc puste zapytanie, wprowadzając nazwę funkcji bez nawiasów, a następnie naciskając klawisz Enter.
Widzimy, że Text.ToList zwraca listę wartości znaków z podanej wartości tekstowej.
Wklejmy kilka tekstów i wywołajmy tę funkcję.
Tworzy nowe zapytanie i widać, że ta lista zawiera wszystkie litery, które widzimy tutaj w tekście.
Pamiętacie, że dodałem dodatkową listę, prawda? Połączyłem dwie listy i użyłem do tego znaku ampersand.
Odtwórzmy to teraz. Użyłem ampersandu i inicjatora listy, a następnie wprowadziłem te znaki cudzysłowu.
Widzimy teraz, że cytaty zostały dodane do tej listy, ale dlaczego utworzyłem listę?
Cóż, w następnym kroku mojej funkcji czyszczenia tekstu użyłem funkcji M o nazwie Tekst. Usunąć.
I widzisz, że możesz wprowadzić tekst, a następnie listę znaków, które chcesz usunąć z tego ciągu.
Wróćmy do naszej funkcji czyszczenia tekstu.
Do. Usuń utworzył te dwie listy, a następnie połączył je w jedną listę.
A następnie wklejmy zmienną CleanText. Klauzula „in” wywołuje funkcję M Text.Remove i przekazuje zmienną myText, a następnie wywołuje listę To.Remove. Zobaczmy, co to daje.
Wróćmy do naszego zapytania. To już nie zwraca listy, ale zwraca niektóre wartości tekstowe.
Przycinanie w Power Query
Następnym krokiem jest przycinanie . Jak widać na powyższym obrazku, mamy kilka dodatkowych spacji i końcowy przecinek na końcu, których chcemy się pozbyć. W tym celu możemy skorzystać z funkcji przycinania. Wróćmy do zapytania, aby zbadać kod M.
W kodzie M zagnieździłem 2 funkcje przycinania. Pierwsza funkcja łańcuchowa usuwa dodatkowe spacje z przodu i na końcu naszej zmiennej CleanText.
W przypadku pozostałych tekstów, które mamy, usuniemy również spacje z ciągu wynikowego.
Usuniemy również końcowy przecinek.
Zobaczmy wynik. Zamierzam skopiować nazwę zmiennej, wkleić ją po klauzuli „in” i kliknąć Gotowe. Kiedy odświeżymy nasze zapytanie, zobaczysz, że zniknęły dodatkowe spacje, a końcowy przecinek został usunięty.
W końcowych krokach mojego zapytania właśnie zastąpiłem niektóre wartości tekstowe.
W ostatnim przypadku zastąpiłem to podkreślenie spacją. Skopiujmy to i wklejmy po klauzuli „in”. Ponownie włączyłem również typ zwrotu.
Wróćmy do naszego zapytania i przyjrzyjmy się wynikom – jak na razie jest dobrze!
Teraz nie chcemy tworzyć nowych kolumn, aby wywołać naszą funkcję, prawda? To, co możemy zrobić, to zamiast tego przekształcić naszą kolumnę 1 w naszą kolumnę scalania.
Zamierzam usunąć ten niestandardowy krok kolumny.
Następnie użyję interfejsu użytkownika, aby utworzyć dla nas większość kodu. Na karcie przekształcania wybierz obie kolumny, przejdź do opcji Format i wybierz funkcję.
To naprawdę nie ma znaczenia, która funkcja jest wybrana, ponieważ jest to kod M generowany przez interfejs użytkownika. Możemy teraz zastąpić ten tekst. Dolna funkcja…
… dzięki naszej funkcji czystego tekstu. Mam nadzieję, że rozumiesz, dlaczego musiałem dodać fx z przodu. Nie ma „w funkcji”, które zaczyna się od tego.
Kiedy wciskamy OK, widać, że nasze teksty zostały wyczyszczone. To jest niesamowite.
Wniosek
Dlaczego musieliśmy przejść przez wszystkie problemy z tworzeniem niestandardowej funkcji czyszczenia? Cóż, jeśli prawdopodobnie będziesz musiał powtórzyć ten krok lub użyć podobnej logiki w przyszłości, możesz zapisać to zapytanie funkcyjne.
W ten sposób przyspieszy to tworzenie zapytań na późniejszym etapie. Innym dobrym powodem jest to, że jest to również zabawne.
Mam nadzieję, że podobał Ci się ten samouczek. Jeśli tak, nie zapomnij zasubskrybować kanału LuckyTemplates .
Melisa
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.