Aan de slagGa gratis aan de slag

Maak een geordende factor

Kijk naar de plot rechts. Ziet er goed uit, maar kijk eens naar de volgorde van de balken! Er is geen volgorde opgegeven toen je de factor maakte, dus toen R deze plotte, zette het de levels simpelweg in alfabetische volgorde. Je weet inmiddels dat er een volgorde in kredietratings zit, en je plots moeten dat laten zien!

Ter herinnering: de volgorde van kredietratings van minst risicovol naar meest risicovol is:

AAA, AA, A, BBB, BB, B, CCC, CC, C, D

Er zijn twee opties om je factor te ordenen.

Bij het aanmaken van een factor kun je ordered = TRUE opgeven en de unieke levels van laag naar hoog zetten:

credit_rating <- c("AAA", "AA", "A", "BBB", "AA", "BBB", "A")

credit_factor_ordered <- factor(credit_rating, ordered = TRUE, 
                                levels = c("AAA", "AA", "A", "BBB"))

Voor een bestaande, ongeordende factor zoals credit_factor, gebruik je de functie ordered():

ordered(credit_factor, levels = c("AAA", "AA", "A", "BBB"))

Beide manieren leveren op:

credit_factor_ordered

[1] AAA AA  A   BBB AA  BBB A  
Levels: AAA < AA < A < BBB

Let op het <-teken dat de volgorde van de levels aangeeft; dat stond er eerder niet!

Deze oefening maakt deel uit van de cursus

Introductie tot R voor Financiën

Cursus bekijken

Oefeninstructies

  • De karaktervector credit_rating staat in je werkruimte.
  • Gebruik de functie unique() met credit_rating om alleen de unieke woorden in de karaktervector te printen. Dit worden je levels.
  • Gebruik factor() om een geordende factor voor credit_rating te maken en sla deze op als credit_factor_ordered. Zet de levels van laag naar hoog risico!
  • Plot credit_factor_ordered en let op de nieuwe volgorde van de balken.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Use unique() to find unique words
unique(___)

# Create an ordered factor
credit_factor_ordered <- factor(___, ordered = ___, levels = c(___))

# Plot credit_factor_ordered
Code bewerken en uitvoeren