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 ')
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