Forceer het
Het is belangrijk om te onthouden dat een vector maar uit één gegevenstype kan bestaan. Dat betekent dat je niet zowel een numeriek als een tekenreeks (character) in dezelfde vector kunt hebben. Als je dit toch probeert, wordt het lager gerangschikte type geforceerd naar het hoger gerangschikte type.
Bijvoorbeeld: c(1.5, "hello") resulteert in c("1.5", "hello"), waarbij de numerieke 1.5 is geconverteerd naar het gegevenstype character.
De hiërarchie voor typeconversie is:
logical < integer < numeric < character
Logicals worden iets anders geconverteerd, afhankelijk van wat het hoogste gegevenstype is. c(TRUE, 1.5) geeft c(1, 1.5) terug, waarbij TRUE is geconverteerd 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 commando's:
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 Financiën
Praktische interactieve oefening
Zet theorie om in actie met een van onze interactieve oefeningen.
Begin met trainen