Jak używać metody obrotowej () w r


Funkcji obrotowej() pakietu Tidyr w R można użyć do obrócenia bloku danych z formatu długiego do formatu szerokiego.

Ta funkcja wykorzystuje następującą podstawową składnię:

 library (tidyr)

df %>% pivot_wider(names_from = var1, values_from = var2)

Złoto:

  • nazwy_od : Kolumna, której wartości zostaną użyte jako nazwy kolumn
  • wartości_z : Kolumna, której wartości zostaną użyte jako wartości komórek

Poniższy przykład pokazuje, jak w praktyce wykorzystać tę funkcję.

Powiązane: Długie lub szerokie dane: jaka jest różnica?

Przykład: użyj metody obrotowej() w R

Załóżmy, że mamy następującą ramkę danych w R, która zawiera informacje o różnych koszykarzach:

 #create data frame
df <- data. frame (player=rep(c('A', 'B'), each= 4 ),
                 year=rep(c(1, 1, 2, 2), times= 2 ),
                 stat=rep(c('points', 'assists'), times= 4 ),
                 amount=c(14, 6, 18, 7, 22, 9, 38, 4))

#view data frame
df

  player year stat amount
1 A 1 points 14
2 A 1 assists 6
3 A 2 points 18
4 A 2 assists 7
5 B 1 points 22
6 B 1 assists 9
7 B 2 points 38
8 B 2 assists 4

Możemy użyć funkcji obrotu_wider() , aby obrócić tę ramkę danych do szerokiego formatu:

 library (tidyr)

#pivot the data frame into a wide format
df %>% pivot_wider(names_from = stat, values_from = amount)

# A tibble: 4 x 4
  player year points assists
         
1 A 1 14 6
2 A 2 18 7
3 B 1 22 9
4 B 2 38 4

Należy pamiętać, że wartości w kolumnie stat są teraz używane jako nazwy kolumn, a wartości w kolumnie kwota są używane jako wartości komórek w tych nowych kolumnach.

Efektem końcowym jest duży blok danych.

Uwaga : pełną dokumentację funkcji obrotowej() można znaleźć tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak korzystać z innych typowych funkcji z pakietu Tidyr w R:

Jak korzystać z funkcji Spread w R
Jak korzystać z funkcji zbierania w R
Jak korzystać z osobnej funkcji w R
Jak korzystać z funkcji Unite w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *