Jak korzystać z funkcji gather w r (z przykładami)
Funkcji gromadzenia() z pakietu Tidyr można użyć do „zebrania” pary klucz-wartość z wielu kolumn.
Ta funkcja wykorzystuje następującą podstawową składnię:
zbierać (dane, wartość klucza itp.)
Złoto:
- dane : Nazwa ramki danych
- key : Nazwa kolumny klucza do utworzenia
- wartość : nazwa kolumny wartości, która ma zostać utworzona
- … : Określ kolumny, z których chcesz zbierać dane
Poniższe przykłady pokazują, jak w praktyce wykorzystać tę funkcję.
Przykład 1: Zbierz wartości z dwóch kolumn
Załóżmy, że mamy następującą ramkę danych w R:
#create data frame df <- data. frame (player=c('A', 'B', 'C', 'D'), year1=c(12, 15, 19, 19), year2=c(22, 29, 18, 12)) #view data frame df player year1 year2 1 to 12 22 2 B 15 29 3 C 19 18 4 D 19 12
Możemy użyć funkcji zbierania() , aby utworzyć dwie nowe kolumny o nazwach „rok” i „punkty” w następujący sposób:
library (tidyr) #gather data from columns 2 and 3 gather(df, key=" year ", value=" points ", 2:3) player year points 1 A year1 12 2 B year1 15 3 C year1 19 4 D year1 19 5 A year2 22 6 B year2 29 7 C year2 18 8 D year2 12
Przykład 2: Zbierz wartości z więcej niż dwóch kolumn
Załóżmy, że mamy następującą ramkę danych w R:
#create data frame df2 <- data. frame (player=c('A', 'B', 'C', 'D'), year1=c(12, 15, 19, 19), year2=c(22, 29, 18, 12), year3=c(17, 17, 22, 25)) #view data frame df2 player year1 year2 year3 1 A 12 22 17 2 B 15 29 17 3 C 19 18 22 4 D 19 12 25
Możemy użyć funkcji gromadzenia() , aby „zebrać” wartości z kolumn 2, 3 i 4 do dwóch nowych kolumn o nazwie „rok” i „punkty” w następujący sposób:
library (tidyr) #gather data from columns 2, 3, and 4 gather(df, key=" year ", value=" points ", 2:4) player year points 1 A year1 12 2 B year1 15 3 C year1 19 4 D year1 19 5 A year2 22 6 B year2 29 7 C year2 18 8 D year2 12 9 A year3 17 10 B year3 17 11 C year3 22 12 D year3 25
Dodatkowe zasoby
Celem pakietu Tidyr jest tworzenie „uporządkowanych” danych, które charakteryzują się następującymi cechami:
- Każda kolumna jest zmienną.
- Każda linia jest obserwacją.
- Każda komórka ma unikalną wartość.
Pakiet Tidyr wykorzystuje cztery główne funkcje do tworzenia uporządkowanych danych:
1. Funkcja spread() .
2. Funkcja zbierania() .
3. Funkcja oddzielna() .
4. Funkcja unit() .
Jeśli opanujesz te cztery funkcje, będziesz w stanie stworzyć „porządne” dane z dowolnej ramki danych.