強制変換(Coercion)
ベクトルは1種類のデータ型だけで構成される点が重要です。つまり、同じベクトル内に数値型と文字型を同時に含めることはできません。もしそうしようとすると、ランクの低い型がランクの高い型に「強制変換(coerce)」されます。
たとえば、c(1.5, "hello") は c("1.5", "hello") になり、数値 1.5 は文字型に強制変換されます。
強制変換の優先順位は次のとおりです。
logical < integer < numeric < character
logical は、最も高いデータ型によって少し異なる変換が行われます。c(TRUE, 1.5) は c(1, 1.5) を返し、TRUE は数値の 1 に(FALSE は 0 に)変換されます。一方、c(TRUE, "this_char") は c("TRUE", "this_char") に変換されます。
ベクトル a、b、c は次のコマンドで定義されています。
a <- c(1L , "I am a character")
b <- c(TRUE, "Hello")
c <- c(FALSE, 2)
型変換について正しい記述はどれですか?
この演習はコースの一部です
