データ表の月の名前(Jan、Febなど)のベクトルを数値の等価物(1,2、...)に変換したいと思います。コードrアルファ月を数値に変換する
which(month.abb == month)
は期待通りに動作します。つまり、which(month.abb == "Feb")
は2を返します。しかし、データテーブルで使用されているコードと同じコードでは、警告と、予想外の番号を含むtest
ベクトルが返されます。
dt <- data.table(month = sort(c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")))
dt[, test := which(month.abb == month)]