Jak szybko tworzyć tabele przestawne w r


W programie Excel tabele przestawne umożliwiają łatwe grupowanie i podsumowywanie danych.

Na przykład, jeśli mamy w Excelu następujący zestaw danych, możemy użyć tabeli przestawnej, aby szybko podsumować całkowitą sprzedaż według regionów:

To nam mówi:

  • Region A odnotował łączną sprzedaż 51 sztuk
  • Region B odnotował łączną sprzedaż 85 sztuk
  • Region C osiągnął łączną sprzedaż 140 sztuk

Możemy też podsumować za pomocą innego wskaźnika, np. średniej sprzedaży według regionu:

Okazuje się, że podobne tabele przestawne możemy szybko utworzyć w R, korzystając z funkcji group_by() i podsumowanie() z pakietu dplyr .

W tym samouczku znajdziesz kilka przykładów, jak to zrobić.

Przykład: utwórz tabele przestawne w języku R

Najpierw utwórzmy ten sam zbiór danych w R, którego używaliśmy w poprzednich przykładach z Excela:

 #create data frame
df <- data. frame (region=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C'),
                 device=c('X', 'X', 'Y', 'X', 'Y', 'Y', 'X', 'X', 'Y', 'Y'),
                 sales=c(12, 18, 21, 22, 34, 29, 38, 36, 34, 32))

#view data frame
df

   region device sales
1AX 12
2AX18
3 AY 21
4 BX22
5 BY 34
6 BY 29
7 CX 38
8CX36
9 CY 34
10 CY 32

Następnie załadujmy pakiet dplyr i użyjmy funkcji group_by() i podsumowanie() , aby pogrupować według regionu i znaleźć sumę sprzedaży według regionu:

 library (dplyr)

#find sum of sales by region
df %>%
  group_by (region) %>% 
  summarize (sum_sales = sum (sales))

# A tibble: 3 x 2
  region sum_sales
        
1 to 51
2 B 85
3 C 140

Widzimy, że liczby te odpowiadają liczbom pokazanym w przykładzie wprowadzającym programu Excel.

Możemy również obliczyć średnią sprzedaż według regionu:

 #find average sales by region
df %>%
  group_by (region) %>% 
  summarize (mean_sales = mean (sales))

# A tibble: 3 x 2
  region mean_sales
        
1 to 17  
2 B 28.3
3 C 35

Ponownie liczby te odpowiadają liczbom pokazanym w poprzednim przykładzie programu Excel.

Należy pamiętać, że możemy także grupować według wielu zmiennych. Na przykład możemy znaleźć sumę sprzedaży pogrupowaną według regionu i typu urządzenia:

 #find sum of sales by region and device type
df %>%
  group_by (region, device) %>% 
  summarize (sum_sales = sum (sales))

# A tibble: 6 x 3
# Groups: region [3]
  region device sum_sales
          
1AX30
2 AY 21
3 BX22
4 BY 63
5 CX 74
6 CY 66

Dodatkowe zasoby

Jak wykonać WYSZUKAJ.PIONOWO (podobnie jak w Excelu) w R
Kompletny przewodnik: jak grupować i podsumowywać dane w R

Dodaj komentarz

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