Gå till index

Lilla Forskarskolan: Forskningsmetoder och Analys med R

0% färdig
0/0 Steps
  1. Analys och forskning med R och Posit (Rstudio)
  2. Grunderna i R och Rstudio
    7 Ämnen
  3. Importera, exportera, spara och ladda data
    5 Ämnen
  4. Strängar och regular expressions (regex)
    1 Ämne
  5. Bearbetning av data med dplyr
    12 Ämnen
  6. Visualisera och presentera
    14 Ämnen
  7. Explorerande och deskriptiva analyser
    6 Ämnen
  8. Prediktionsmodeller
    12 Ämnen
  9. Klassisk regressionsanalys
    8 Ämnen
  10. Machine learning (ML) och Artificiell Intelligens (AI)
    9 Ämnen
  11. Skapa prediktionsmodeller med Tidymodels
    6 Ämnen
  12. Hypotestester och epidemiologiska mått
    5 Ämnen
Avsnitt Progress
0% färdig

Kategoriska variabler kan presenteras med facets i ggplot2. En facet är en graf som utgör en subgrupp i datamängden. För att skapa facets finns funktionerna facet_wrap() eller facet_grid(). Förstnämnda (facet_wrap()) används för att skapa facets baserat på en variabel. Sistnämnda (facet_grid()) används för att skapa facets baserat på två eller fler variabler. Variablerna som skall användas som facets specificeras efter tecknet tilde (~). I detta sammanhang används termen facet för de enskilda graferna. Vare facet presenterar en subgrupp i data och kan således betraktas som en subgraf. Facets skall, ur ett tekniskt perspektiv, inte förväxlas med panaler som omtalas i nästa kapitel.

Facet Wrap: facet_wrap()

I nedanstående figur används facet_wrap() med kolumnen class (som indikerar vilken fordonstyp bilen tillhör). Det borde skapa separata grafer för varje fordonsklass.




BLOCKERAD KOD, BILD ELLER TEXT


Du måste logga in för att komma åt allt material.


Notera följande av figuren ovan:

  • Alla subgrafer (paneler) har samma skala på x-axel och y-axel.
  • Titeln i varje subgraf motsvarar en av nivåerna för den kategoriska variabeln (class) vi använde i facet_wrap().

Facet funger även för variabler som är numeriska (numeric) eller heltal (integer), vilket framgår av exemplet nedan där kolumnen displ (som är numerisk) används som facet. Det är dock sällan meningsfullt att skapa facets för en kontinuerlig variabel. Kontinuerliga variabler har ofta många värden vilket kan resultera i att vissa subgrafer har få eller inga datapunkter.




BLOCKERAD KOD, BILD ELLER TEXT


Du måste logga in för att komma åt allt material.


Funktionen facet_wrap() har argumenten nrow och ncol vilka styr antal rader och kolumner som används. I följande exempel anger vi att subgraferna skall visas i två kolumner:




BLOCKERAD KOD, BILD ELLER TEXT


Du måste logga in för att komma åt allt material.


I följande exempel anger vi att subgraferna skall visas på två rader:




BLOCKERAD KOD, BILD ELLER TEXT


Du måste logga in för att komma åt allt material.


Facet Grid: facet_grid()

För att använda två variabler som facets används funktionen facet_grid(). Variablerna anges i detta fall med tilde mellan dem. Innan ~ anges variabeln som placeras på raderna och efter ~ anges variabeln som utgör kolumnerna, enligt följande exempel:




BLOCKERAD KOD, BILD ELLER TEXT


Du måste logga in för att komma åt allt material.


Du kan använda en punkt (.) på endera sida av tilde (~) för att bestämma om subgraferna skall visas radvis eller kolumnvis. Om . anges innan ~ visas subgraferna kolumnvis och vice versa:




BLOCKERAD KOD, BILD ELLER TEXT


Du måste logga in för att komma åt allt material.


Funktionen facet_grid() accepterar två variabler på endera sida av tilde (~), vilket möjliggör att se mönster i ytterligare subgrupper. Nedan följer ett exempel där panelerna på raderna stratifieras på två variabler (cyl och drv):




BLOCKERAD KOD, BILD ELLER TEXT


Du måste logga in för att komma åt allt material.


Funktioner i facet_wrap()

Samtliga argument i facet_wrap() framgår nedan.

facet_wrap(
  facets,
  nrow = NULL,
  ncol = NULL,
  scales = "fixed",
  shrink = TRUE,
  labeller = "label_value",
  as.table = TRUE,
  switch = deprecated(),
  drop = TRUE,
  dir = "h",
  strip.position = "top"
)

Använd kommandot ?facet_grid() för att få instruktioner för varje argument. Instruktionerna är lätta att förstå för facet_grid() och facet_wrap(). Låt oss skapa en graf där skalorna på x-axeln och y-axeln är fria och optimeras automatiskt, samt där varje subgrafs titel hamnar till vänster om grafen:




BLOCKERAD KOD, BILD ELLER TEXT


Du måste logga in för att komma åt allt material.


Funktioner i facet_wrap()

facet_grid(
  rows = NULL,
  cols = NULL,
  scales = "fixed",
  space = "fixed",
  shrink = TRUE,
  labeller = "label_value",
  as.table = TRUE,
  switch = NULL,
  drop = TRUE,
  margins = FALSE,
  facets = NULL
)

Facets vs. Panels (subgrafer vs. paneler)

Facets ska inte förväxlas med figurpaneler. I en figur med facets består subgraferna av subgrupper i data. I en figur med paneler kan subgraferna bestå av helt olika datamängder. Figurer som består av flera paneler skapas med andra paket. De mest använda paketen är cowplot och gridExtra, som diskuteras i nästkommande kapitel.