Aan de slagGa gratis aan de slag

Een numerieke variabele indelen in een factor

Je oude vriend Dan stuurde je een lijst van 50 AAA-obligaties met de naam AAA_rank. Elke obligatie heeft een extra getal van 1–100 dat aangeeft hoe winstgevend hij die obligatie denkt te vinden (100 is het meest winstgevend). Je wilt zijn suggesties verder analyseren, maar eerst is het handig om de obligaties op een of andere manier in categorieën op basis van hun ranking in te delen. Zo kun je groepen maken, van minst winstgevend tot meest winstgevend, zodat je ze makkelijker kunt analyseren.

Dit is een goed voorbeeld van het maken van een factor op basis van een numerieke vector. De makkelijkste manier om dit te doen is met cut(). Hieronder wordt Dan’s 1–100-ranking ingedeeld in 5 gelijk verdeelde groepen. Let op: de ( in de factorlevels betekent dat we het getal ernaast niet in die groep opnemen, en de ] betekent dat we dat getal wel in de groep opnemen.

head(AAA_rank)

[1]  31  48 100  53  85  73

AAA_factor <- cut(x = AAA_rank, breaks = c(0, 20, 40, 60, 80, 100))

head(AAA_factor)

[1] (20,40]  (40,60]  (80,100] (40,60]  (80,100] (60,80] 
Levels: (0,20] (20,40] (40,60] (60,80] (80,100]

In de functie cut() kun je met breaks = de groepen opgeven waarmee R je data moet indelen!

Deze oefening maakt deel uit van de cursus

Introductie tot R voor Financiën

Cursus bekijken

Oefeninstructies

  • Kun je in plaats van 5 buckets er 4 maken? Gebruik bij breaks = een vector van 0 tot 100 waarbij elk element 25 uit elkaar ligt. Ken dit toe aan AAA_factor.
  • De 4 buckets hebben geen erg beschrijvende namen. Gebruik levels() om de levels te hernoemen naar "low", "medium", "high" en "very_high", in die volgorde.
  • Print de nieuw benoemde AAA_factor.
  • Plot AAA_factor om je werk te visualiseren!

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Create 4 buckets for AAA_rank using cut()
AAA_factor <- cut(x = ___, breaks = ___)

# Rename the levels 


# Print AAA_factor


# Plot AAA_factor
plot(___)
Code bewerken en uitvoeren