Het verschil tussen facet_wrap() en facet_grid() in r


De functies facet_grid() en facet_wrap() in het ggplot2-pakket kunnen beide worden gebruikt om een raster van plots te produceren.

Hier is het belangrijkste verschil tussen de twee functies:

  • De functie facet_grid() produceert een raster van plots voor elke combinatie van variabelen die u opgeeft, zelfs als sommige plots leeg zijn.
  • De functie facet_wrap() produceert alleen plots voor combinaties van variabelen die waarden hebben, wat betekent dat er geen lege plots worden geproduceerd .

De volgende twee voorbeelden illustreren het verschil tussen deze twee functies, met behulp van het volgende dataframe:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'G', 'G'),
                 points=c(8, 14, 20, 22, 25, 29, 30, 31),
                 assists=c(10, 5, 5, 3, 8, 6, 9, 12))

#view data frame
df

  team position points assists
1 GA 8 10
2 AG 14 5
3 FY 20 5
4 AF 22 3
5 BG 25 8
6 BG 29 6
7 BG 30 9
8 BG 31 12

Voorbeeld 1: gebruik van de facet_grid() functie

De volgende code laat zien hoe je facet_grid() gebruikt om een raster te maken dat een spreidingsdiagram weergeeft van assists versus punten voor elke combinatie van team en positie:

 library (ggplot2)

ggplot(df, aes (assists, points)) +
  geom_point() +
  facet_grid(position~team)

Merk op dat er voor elke combinatie van team en positie een spreidingsdiagram wordt geproduceerd, ook al bestaan er geen waarden in het originele dataframe voor een teamwaarde van B en een positiewaarde van F :

Zo werkt facet_grid() : het zal een plot produceren voor elke combinatie van variabelen die u opgeeft, zelfs als sommige plots leeg zijn.

Voorbeeld 2: gebruik van de facet_wrap() functie

De volgende code laat zien hoe je facet_wrap() gebruikt om een raster te maken dat een spreidingsdiagram van assists versus punten weergeeft voor elke bestaande team- en positiecombinatie:

 library (ggplot2)

ggplot(df, aes (assists, points)) +
  geom_point() +
  facet_wrap(position~team)

Houd er rekening mee dat er alleen een spreidingsdiagram wordt gemaakt voor team- en positiecombinaties die in het originele dataframe voorkomen.

Dit betekent dat er geen plot wordt gemaakt voor de combinatie van team B en positie F , omdat er voor die specifieke combinatie geen waarde bestaat in het originele dataframe.

Dit is hoe facet_wrap() werkt: het zal nooit een leeg pad opleveren.

Opmerking : raadpleeg de ggplot2-documentatie voor een volledige handleiding voor de functies facet_grid() en facet_wrap() .

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in ggplot2 kunt uitvoeren:

Hoe de lettergrootte in ggplot2 te veranderen
Hoe een legenda in ggplot2 te verwijderen
Hoe aslabels te roteren in ggplot2

Einen Kommentar hinzufügen

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