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