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
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 aanAAA_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_factorom 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(___)