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 dzisiejszym poście na blogu chcę porozmawiać o opowiadaniu historii opartym na danych i projektowaniu w działaniu. Byłem jednym z prelegentów niedawno zakończonego szczytu Data Visualization 2022, zaprezentowanego przez LuckyTemplates w maju zeszłego roku.
W moim temacie chciałem znaleźć coś wystarczająco interesującego dla osób, które śledziły na platformie edukacyjnej LuckyTemplates, ale jednocześnie stworzyć coś wartościowego dla osób, które nie zapisały się na mój kurs lub nie są członkami LuckyTemplates.
Jak więc znaleźć historię, którą chciałem opowiedzieć na mojej sesji? Cóż, spojrzałem na to z perspektywy słuchaczy, prelegentów i organizatorów . Pomyślałem, że byłoby naprawdę fajnie, gdybym mógł uzyskać więcej informacji na temat tego szczytu. Musiałem dowiedzieć się więcej o innych osobach prezentujących i znaleźć sposób, aby podążać za nimi.
W ten sposób znalazłem tę historię. Chciałem stworzyć coś, w czym będę mógł pokazać szczyt z perspektywy publiczności, mówcy i organizatora.
Spis treści
Potrzeby biznesowe przed, w trakcie i po szczycie
Jeśli jesteś mówcą, chcesz poznać opinie odbiorców. Jeśli jesteś organizatorem wydarzenia, chcesz wiedzieć, ile osób przyjeżdża na szczyt i jakie prezentacje są dla nich najbardziej wartościowe.
Istnieje wiele wartości, które możemy uzyskać z informacji zwrotnych. Im więcej organizator będzie wiedział, czego chce publiczność, tym więcej publiczność wyniesie ze szczytu. Dla mnie był to idealny temat do podjęcia i przedstawienia dzisiaj.
Podsumowałem potrzeby uczestników i organizatorów, a także odnotowałem różne momenty, których publiczność będzie potrzebować na szczycie.
Pomyślałem, że dla słuchaczy bardzo cenna będzie aplikacja lub raport, który będzie wykorzystany w trzech różnych momentach: przed szczytem , w trakcie szczytu i po szczycie .
Przed szczytem
Przed szczytem bardzo ważne jest, aby słuchacze mieli informacje o prelegentach i sesjach. Musisz wiedzieć, kiedy zostanie zaprezentowany i przez kogo zostanie zaprezentowany. Chcesz także znaleźć więcej informacji o mówcy. Bardzo ważny jest również harmonogram. Chcesz wiedzieć, kiedy będą odbywać się sesje w Twoim czasie lokalnym.
Podczas szczytu
Następnie musisz przygotować i zaplanować swój program. Oznacza to, że podczas szczytu sprawdzisz wszystkie sesje i zobaczysz, w których chcesz wziąć udział.
Będziesz chciał przekazać opinię od razu po każdej sesji i podać zalecenia dotyczące następnych sesji. Możesz także połączyć się z prelegentem na LinkedIn lub Twitterze.
Po szczycie
Po zjeździe będziesz chciał przekazać ogólną opinię na temat całego zjazdu i powiedzieć organizatorom, czy Twoje oczekiwania zostały spełnione, czy nie. A jeśli nie, będziesz chciał dać im znać, dlaczego się nie spotkali. Możesz również zaproponować pomysły na ich przyszłe szczyty.
Z punktu widzenia organizatorów interesują Cię ogólne opinie po szczycie i rekomendacje dotyczące przyszłych tematów. Chcesz zidentyfikować nowych prelegentów i obliczyć wpływ szczytu na uczestników.
Prawdopodobnie będziesz chciał utworzyć raport, który można udostępnić w swoich zespołach, a na podstawie danych zawartych w raporcie możesz prowadzić dyskusje na temat organizacji wydarzenia lepszego niż to, które właśnie się zakończyło.
Musimy stworzyć coś, co będzie w stanie odpowiedzieć na te potrzeby podczas szczytu. To, czego potrzebujesz, to mieć coś na komórkę i łatwo dostępne, aby uczestnicy mogli od razu znaleźć link do sesji.
W oparciu o te potrzeby, jak możesz stworzyć historię? Nie mówimy tylko o raporcie usługi LuckyTemplates lub raporcie usługi Power Apps. Mówimy o ekosystemie. Te ekosystemy mają różne potrzeby w różnych momentach, ale są też ze sobą powiązane. To jest historia, którą chcę dzisiaj opowiedzieć.
Budowa ekosystemu
Po pierwsze, musimy zaplanować. Musimy dokładnie wiedzieć, co chcemy stworzyć, i stworzyć to w taki sposób, aby można było wykorzystać to do innych rzeczy.
Aby więc odpowiedzieć na potrzeby, o których mówiłem wcześniej, musimy stworzyć aplikację Power Apps , która stanie się punktem wprowadzania danych, który pomoże uczestnikom szczytu i udzieli im głosu.
Nasze tabele wymiarów: identyfikator użytkownika i identyfikator głośnika
W oparciu o tę aplikację stworzymy raporty wizualizujące dane zwrotne ze szczytu. Oznacza to, że raport usługi LuckyTemplates będzie musiał łączyć się z danymi tworzonymi przez aplikację.
Tutaj możesz mieć duży wpływ jako projektant — musisz stworzyć aplikację w taki sposób, aby dane były uporządkowane i ułatwiały tworzenie raportów w LuckyTemplates.
Zaczynamy od środka i zastanawiamy się, jakie dane wygeneruje aplikacja. Będziemy musieli stworzyć łatwy model danych i stworzyć aplikację, która będzie odpowiadać określonym potrzebom. Nie mówimy o stworzeniu jednego raportu; mówimy o pełnym ekosystemie.
Zapisałem swoje pomysły w pliku Excel i zacząłem je wcielać w życie. Stworzyłem różne zakładki i różne tabele, które muszą być używane przez Power Apps.
Aby stworzyć aplikację używającą przed, w trakcie i po, potrzebuję historii użytkowników. Stworzyłem więc tabelę dla identyfikatora użytkownika i zacząłem od identyfikatora użytkownika, nazwy użytkownika, hasła, wieku, kraju i poziomu doświadczenia w usłudze LuckyTemplates.
Oczywiście potrzebuję też innej tabeli dla Speaker ID z informacjami o prelegentach, ich tytułem, tematem, dniem, godziną, zdjęciem, linkiem YouTube, adresem LinkedIn i identyfikatorami LuckyTemplates.
Nie chciałem pytać ludzi o ich dokładny wiek, ponieważ nie jest to najważniejsza rzecz w tej aplikacji, a także o zachowanie poufności ich informacji.
Zamiast tego poprosiłem o przedział wiekowy, aby zorientować się, ile lat mają uczestnicy tych sesji.
Identyfikator użytkownika i identyfikator prelegenta to wymiary, których będę potrzebować później w usłudze LuckyTemplates. Potrzebuję również tabeli faktów , w której połączę identyfikator użytkownika z identyfikatorem prelegenta, aby utworzyć strony planowania i opinii na temat sesji.
Zaletą tego pliku jest to, że mam prawdziwe dane. Mam wszystkich prelegentów na szczyt w odpowiedniej kolejności, z odpowiednimi tematami i odpowiednim opisem.
To tylko po to, aby pokazać prototyp tego, jak taka aplikacja wyglądałaby dla LuckyTemplates. Dlatego chciałem zajść jak najdalej.
Mamy tutaj Planning , czyli tabelę faktów w LuckyTemplates, w której mogę tworzyć relacje i mieć informacje o User ID i Speaker ID.
Następnie mamy opinię mówcy , która jest drugą tabelą faktów z identyfikatorem użytkownika, identyfikatorem mówcy, oceną sesji, opinią, jaką dana osoba przekaże sesji, użytkownikami oglądającymi tę sesję na żywo lub nie oraz dane, na które patrzą.
Są to elementy, którymi można łatwo zarządzać w usłudze LuckyTemplates, mając tylko jedną dużą tabelę faktów.
Dość łatwo jest wyobrazić sobie model danych w usłudze LuckyTemplates, gdy masz wymiary i tabelę faktów.
Strona z opiniami to ogólna opinia o zjeździe, na której nie ma związku między identyfikatorem użytkownika a identyfikatorem prelegenta.
Mamy tutaj informacje takie jak ogólne wrażenia ze szczytu, ulubiona część szczytu, sugestie ulepszeń, możliwość powrotu i wiele innych.
I ostatnia rzecz to krajowa strefa czasowa. Jeśli przejdziesz na stronę szczytu LuckyTemplates, zobaczysz informacje o czasie sesji w Los Angeles, Nowym Jorku, Londynie, Sydney i Oakland.
Chciałem pójść o krok dalej, obliczając dokładny czas sesji w Twoim czasie lokalnym, łącząc się z aplikacją.
Taką strukturę aplikacji chciałem stworzyć, którą można wykorzystać w raportach LuckyTemplates i Power Apps.
Muszę też upewnić się, że nie będziemy mieć duplikatów. W tym momencie ważna jest jakość danych.
Jeśli nie masz jakości danych w źródle danych, później napotkasz problemy z wizualizacjami.
Tworzenie aplikacji na szczyt EDNA
To jest ogólna aplikacja. Pokażę Ci każdą stronę, jak działa i jak działa dynamicznie. Pokażę również ciekawe wskazówki projektowe, które dodałem w aplikacji.
Zacząłem od strony powitalnej . Jak widać, zastosowałem tę samą strukturę, motyw i kolory LuckyTemplates.
Ten tymczasowy ekran to pierwsze doświadczenie. Gdy połączysz się z tą aplikacją, będziesz mieć to przez kilka sekund, a następnie zmieni się na stronę logowania.
Aby zalogować się, musisz podać nazwę użytkownika i hasło lub utworzyć konto. Kiedy utworzysz konto i zarejestrujesz się, informacje te zostaną dodane do danych w naszym pliku Excel.
Po zarejestrowaniu się przechodzimy do głównej części aplikacji, na którą składa się galeria ze wszystkimi prelegentami sesji. Dla każdej sesji data, godzina i godzina są prezentowane w czasie lokalnym. Podana jest również nazwa i temat.
Jeśli chcesz przejść do bardziej szczegółowych informacji, możesz kliknąć sesję, aby uzyskać więcej informacji, takich jak tytuł, godzina, data i podsumowanie sesji. Jeśli uznasz to za interesujące, możesz kliknąć Zapisz , aby zapisać tę sesję na później.
Gdy przejdziesz do strony Planowanie, możesz zobaczyć wszystkie zapisane sesje.
Możesz stąd usunąć sesję lub przesłać opinię. Możesz wystawić ocenę lub napisać opinię . Po kliknięciu Prześlij informacja ta zostanie zapisana w źródle danych, którym w naszym przypadku jest nasz plik Excel.
Jak widać, ogólne wrażenia użytkownika są bardzo przyjemne. Tworzy wartość dla użytkownika, a jednocześnie zapewnia wartość dla organizatorów, którzy będą wykorzystywać te dane w LuckyTemplates.
Generuje również ogólne opinie na temat szczytu. Oto strona, na której możesz opisać swoje ogólne wrażenia, ulubioną część, sugestie itp.
Hierarchia układu: ułatwienie nawigacji
Tworzenie aplikacji na urządzeniach mobilnych różni się od tych tworzonych w raporcie usługi LuckyTemplates. Jest inny, ponieważ nie używasz ich w ten sam sposób.
Układ wewnątrz aplikacji jest inny, ponieważ podczas korzystania z komputera lub tabletu ludzie mają tendencję do przeglądania strony od lewego górnego rogu do prawej, a następnie podążają za czymś w rodzaju wzoru Z lub wzoru H. Pierwszą rzeczą, którą zobaczą, jest lewy górny róg, a ostatnią część prawy dolny róg.
Inaczej jest w przypadku aplikacji na telefon, jak widać na poniższym obrazku. Zielona część to miejsce, w którym kciuk będzie miał łatwy przepływ, pomarańczowa część jest nieco rozciągliwa, a czerwona część jest najtrudniej dostępna.
Na tej podstawie stworzysz layout aplikacji. Zaletą aplikacji jest to, że masz dużo przykładów i na ich podstawie możesz stworzyć coś podobnego.
Trzy części aplikacji
Więc w zasadzie masz trzy części w aplikacji. Podstawową częścią jest galeria, którą można przewijać kciukiem i wybierać informacje.
Drugą częścią są zakładki. Są to przyciski używane do poruszania się po aplikacji.
Trzecia część – z którą będziesz miał najmniejszą interakcję – to tytuł szczytu, konto profilu lub funkcja wyszukiwania.
Podczas tworzenia aplikacji na telefon istnieją pewne najlepsze praktyki projektowe, które można stosować zarówno w usłudze LuckyTemplates, jak i w usłudze Power Apps. Po uzyskaniu dobrego poziomu zrozumienia usługi LuckyTemplates i Power Apps przekonasz się, że dobry interfejs użytkownika i interfejs użytkownika są ważniejsze podczas pracy na małym ekranie.
Najlepsze praktyki projektowe
Ogranicz liczbę kliknięć
Musisz ograniczyć liczbę kroków lub liczbę kliknięć w LuckyTemplates . Ogranicz liczbę informacji, o które prosisz, lub poproś tylko o informacje, których potrzebujesz w danym momencie, kiedy ich potrzebujesz.
Musisz wykorzystać informacje, które są już dostępne, aby móc wykorzystać odpowiedzi udzielone przez użytkowników.
Last but not least, kiedy tworzysz aplikacje (mówimy tutaj o wprowadzaniu danych), musisz sprawdzić informacje, które zostały zapisane.
Uzupełniaj automatycznie, gdy to możliwe, i upewnij się, że użytkownik nie wykonuje dodatkowych kliknięć, więc upewnij się, że wprowadzone informacje są prawidłowe.
Postępuj zgodnie z prawem Jakoba i prawem Pareto
Prawo Jakoba mówi, że użytkownicy będą woleli, aby Twoja aplikacja działała w taki sam sposób, jak inne ich aplikacje . Poniżej znajduje się przykład najczęściej używanych aplikacji na świecie: WhatsApp , Messenger i Kontakty .
Mamy podobne doświadczenia w aplikacjach, które stworzyłem. Na środku mamy galerię, na dole przyciski, a na górze wyszukiwarkę lub kontakty.
Prawo Pareto mówi, że 80% skutków wynika z 20% przyczyn. Ta sama zasada działa w UX i UI w tym sensie, że trzeba włożyć wysiłek w funkcje, które są najbardziej wartościowe dla użytkownika.
Nie musisz tworzyć wszystkich funkcji w aplikacji, ale funkcje, które musisz utworzyć, muszą być naprawdę dobrze zaimplementowane i dobrze przetestowane.
W końcu nie chcesz zbyt wielu opcji w aplikacji, ponieważ jeśli stanie się skomplikowana, nie będzie używana.
Użyj objaśnień
Użyj objaśnień, aby wskazać użytkownikowi, co ma dalej robić. Na przykład, jeśli chcesz coś kupić, widzisz przycisk kupowania w innym kolorze, aby przyciągnąć Twoją uwagę. Jest to wskaźnik następnego kroku, który musisz wykonać.
Pokaż projekt stanu aktywnego
Jeśli chodzi o nawigację, musisz wskazać, gdzie znajduje się użytkownik na konkretnej stronie. Jeśli nie wiedzą, gdzie się znajdują w aplikacji, nie jest to dobre doświadczenie użytkownika.
Podaj stany zawisu
Służy do przycisków. Gdy najedziesz kursorem na przycisk, zobaczysz, że jest aktywny. Efekt najechania kursorem daje użytkownikom wyraźny sygnał, aby zobaczyć, co można kliknąć, i mówi im, co kliknąć.
Używaj zrozumiałych etykiet
Etykiety sprawią, że projekt będzie bardziej dostępny, a informacje będą namacalne i przydatne dla użytkowników. Słowa, których będziesz używać, muszą być jasne dla użytkownika, aby wiedział, co chcesz, aby zrobił.
Zapewnij przystępne kolory/etykiety
Musisz używać kolorów i etykiet, które są dostępne pod względem rozmiaru, kontrastu i porcji.
Przewiduj zachowanie użytkowników
W aplikacji musisz przewidywać zachowanie użytkownika. Musisz przewidzieć każde kliknięcie i każde pytanie, które zada użytkownik.
Przeprowadź testy użyteczności
Musisz przetestować to, co wdrażasz, i poświęcić czas na wykonanie wszystkich niezbędnych testów. Czasami będziesz musiał zaangażować innych użytkowników, którzy nie znają Twojej aplikacji, aby przyjrzeli się, jak z niej korzystają.
Oto najlepsze praktyki w projektowaniu aplikacji. Przejdźmy teraz do aplikacji i zobaczmy te najlepsze praktyki w działaniu.
Jestem teraz w aplikacji i po prostu nacisnę Start . Uruchomienie pierwszej strony trwa zaledwie kilka sekund. To dlatego, że mam włączony minutnik na dwie sekundy.
Kiedy licznik osiągnie dwie sekundy, przejdzie do mojego drugiego ekranu i utworzy przejście.
Jesteśmy na stronie logowania.
Wprowadzimy nazwę użytkownika i hasło, aby połączyć się z tą aplikacją. W tej chwili aplikacja działająca w tle zachowa informacje o Twoim identyfikatorze użytkownika.
Te informacje pochodzą już z istniejącej tabeli User ID, ale co się stanie, jeśli dodamy nowego użytkownika? Przekonajmy się, wracając do strony logowania i tworząc konto.
Wpiszę Alex B jako nazwę użytkownika i test123 jako hasło, a następnie zarejestruję się. Możesz zobaczyć, że identyfikator użytkownika został utworzony automatycznie.
Musisz zwrócić uwagę na wszystkie problemy, jeśli chodzi o wprowadzanie danych. Od Ciebie jako twórcy aplikacji zależy przewidywanie tych problemów i tworzenie rozwiązań, które pozwolą ich uniknąć.
Wracając do aplikacji, mam listę wszystkich prelegentów sesji i widzę, że godziny są liczone według mojego czasu lokalnego.
Powiedzmy, że chcemy wziąć udział w sesji Sama McKaya. Kiedy klikamy link, widzimy, że tuż pod jego zdjęciem znajduje się link Kliknij, aby otworzyć wideo .
Jeśli użytkownik kliknie w ten link, zostanie przekierowany do filmu YouTube, który umieściłem w pliku.
Ale kiedy przechodzimy do profilu Mudassira Ali, nie możemy wchodzić w interakcję z przyciskiem Kliknij, aby otworzyć wideo . Jest to przykład wyświetlania informacji tylko wtedy, gdy są one dostępne do wyświetlenia.
W tym przypadku nie mam wideo z sesji Mudassira Ali, dlatego nie pokazuję linku Kliknij, aby otworzyć wideo .
Powiedzmy, że chcemy uczestniczyć w sesji Sama McKaya i klikamy przycisk Zapisz . Po zapisaniu możemy zobaczyć, że strona ma przycisk Cofnij zapisanie , a mówca Sam McKay jest podświetlony.
Ma to na celu zapewnienie kontekstu, ponieważ chcemy wiedzieć, że użytkownik wybrał sesję Sama. Od razu widać, że ta sesja jest aktywna i że można ją usunąć. Jeśli chcesz usunąć, możesz to zrobić tutaj – nie musisz wykonywać dodatkowego kliknięcia, aby cofnąć zapisanie.
Kolejną funkcjonalnością jest możliwość połączenia się z prelegentem za pomocą przycisku LinkedIn. Ten przycisk poniżej przekieruje mnie do konta LinkedIn Sama McKaya.
Teraz, gdy mamy zapisane kilka sesji z listy, przechodzimy do Planowania .
Kiedy przejdziemy do Planning , za kulisami dzieje się to, że wszystkie te informacje zostaną zebrane w tymczasowym zbiorze i zostaną zapisane w źródle danych.
Jeśli wrócimy do naszego pliku Excel i przejdziemy do zakładki Planowanie, zobaczymy wszystkie te SpeakerID, co oznacza, że wszystko działa tak, jak oczekiwaliśmy.
Powiedzmy, że nie możemy uczestniczyć w sesji Gustawa Dudka. Możemy kliknąć ten przycisk Usuń . Jeśli spojrzymy na mój plik Excela, zobaczymy, że informacje Gustawa Dudka zniknęły.
Jak powiedziałem wcześniej, dobrze jest mieć stan, w którym pokazuje, gdzie jesteś w nawigacji. Jak widać na dolnych ikonach, jesteśmy na stronie planowania.
Załóżmy, że uczestniczyliśmy w sesji i oceniliśmy ją na cztery gwiazdki na sześć. Te informacje są wstępnie zapisane, więc jeśli zmienimy zdanie, możemy wrócić do nich później, aby zmienić naszą ocenę.
Po obejrzeniu prezentacji na żywo możemy przekazać opinię i dodać emoji, a następnie kliknąć Prześlij .
Kiedy sprawdzimy opinię prelegenta w moim pliku Excel, zobaczysz, jak te informacje wyglądają w formacie HTML.
W przypadku strony opinii możemy nawet ustawić niektóre odpowiedzi jako obowiązkowe jako projektant raportu, ale w tym przypadku tak nie jest.
Kiedy przejdziemy do naszego pliku Excel, możemy zobaczyć wszystkie te informacje zapisane w zakładce Feedback.
Opowiadanie historii danych: przemyślany proces planowania i tworzenia
Twórz raporty usługi LuckyTemplates za pomocą tych technik i przykładów
Wniosek
Umieściłem przyciski w stanie najechania, zminimalizowałem liczbę kliknięć i umieściłem informacje, które są interesujące w tej aplikacji sesyjnej. Mamy nadzieję, że uda Ci się posunąć to dalej dzięki opowiadaniu historii i wiedzy technicznej przy użyciu różnych narzędzi.
Możesz stworzyć ekosystem, a następnie zaspokoić potrzeby różnych odbiorców. Aby czerpać korzyści z ekosystemu Power Platform, musisz wiedzieć, jak korzystać z usług LuckyTemplates, Power Apps i Power Automate. Możesz pracować w środowisku opartym na współpracy i ulepszać to, co robisz, w bardzo zabawny sposób.
Pamiętaj, że ta aplikacja nie istnieje. Istnieje tylko w mojej głowie i jest tylko prototypem. Ale kto wie, może w przyszłości możemy mieć tego typu aplikację dla LuckyTemplates .
Wszystkiego najlepszego,
Alex Badiu
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.