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.
Pokażę ci, jak wyodrębnić rekordy ze scalonych danych rozdzielanych w wielu kolumnach . Spowoduje to przekształcenie danych w format bardziej odpowiedni do analizy.
Można to zrobić na kilka sposobów. Ale w tym samouczku skupię się na rozwiązaniu zaproponowanym przez Ankita, który jest częścią naszej społeczności LuckyTemplates. Możesz obejrzeć pełny film tego samouczka na dole tego bloga.
Spis treści
Korzystanie z Text.Split
W przypadku tego rozwiązania zamierzam użyć dodatku Power Query do wyodrębnienia rekordów z rozdzielanych danych.
Poniżej znajduje się tabela Możliwości w dodatku Power Query .
Jak widać, istnieje wiele wartości połączonych w jeden rekord. Na przykład w drugim rzędzie prezentowane są 4 różne wartości. Te 4 wartości są scalane razem w kolumnach Konkurenci i Kwoty konkurentów .
Pierwszą rzeczą, którą zamierzam zrobić, jest użycie Text.Split .
Text.Split zwraca listę po podzieleniu wartości tekstowej na podstawie określonego ogranicznika.
Aby rozpocząć korzystanie z Text.Split , skopiuję separator używany w tej tabeli.
Zauważysz, że gdy kliknę ten wpis w tabeli, wartość rekordu pojawi się na dole. Po prostu skopiuję stamtąd ogranicznik.
Gdy to zrobię, dodam niestandardową kolumnę.
Nie muszę jeszcze zmieniać nazwy. Muszę tylko zrobić Text.Split w Custom Column Formula .
Ta formuła wymaga wartości tekstowej. Po prostu wybiorę kolumnę Konkurenci w prawym okienku i zostanie ona automatycznie dodana do formuły.
Potrzebuję również separatora podanego jako tekst. Tak więc w parze cudzysłowów wkleję ogranicznik, który skopiowałem wcześniej. Następnie dodam nawias zamykający.
Po naciśnięciu OK otrzymam obiekt listy.
Patrząc na pierwszą listę, kolumny Konkurenci i Kwoty pokazują tylko jeden wpis. Więc jeśli kliknę puste miejsce obok obiektu listy w kolumnie Niestandardowe, wyświetli się również pojedyncza wartość na dole.
W przypadku drugiego rekordu mam listę zawierającą cztery wartości. Odpowiada to 4 wartościom pokazanym również w kolumnie Konkurenci i kolumnie Kwoty .
Używając List.Zip
Teraz, gdy podzieliłem listę, następnym krokiem jest dodanie odpowiedniej wartości z kolumny Kwoty konkurencji. Idę do List.Zip , aby to zrobić.
Pomyśl o List.Zip jako o prawdziwym suwaku. Pobiera listę list i łączy elementy.
Patrząc na poniższy przykład, pomyśl o pierwszej liście (1 i 2) jako o zielonej ścieżce na zamku błyskawicznym.
Następnie pomyśl o 3 i 4 jako czerwonym torze.
Po zastosowaniu List.Zip łączą się one w środku. Tak więc 1 z 1. grupy łączy się z 3 z 2. grupy. To samo dzieje się dla 2 i 4. Można to zobaczyć na wyjściu, gdzie powstały dwie nowe grupy.
Może się zdarzyć, że listy, których to dotyczy, mają różną długość . Oznacza to, że w przypadku połączenia list brakujące dane zostaną zwrócone . Aby utworzyć dokładne pary pomimo braku danych, dodawana jest wartość null .
Wracając do tabeli Możliwości , dodam kolejną kolumnę niestandardową.
Tym razem do formuły dodam kolumnę Kwoty konkurenta .
Zamierzam również dodać List.Zip .
Sprawdzanie poniżej pokazuje, że nie wykryto żadnych błędów.
Ale kiedy klikam OK i patrzę na utworzoną nową kolumnę, nadal pojawia się błąd.
Zamierzam kliknąć białe miejsce obok błędu, aby zobaczyć szczegóły. Pokazuje, że otrzymuję błąd, ponieważ zwróciłem kilka argumentów wokół list.
Patrząc na formułę, widać, że ta składnia, w której odwoływano się do kolumny Konkurentów, zwróciła listę.
Jednak składnia kolumn Kwoty konkurenta również zwróciła listę.
Przypominając, co robi List.Zip, pobiera pojedynczą listę list i łączy je .
Widząc, że pojawiają się dwie listy, potrzebuję inicjatora listy, aby połączyć te listy . Dlatego dodaję te nawiasy klamrowe.
Po dodaniu zamykającego nawiasu klamrowego na końcu wystarczy nacisnąć enter. To da mi obiekt listy.
Teraz, kiedy klikam z boku pierwszego rekordu, pokazuje on pojedynczy obiekt listy. To prawda, biorąc pod uwagę, że pod Kwotami konkurencji jest tam naprawdę jedna wartość.
Jeśli zrobię to samo z drugim rekordem, pokaże obiekt listy zawierający 4 listy. Odpowiada to również liczbie wartości w rozdzielanych danych w obszarze Kwoty konkurencji.
Użyję strzałek skierowanych w bok po prawej stronie nagłówka kolumny Niestandardowa, aby rozszerzyć dane do nowych wierszy.
Zwróć uwagę na drugi rekord, gdy rozwinę się do nowych wierszy.
Zobaczysz, że wszystkie wartości z tego rekordu zostaną rozwinięte w dół.
A kiedy klikam z boku w białym polu, widzę zawartość tej zagnieżdżonej listy. Ponieważ pierwszy rekord ma tylko jedną wartość dla każdej kolumny, pokazuję również te same dane na dole.
Ale kiedy kliknę drugi rekord, zobaczysz, że pokazuję tylko pierwszą z 4 wartości podanych w moich rozdzielonych danych.
Na trzecim rekordzie pokazuję kombinację drugich wartości.
Dlatego ponownie użyję strzałek skierowanych w bok. Ale tym razem zamierzam wyodrębnić wartości z tej listy.
Dam mu niestandardowy separator.
Użyję podwójnej rury jako ogranicznika. Powinno to sprawić, że rozróżnienie między wartościami w rozdzielanych danych będzie wyraźniejsze.
Po naciśnięciu OK wartości są łączone bezpośrednio w kolumnie Niestandardowe.
Czyszczenie danych
Nie potrzebuję już kolumn Konkurent i Kwoty konkurenta, więc usunę te kolumny.
Jeśli chodzi o kolumnę niestandardową, podzielę ją.
Na karcie przekształcania wybieram opcję Podziel kolumnę. Podzielę to przez ogranicznik.
W oknie jako podstawę podam podwójną rurę.
Po naciśnięciu OK dane zostaną teraz podzielone na osobne kolumny.
Po prostu zmienię nazwy tych nowych kolumn, aby ułatwić zorientowanie się, czego dotyczą dane. Nazwę to ponownie kolumną Konkurent.
Następnie nazwę drugą kolumnę kolumną Kwota.
Oczywiście kolumna Kwota zawiera liczby. Ale jeśli spojrzysz na ikonę reprezentującą typ danych, zobaczysz, że mam tekst zamiast liczb. Więc zacznę to naprawiać.
Mieszkam w Europie, więc używamy kropki jako separatora tysięcy zamiast przecinka. Zamierzam użyć opcji Zamień wartości, aby to wyczyścić.
W oknie wystarczy umieścić przecinek w polu Wartość do znalezienia i kropkę w polu Zamień na.
Po naciśnięciu OK wszystkie przecinki będą teraz pokazywać kropki.
Następną rzeczą, którą zamierzam zrobić, to usunąć znak dolara przed wartościami. Ponownie użyję narzędzia Zastąp wartości. Tym razem zostawię miejsce na Zamień na puste.
Po naciśnięciu OK wartości będą pokazywać tylko liczby bez waluty.
Patrząc w dół mojej kolumny, pokazuje również wpis tutaj z podwójnym myślnikiem. Ponieważ może to zwrócić możliwy błąd, pozbędę się tego podwójnego myślnika.
Podwójny myślnik zastąpię spacją.
A po naciśnięciu OK mam odpowiedni format dla wszystkich wpisów w kolumnie Kwota.
Mogę teraz kliknąć ikonę typu danych i wybrać liczbę całkowitą.
Zmienianie formatów dat przy użyciu edytora Power Query
3 sposoby łączenia wartości przy użyciu języka DAX Wewnątrz usługi LuckyTemplates
Zaawansowane transformacje w usłudze LuckyTemplates
Wniosek
Jak wspomniałem wcześniej, wartości z rozdzielanych danych można wyodrębniać na różne sposoby. Ale dla mnie to podejście jest jednym z najłatwiejszych i najszybszych sposobów na zrobienie tego.
Ponieważ pomysł na to rozwiązanie dostałem od jednego z członków społeczności , pokazuje to również, jak ważne jest . Naprawdę możesz spojrzeć na każdy problem z wielu różnych perspektyw. Stamtąd możesz po prostu wybrać rozwiązanie, które Twoim zdaniem będzie dla Ciebie najlepsze.
Wszystkiego najlepszego,
Melisa
***** Nauka LuckyTemplates? *****
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.