Snel draaitabellen maken in r


In Excel bieden draaitabellen een eenvoudige manier om gegevens te groeperen en samen te vatten.

Als we bijvoorbeeld de volgende gegevensset in Excel hebben, kunnen we een draaitabel gebruiken om de totale omzet snel per regio samen te vatten:

Dit vertelt ons:

  • Regio A had in totaal 51 verkopen
  • Regio B had in totaal 85 verkopen
  • Regio C behaalde een totale omzet van 140

Of we kunnen het samenvatten met een andere maatstaf, zoals de gemiddelde verkoop per regio:

Het blijkt dat we snel soortgelijke draaitabellen in R kunnen maken met behulp van de functies group_by() en summary() uit het dplyr- pakket.

In deze zelfstudie vindt u verschillende voorbeelden van hoe u dit kunt doen.

Voorbeeld: Draaitabellen maken in R

Laten we eerst dezelfde gegevensset in R maken die we in de vorige voorbeelden uit Excel hebben gebruikt:

 #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

Laten we vervolgens het dplyr-pakket laden en de functies group_by() en summary() gebruiken om te groeperen op regio en de som van de verkopen per regio te vinden:

 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

We kunnen zien dat deze cijfers overeenkomen met de cijfers die worden weergegeven in het inleidende voorbeeld van Excel.

We kunnen ook de gemiddelde omzet per regio berekenen:

 #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

Nogmaals, deze getallen komen overeen met de getallen in het vorige Excel-voorbeeld.

Merk op dat we ook op meerdere variabelen kunnen groeperen. We kunnen bijvoorbeeld de som van de verkopen vinden, gegroepeerd op regio en apparaattype:

 #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

Aanvullende bronnen

Een VERT.ZOEKEN doen (vergelijkbaar met Excel) in R
De complete gids: gegevens groeperen en samenvatten in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert