関数によってはfactorが存在しないデータセットは受け付けない場合もあるし、
逆にStringやfactorが入っていると動かないものもある。

as.Dateは使った事ないが、
関数の中でDate形式だけに特化した機能を持たせるor厳密な設計がされている場合は必須になる。
>421の2列目のnumericに関してはis(tbl[2])でnumericなら不要だろ。