Koercja typów
Pamiętaj, że wektor może zawierać tylko jeden typ danych. Oznacza to, że nie możesz umieścić w tym samym wektorze jednocześnie wartości numerycznej i znakowej. Jeśli spróbujesz to zrobić, typ o niższym priorytecie zostanie skonwertowany (poddany koercji) na typ o wyższym priorytecie.
Na przykład: c(1.5, "hello") daje wynik c("1.5", "hello"), gdzie wartość numeryczna 1.5 została skonwertowana na typ znakowy.
Hierarchia koercji wygląda następująco:
logical < integer < numeric < character
Wartości logiczne są konwertowane nieco inaczej, w zależności od najwyższego typu w wektorze. c(TRUE, 1.5) zwróci c(1, 1.5), gdzie TRUE zostaje skonwertowane na wartość numeryczną 1 (FALSE zostałoby skonwertowane na 0). Natomiast c(TRUE, "this_char") zostaje przekształcone w c("TRUE", "this_char").
Wektory a, b i c zostały już zdefiniowane za pomocą poniższych poleceń:
a <- c(1L , "I am a character")
b <- c(TRUE, "Hello")
c <- c(FALSE, 2)
Które stwierdzenie dotyczące konwersji typów jest poprawne?
To ćwiczenie jest częścią kursu
Wprowadzenie do R dla finansów
Interaktywne ćwiczenie praktyczne
Przekształć teorię w praktykę dzięki jednemu z naszych interaktywnych ćwiczeń
Rozpocznij ćwiczenie