Tvingad typkonvertering
Det är viktigt att komma ihåg att en vektor bara kan innehålla en datatyp. Det går alltså inte att blanda numeriska värden och teckensträngar i samma vektor. Om du försöker göra det, kommer typen med lägre rangordning att tvingas konverteras till typen med högre rangordning.
Till exempel: c(1.5, "hello") resulterar i c("1.5", "hello"), där det numeriska värdet 1.5 har konverterats till datatypen character.
Hierarkin för typkonvertering är:
logical < integer < numeric < character
Logiska värden konverteras lite annorlunda beroende på vilken datatyp som har högst rangordning. c(TRUE, 1.5) returnerar c(1, 1.5), där TRUE konverteras till det numeriska värdet 1 (FALSE konverteras till 0). Däremot konverteras c(TRUE, "this_char") till c("TRUE", "this_char").
Vektorerna a, b och c har redan definierats med följande kommandon:
a <- c(1L , "I am a character")
b <- c(TRUE, "Hello")
c <- c(FALSE, 2)
Vilket påstående stämmer om typkonvertering?
Den här övningen är en del av kursen
Introduktion till R för finans
Interaktiv övning med praktiskt arbete
Gör teori till handling med en av våra interaktiva övningar
Starta övningen