Hoe categorische gegevens in r te plotten (met voorbeelden)


In statistieken vertegenwoordigencategorische gegevens gegevens die namen of labels kunnen aannemen.

Voorbeelden zijn onder meer:

  • Rookstatus (“roker”, “niet-roker”)
  • Oogkleur (“blauw”, “groen”, “hazelnoot”)
  • Opleidingsniveau (bijv. “middelbare school”, “bachelordiploma”, “masterdiploma”)

Drie veelgebruikte grafieken om dit soort gegevens te visualiseren zijn:

  • Staafdiagram
  • Mozaïek percelen
  • Boxplots per groep

De volgende voorbeelden laten zien hoe u elk van deze plots in R kunt maken.

Voorbeeld 1: staafdiagrammen

De volgende code laat zien hoe u een staafdiagram maakt om de frequentie van verschuivingen in een bepaald gegevensframe te visualiseren:

 library (ggplot2)

#create data frame
df <- data. frame (result = c('W', 'L', 'W', 'W', 'W', 'L', 'W', 'L', 'W', 'L'),
                 team = c('B', 'B', 'B', 'B', 'D', 'A', 'A', 'A', 'C', 'C'),
                 points = c(12, 28, 19, 22, 32, 45, 22, 28, 13, 19),
                 rebounds = c(5, 7, 7, 12, 11, 4, 10, 7, 8, 8))

#create bar chart of teams
ggplot(df, aes (x=team)) +
  geom_bar()

De x-as toont de naam van elk team en de y-as toont de frequentie van elk team in het dataframe.

We kunnen ook de volgende code gebruiken om de staven in het diagram van groot naar klein te ordenen:

 #create bar chart of teams, ordered from large to small
ggplot(df, aes (x= reorder (team, team, function (x)- length (x)))) +
  geom_bar(fill=' steelblue ') +
  labs(x=' Team ') 

Voorbeeld 2: Boxplots per groep

Geclusterde boxplots zijn een handige manier om een numerieke variabele te visualiseren, gegroepeerd op een categorische variabele.

De volgende code laat bijvoorbeeld zien hoe u boxplots maakt die de verdeling van de gescoorde punten weergeven, gegroepeerd per team:

 library (ggplot2)

#create data frame
df <- data. frame (result = c('W', 'L', 'W', 'W', 'W', 'L', 'W', 'L', 'W', 'L'),
                 team = c('B', 'B', 'B', 'B', 'D', 'A', 'A', 'A', 'C', 'C'),
                 points = c(12, 28, 19, 22, 32, 45, 22, 28, 13, 19),
                 rebounds = c(5, 7, 7, 12, 11, 4, 10, 7, 8, 8))

#create boxplots of points, grouped by team
ggplot(df, aes (x=team, y=points)) +
  geom_boxplot(fill=' steelblue ')

Op de x-as worden de teams weergegeven en op de y-as de verdeling van de punten die door elk team zijn gescoord.

Voorbeeld 3: mozaïekplot

Een betegelde plot is een type plot dat de frequenties van twee verschillende categorische variabelen in één plot weergeeft.

De volgende code laat bijvoorbeeld zien hoe u een mozaïekplot maakt dat de frequentie van de categorische variabelen ‚resultaat‘ en ‚team‘ in één plot weergeeft:

 #create data frame
df <- data. frame (result = c('W', 'L', 'W', 'W', 'W', 'L', 'W', 'L', 'W', 'L'),
                 team = c('B', 'B', 'B', 'B', 'D', 'A', 'A', 'A', 'C', 'C'),
                 points = c(12, 28, 19, 22, 32, 45, 22, 28, 13, 19),
                 rebounds = c(5, 7, 7, 12, 11, 4, 10, 7, 8, 8))

#create table of counts
counts <- table(df$result, df$team)

#create mosaic plot
mosaicplot(counts, xlab=' Game Result ', ylab=' Team ',
           main=' Wins by Team ', col=' steelblue ') 

Mozaïekterrein in R

Op de x-as wordt het spelresultaat weergegeven en op de y-as worden de vier verschillende teams weergegeven.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende plots in R kunt maken:

Hoe maak je een gestapeld staafdiagram in R
Hoe maak je een geclusterd barplot in R
Hoe u een gestapeld puntendiagram maakt in R

Einen Kommentar hinzufügen

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