Gevectoriseerde bewerkingen
Je kunt het concept van relationele operatoren uitbreiden naar vectors van willekeurige lengte. Vergelijk twee vectors met > om een logische vector van dezelfde lengte terug te krijgen, met TRUE wanneer de eerste groter is dan de tweede, en FALSE anders.
apple <- c(120.00, 120.08, 119.97, 121.88)
datacamp <- c(118.5, 124.21, 125.20, 120.22)
apple > datacamp
[1] TRUE FALSE FALSE TRUE
Een vector met één getal vergelijken werkt ook. R zal het getal recyclen tot dezelfde lengte als de vector:
apple > 120
[1] FALSE TRUE FALSE TRUE
Bedenk hoe je dit kunt gebruiken als koop-/verkoopsignaal bij aandelenanalyse! Een data frame, stocks, is voor je beschikbaar.
Deze oefening maakt deel uit van de cursus
R voor finance voor gevorderden
Oefeninstructies
- Print
stocks. - Je wilt
ibmkopen wanneer het onder175komt. Gebruik$om deibm-kolom te selecteren en een logische operator om te bepalen wanneer dit gebeurt. Voeg dit toe aanstocksals de kolomibm_buy. - Als
paneraboven213uitkomt, verkoop. Gebruik een logische operator om te bepalen wanneer dit gebeurt. Voeg dit toe aanstocksals de kolompanera_sell. - Is
ibmooit hoger danpanera? Voeg het resultaat toe aanstocksals de kolomibm_vs_panera. - Print
stocks.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Print stocks
___
# IBM range
___$___ <-
# Panera range
___$___ <-
# IBM vs Panera
___$___ <-
# Print stocks
___