Dela in en numerisk variabel i en faktor med grupper
Din gamle vän Dan skickade dig en lista med 50 AAA-rankade obligationer som heter AAA_rank. Varje obligation har ett extra värde från 1–100 som beskriver hur lönsam Dan tror att den kommer att vara (100 = mest lönsam). Du vill analysera hans förslag vidare, men det vore praktiskt om obligationerna först grupperades efter sin ranking. Det skulle göra det enklare att dela in dem från minst till mest lönsamma.
Detta är ett bra exempel på hur man skapar en faktor från en numerisk vektor. Det enklaste sättet är att använda cut(). Nedan delas Dans 1–100-ranking in i 5 jämnt fördelade grupper. Observera att ( i faktornivåerna betyder att talet inte ingår i den gruppen, medan ] betyder att talet ingår i gruppen.
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]
I funktionen cut() används breaks = för att ange de grupper som R ska dela in dina data i!
Den här övningen är en del av kursen
Introduktion till R för finans
Övningsinstruktioner
- Kan du skapa 4 grupper i stället för 5? Använd en vektor från 0 till 100 i
breaks =där varje element är 25 steg från det föregående. Tilldela resultatet tillAAA_factor. - De 4 grupperna har inte särskilt beskrivande namn. Använd
levels()för att döpa om nivåerna till"low","medium","high"och"very_high", i den ordningen. - Skriv ut den namngivna
AAA_factor. - Plotta
AAA_factorför att visualisera resultatet!
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Create 4 buckets for AAA_rank using cut()
AAA_factor <- cut(x = ___, breaks = ___)
# Rename the levels
# Print AAA_factor
# Plot AAA_factor
plot(___)