Manipulacja danymi w R: Co to jest, Zmienne, Korzystanie z pakietu dplyr
Opublikowany: 2020-03-26Spis treści
Wstęp
Poza kadrą i infrastrukturą dane są nowym budulcem każdej firmy. Od dużych korporacji po małe branże, dane są paliwem napędzającym ich działalność. Dane te są powiązane z codziennymi transakcjami biznesowymi, danymi zakupów klientów, danymi sprzedaży, wykresami finansowymi, statystykami biznesowymi, kampaniami marketingowymi i wieloma innymi. Dlatego Tim O'Reilly, założyciel O'Reilly Media powiedział, że wchodzimy w sytuację, w której dane będą ważniejsze niż oprogramowanie.
Ale co zrobić z taką ilością danych? Firmy wykorzystują te dane, aby uzyskać cenny wgląd w swoje wyniki biznesowe. Zatrudniają analityków danych, którzy wykonują manipulacje danymi w języku R , aby nadać sens tym danym. Na przykład zrozumienie danych dotyczących sprzedaży i marketingu za ostatni rok da im wyobrażenie o tym, na czym stoją. Niedawne badanie wykazało, że do 2023 r. rynek analityki danych będzie wart 77,6 mld USD.
Analitycy danych są zatrudniani, aby nadać sens tym danym w procesie zwanym manipulacją danymi.
Co to jest manipulacja danymi?
Manipulacja danymi to proces organizowania danych w celu lepszego ich odczytania i zrozumienia. Na przykład urzędnicy firmy mogą uzyskiwać dane klientów ze swoich systemów i dzienników pokładowych. Przeważnie dane te będą przechowywane w oprogramowaniu CRM (Customer Relationship Management) i arkuszach Excel. Ale może nie być właściwie zorganizowany. Manipulowanie danymi obejmuje sposoby organizowania wszystkich tych danych, na przykład według kolejności alfabetycznej.
Dane można sortować według daty, godziny, numeru seryjnego lub dowolnego innego pola. Osoby w dziale księgowości firmy wykorzystują dane do określania trendów sprzedaży, preferencji użytkowników, statystyk rynkowych i cen produktów. Analitycy finansowi wykorzystują dane, aby zrozumieć, jak radzi sobie giełda, trendy i najlepsze akcje, w które powinni inwestować.
Ponadto dane serwera WWW mogą być wykorzystywane do zrozumienia, jaki ruch ma strona internetowa. W tej erze technologicznej IoT jest przykładem technologii, w której dane są pozyskiwane z czujników podłączonych do maszyn. Dane te są wykorzystywane do określenia wydajności maszyny oraz tego, czy ma ona jakiekolwiek wady. Manipulacja danymi ma kluczowe znaczenie w IoT, ponieważ do 2025 r. rynek będzie wart 81,67 miliarda dolarów.
Manipulacja danymi jest powszechnie wykonywana przy użyciu języka programowania o nazwie R. Daj nam trochę lepiej poznać język.
Co to jest R?
Aby zrozumieć manipulację danymi w R , musisz znać podstawy R. Jest to nowoczesny język programowania, który jest używany do analizy danych, obliczeń statystycznych i sztucznej inteligencji. Język został stworzony w 1993 roku przez Rossa Ihakę i Roberta Gentlemana . Obecnie badacze, analitycy danych, naukowcy i statystycy używają języka R do analizowania, czyszczenia i wizualizacji danych.
R ma ogromny katalog składający się z metod graficznych i statystycznych, które mogą wspierać uczenie maszynowe, regresję liniową, wnioskowanie statystyczne i szeregi czasowe. W ramach Powszechnej Licencji Publicznej GNU język jest swobodnie dostępny dla systemów operacyjnych, takich jak Windows, Mac i Linux. Jest przyjazny dla platformy, co oznacza, że kod R napisany na jednej platformie może być łatwo wykonany na innej.
R jest obecnie uważany za główny język programowania dla nauki o danych. Jest to jednak kompleksowy język, ponieważ można go używać do tworzenia oprogramowania, a także do skomplikowanych zadań, takich jak modelowanie statystyczne. Możesz tworzyć aplikacje internetowe za pomocą pakietu RShiny.
Jest to tak potężny język, że używają go jedne z najlepszych firm na świecie, takie jak Google i Facebook.
Sprawdźmy niektóre z najważniejszych cech R:
- Posiada CRAN (Comprehensive R Archive Network) , czyli repozytorium posiadające ponad 10 000 pakietów R, posiadające wszystkie wymagane funkcjonalności do pracy z danymi
- Jest to język programowania o otwartym kodzie źródłowym . Oznacza to, że możesz pobrać go za darmo, a nawet przyczynić się do jego rozwoju, aktualizować jego funkcje i dostosowywać istniejące funkcje
- Możesz tworzyć wysokiej jakości wizualizacje na podstawie dostępnych danych z przydatnych bibliotek graficznych R, takich jak ggplot2 i plotly
- R to bardzo szybki język. Ponieważ jest to interpretowany język programowania , nie jest wymagany kompilator do konwersji programów R na kod wykonywalny, dzięki czemu skrypt R działa szybciej
- R może w mgnieniu oka wykonywać różnorodne skomplikowane obliczenia, składające się z tablic, ramek danych i wektorów . Istnieje wiele operatorów do wykonywania tych obliczeń
- Obsługuje dane strukturalne i nieustrukturyzowane. Rozszerzenia dla Big Data i SQL są dostępne do obsługi wszystkich typów danych
- R ma stale rosnącą społeczność, która ma najjaśniejsze umysły. Ci ludzie stale przyczyniają się do rozwoju języka programowania, rozwijając biblioteki i aktualizacje
- Możesz łatwo zintegrować R z innymi językami programowania, takimi jak Python, Java i C++. Można go również połączyć z Hadoopem do przetwarzania rozproszonego
Teraz, gdy znasz już podstawy języka programowania R, pozwól nam zanurzyć się w ekscytujących rzeczach!
Zmienne w R
Podczas programowania w R lub wykonywania jakiejkolwiek manipulacji danymi w R , musisz mieć do czynienia ze zmiennymi. Zmienne służą do przechowywania danych, które mogą mieć postać ciągów, liczb całkowitych, liczb zmiennoprzecinkowych lub tylko wartości logicznych. Zmienne te rezerwują miejsce w pamięci na jego zawartość. W przeciwieństwie do tradycyjnych języków programowania, zmienne w języku R są przypisywane wraz z obiektami R.
Zmienne nie mają typu danych, ale pobierają typ obiektu R, do którego są przypisane. Najpopularniejsze obiekty R to:
- Wektory
- Listy
- Tablice
- Matryce
- Czynniki
- Ramki danych
Te struktury danych są niezwykle ważne dla manipulacji danymi w R i analizy danych. Przyjrzyjmy się im nieco bardziej szczegółowo, aby zrozumieć podstawową manipulację danymi:
Wektory
Są to najbardziej podstawowe struktury danych i są używane do danych jednowymiarowych. Rodzaje wektorów atomowych to:
- Liczba całkowita
- Logiczny
- Numeryczne
- Złożony
- Postać
Kiedy tworzysz wartość w R, staje się ona wektorem jednoelementowym o długości 1. Na przykład,
drukuj („ABC”); # wektor jednoelementowy typu character
print(10.5) # wektor jednoelementowy typu podwójnego
Dostęp do elementów w wektorach uzyskuje się za pomocą ich numerów indeksowych. Pozycje indeksu w wektorach zaczynają się od 1. Na przykład
t <- c(„Pon”, „Wt”, „Śr”, „Sob”)
u <- t[c(1,2,3)]
drukuj(u)
Wynikiem będzie „Pon” „Wt” „Śr”
Listy
Są to obiekty w języku R, które służą do przechowywania w sobie różnych typów elementów. Mogą to być liczby całkowite, łańcuchy, a nawet listy. Jeśli dane nie mogą być przechowywane w ramce danych lub tablicy, jest to najlepsza opcja. Listy mogą również zawierać macierz. Listy można tworzyć za pomocą metody list().
Użyj poniższego kodu, aby utworzyć listę:
list_data <- lista("Czarny", "Zielony", c(11,4,14), PRAWDA, 31.22, 120.5)
drukuj(list_data)
Dostęp do elementów listy można uzyskać za pomocą indeksów list.
print(list_data[1]) #kod wyświetla pierwszy element listy
Przykład manipulacji danymi z listami:
list_data[4] <- NULL # ten kod usuwa ostatni element listy, jeśli ma 4 elementy
Przeczytaj: R vs Python dla nauki o danych
Tablice
Tablice to obiekty, których można używać do przechowywania tylko jednego typu danych. Dane z więcej niż dwóch wymiarów mogą być przechowywane w tablicach. W tym celu musisz użyć funkcji array(), która przyjmuje wektory jako dane wejściowe. Używa wartości parametru dim do tworzenia tablicy.
Na przykład spójrz na następujący kod:
vector_result <- array(c(wektorA,wektorB),dim = c(3,3,2))
drukuj(vector_result)
Matryce
W tych obiektach R elementy są zorganizowane w dwuwymiarowy układ. Macierze zawierają elementy podobnego typu atomowego. Są one korzystne, gdy elementy należą do jednej klasy. Do obliczeń matematycznych tworzone są macierze zawierające elementy numeryczne. Macierze można tworzyć za pomocą funkcji matrix().
Podstawowa składnia tworzenia macierzy jest podana poniżej:
matrix(data, nrow, ncol, byrow, dimnames)
- Dane – jest to wektor wejściowy, który staje się elementem danych dla macierzy
- Nrow – To jest liczba wierszy, które chcesz utworzyć
- Ncol – To jest liczba kolumn, które chcesz utworzyć
- Byrow – to logiczna wskazówka. Jeśli jego wartość to TRUE, elementy wektora zostaną uporządkowane według wiersza
- Dimname – Nazwy nadane kolumnom i rzędom
Czynniki
Te obiekty języka R są używane do kategoryzowania danych i przechowywania ich jako poziomów. Są dobre do modelowania statystycznego i analizy danych. Zarówno liczby całkowite, jak i łańcuchy mogą być przechowywane w czynnikach. Możesz użyć funkcji factor() do utworzenia czynnika, dostarczając wektor jako dane wejściowe do metody.

Ramki danych
Ma dwuwymiarową strukturę, podobną do tablicy zawierającej wiersze i kolumny. Tutaj każdy wiersz ma zestaw wartości należących do każdej kolumny. Kolumny zawierają wartość jednej zmiennej. Służą do reprezentowania danych z arkuszy kalkulacyjnych. Mogą one służyć do przechowywania danych typu współczynnikowego, liczbowego lub znakowego.
Ramka danych ma następujące cechy:
- Nazwy wierszy muszą być unikalne
- Nazwy kolumn nie mogą być puste
- Liczba elementów danych w każdej kolumnie musi być taka sama
Manipulacja danymi w R
Podczas manipulacji danymi w R pierwszym krokiem jest utworzenie małych próbek danych z ogromnego zestawu danych. Dzieje się tak, ponieważ nie można jednocześnie analizować całego zestawu danych. Zazwyczaj analitycy danych tworzą reprezentatywny podzbiór zbioru danych. Pomaga im to zidentyfikować trendy i wzorce w większym zestawie danych. Ten proces próbkowania jest również nazywany podzbiorem .
Różne sposoby tworzenia podzbioru w R są następujące:
- $ – Wybiera pojedynczy element danych, a jego wynikiem jest zawsze wektor
- [[ – Ten operator podzbiorów również zwraca pojedynczy element, ale możesz odwoływać się do elementów według ich pozycji
- [ – Ten operator służy do zwracania wielu elementów danych
Niektóre z podstawowych funkcji manipulacji danymi w R to:
funkcja sample()
Jak sama nazwa wskazuje, metoda sample() służy do tworzenia próbek danych z większego zbioru danych. Wraz z tym poleceniem podajesz liczbę próbek, które chcesz pobrać z zestawu danych lub wektora. Podstawowa składnia jest następująca:
sample(x, size, replace = FALSE, prob = NULL)
x – Może to być wektor lub zbiór danych składający się z wielu elementów, z którego należy wybrać próbkę
rozmiar – jest to dodatnia liczba całkowita, która oznacza liczbę elementów do wybrania
replace – Może to być prawda lub fałsz, niezależnie od tego, czy chcesz próbkować z wymianą, czy bez
prob – Jest to argument używany do podania wektora wag w celu pobrania elementów wektora, który jest próbkowany
Funkcja Table()
Ta funkcja tworzy tabelę częstości, która służy do obliczania liczby unikalnych wartości danej zmiennej. Na przykład utwórzmy tabelę częstości z zestawem danych tęczówki:
tabela(iris$Gatunek)
Napisany powyżej kod tworzy tabelę przedstawiającą typy gatunków w zbiorze danych tęczówki.
zduplikowane()
Metoda Duplikaty() służy do identyfikowania i usuwania zduplikowanych wartości z zestawu danych. Pobiera wektor lub ramkę danych jako argument i zwraca True dla elementów, które są duplikatami. Na przykład,
zduplikowane(c(1,1,3))
To sprawdzi, które z tych elementów są duplikatami i zwróci True lub False.
Przeczytaj także : Drzewo decyzyjne w R
Manipulacja danymi w R za pomocą pakietu dplyr
R dostarcza prosty i łatwy w użyciu pakiet o nazwie dplyr do manipulacji danymi. Pakiet ma wbudowane metody manipulacji, eksploracji i transformacji danych. Sprawdźmy kilka najważniejszych funkcji tego pakietu:
Wybierz()
Metoda select() jest jedną z podstawowych funkcji do manipulacji danymi w R . Ta metoda jest używana do wybierania kolumn w R. Używając tego, możesz wybrać dane tak, jak ich nazwa kolumny. Kolumny można wybrać na podstawie określonych warunków. Załóżmy, że chcemy wybrać trzecią i czwartą kolumnę ramki danych o nazwie myData , kod będzie wyglądał następująco:
wybierz(mojeDane,3:4)
filtr()
Ta metoda służy do filtrowania wierszy zestawu danych, które spełniają określone kryteria. Może działać jak select(), najpierw przekazujesz ramkę danych, a następnie warunek oddzielony przecinkiem.
Na przykład, jeśli chcesz odfiltrować kolumny, które zawierają samochody w kolorze czerwonym w zestawie danych, musisz napisać:
filtr(samochody, kolor==”Czerwony”)
W rezultacie zostaną wyświetlone pasujące wiersze.
zmutować()
Możesz użyć metody mutate(), aby utworzyć nowe kolumny w zestawie danych, zachowując stare. Te kolumny można utworzyć, określając warunek. Na przykład,
mutate(mtcars, mtcars_new_col = mpg / cyl)
W tym poleceniu w zestawie danych mtcars tworzona jest nowa kolumna mtcars_new_col , która zawiera wartości kolumny mpg podzielone przez kolumnę cyl.
zorganizować()
Służy do sortowania wierszy w kolejności rosnącej lub malejącej przy użyciu jednej lub więcej zmiennych. Zamiast stosować metodę desc(), możesz dodać symbol minus (-) przed zmienną sortującą. To wskaże malejącą kolejność sortowania. Na przykład,
uporządkuj(my_dataset, -Sepal.Length)
Grupuj według()
Metoda group_by() służy do grupowania obserwacji w zbiorze danych według jednej lub wielu zmiennych.
podsumować()
Funkcja summarise() jest korzystna przy określaniu szczegółowych informacji o danych, takich jak średnia, mediana i tryb. Jest używany wraz z pogrupowanymi danymi utworzonymi inną metodą group_by. summarise() pomaga zredukować wiele wartości do pojedynczych.
łączyć()
Metoda merge() łączy lub scala ze sobą zestawy danych. Jest to przydatne do łączenia wielu źródeł danych wejściowych razem.
Ta metoda oferuje 4 sposoby łączenia zbiorów danych . Są one wymienione poniżej:
- Połączenie naturalne — służy do przechowywania wierszy, które pasują do określonego warunku, w ramach ramek danych
- Pełne złącze zewnętrzne – łączy i przechowuje wszystkie wiersze z obu ramek danych
- Lewe sprzężenie zewnętrzne — przechowuje wszystkie wiersze ramki danych A i te w B, które pasują
- Prawe sprzężenie zewnętrzne — przechowuje wszystkie wiersze ramki danych B oraz te w A, które pasują
zmień nazwę_jeśli()
Jest to funkcja, której można użyć do zmiany nazw kolumn ramki danych, gdy spełniony jest określony warunek.
Zmień nazwę wszystkim()
Służy do zmiany nazw wszystkich kolumn ramki danych bez określania żadnego warunku.
Zarabiaj kursy nauki o danych na najlepszych światowych uniwersytetach. Dołącz do naszych programów Executive PG, Advanced Certificate Programs lub Masters, aby przyspieszyć swoją karierę.
Operator rur
Operator potoku jest dostępny w pakietach takich jak magrittr i dplyr w celu uproszczenia całego kodu. Operator pozwala łączyć ze sobą wiele funkcji. Oznaczony symbolem %>%, może być używany z popularnymi metodami, takimi jak summarise(), filter(), select() i group_by() podczas manipulacji danymi w R.
Oprócz dplyr, w CRAN jest wiele innych pakietów do manipulacji danymi w R . W rzeczywistości znajdziesz ponad 7000 pakietów do redukcji kodowania, a także błędów. Wiele z tych pakietów jest tworzonych przez doświadczonych programistów, więc jesteś w bezpiecznych rękach. Obejmują one:
- Tabela danych
- smarować
- ggplot2
- czytelnik
- zmienić kształt2
- tidyr
Wniosek
Jeśli jesteś początkującym w manipulacji danymi w R , możesz skorzystać z wbudowanych funkcji podstawowych dostępnych w R. Obejmują one metody takie jak with(), Within(), Danish(), cut(), table(), sample() i sort(). Ale są czasochłonne i powtarzalne. Nie jest to bardzo wydajna opcja.
Dlatego najlepszym sposobem jest użycie ogromnej liczby pakietów w CRAN, takich jak dplyr. Są one bardzo przydatne i zwiększają wydajność Twoich programów.
Który pakiet jest przydatny do manipulacji danymi w R?
Proces manipulacji danymi służy do modyfikacji dostępnych danych i ułatwienia ich odczytu oraz uporządkowania. Często zdarza się, że maszyny, które zbierały dane, zawierają mnóstwo błędów i nieścisłości. Manipulacja danymi umożliwia usunięcie tych nieścisłości i dostarczenie dokładniejszych danych.
Istnieje wiele sposobów wykonywania manipulacji danymi w języku R, takich jak używanie pakietów, takich jak ggplot2, readr, dplyr itp. oraz korzystanie z funkcji Base R, takich jak inside(), with() itp. Jednak pakiet dplyr jest uważany za bardzo przydatne do manipulacji danymi w R. Ten pakiet składa się z różnych funkcji, które zostały stworzone specjalnie do manipulacji danymi i umożliwia szybsze przetwarzanie danych w porównaniu z innymi metodami i pakietami.
Jaki jest cel pakietu dplyr w R?
Wiadomo, że pakiet dplyr jest najlepszy do manipulacji danymi w języku R z maksymalną wydajnością. Wcześniej był taki pakiet o nazwie plyr, który został powtórzony w celu utworzenia dplyr. Teraz dplyr całkowicie skupia się na ramkach danych. Dlatego jest znacznie szybszy, ma lepsze i spójne API, a także jest całkiem łatwy w użyciu.
Pakiet dplyr działa w celu maksymalnego wykorzystania dostępnych danych przy zwiększonej wydajności w porównaniu z innymi pakietami do manipulacji danymi w R.
Jak możesz manipulować danymi?
Aby wykonać manipulację danymi, musisz wykonać pewne kroki w ogólnej kolejności. Wykonaj poniższe kroki:
1. Po pierwsze, będziesz potrzebować bazy danych, która została utworzona ze źródeł danych.
2. Następnie musisz wyczyścić, uporządkować i zrestrukturyzować dostępne dane za pomocą manipulacji danymi.
3. Teraz musisz stworzyć bazę danych, nad którą będziesz pracować.
4. Tutaj będziesz mógł łączyć, usuwać i modyfikować dostępne informacje.
5. Na koniec przeanalizuj dostępne dane i wygeneruj z nich przydatne informacje.