Dwing het af
Onthoud dat een vector maar uit één datatype mag bestaan. Je kunt dus niet zowel een numeriek als een tekstwaarde (character) in dezelfde vector hebben. Als je dat toch probeert, wordt het lager gerangschikte type gedwongen (coerced) naar het hoger gerangschikte type.
Bijvoorbeeld: c(1.5, "hello") resulteert in c("1.5", "hello"), waarbij de numerieke 1.5 is omgezet naar het type character.
De hiërarchie voor typeconversie is:
logical < integer < numeric < character
Logicals worden net iets anders omgezet, afhankelijk van wat het hoogste datatype is. c(TRUE, 1.5) geeft c(1, 1.5) terug, waarbij TRUE is omgezet naar de numerieke 1 (FALSE zou worden omgezet naar 0). Aan de andere kant wordt c(TRUE, "this_char") omgezet naar c("TRUE", "this_char").
De vectoren a, b en c zijn voor je gedefinieerd met de volgende opdrachten:
a <- c(1L , "I am a character")
b <- c(TRUE, "Hello")
c <- c(FALSE, 2)
Welke uitspraak over typeconversie is correct?
Deze oefening maakt deel uit van de cursus
Introductie tot R voor finance
Interactieve oefening met praktijkervaring
Zet theorie om in actie met een van onze interactieve oefeningen
Begin oefening