データの型を変更したいときは、as.factor()
が使える。
> df$season %>% as.factor(df$season)
Error in as.factor(., df$season) : unused argument (df$season)
しかし、上記のコードだと、エラーがでて因子型に変更できなかった。
指定したオブジェクトが使用されていないことによるエラーのようだが、対処方法を調べてもわからなかった。
しかし、いろいろやり方を調べたところ、以下のコードで無事因子型に変更することができた。
season <- as.factor(season)
もともとのやり方が間違っていたのか、原因不明。
念のため、class()
でデータの型を確認してみる。
class(df$season)
[1] "factor"
わからない点
as.factor() でデータの型が変更できたように見えたとしても、str()やglimpse()でデータの型を確認すると変更できていないときがある。
> as.factor(df$sex) #因子型に変換
[1] 0 1 1 1 0 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 1 1 1 0 1 0 1 1 1 0 1 1 1 0 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0
[71] 1 0 1 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 1 1 1 0 1 0 1 1 1 0 1 1 1 0 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0
[141] 1 1 1 1 0 1 0 1 1 1 0 1 1 1 0 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 1 1 1 0 1 0 1 1 1
Levels: 0 1 #2つのレベルの因子型に変換できたっぽい
> class(df$sex) #型を確認
[1] "numeric" #なぜかnumeric