RのstrptimeがNAを返す場合の対処法
Rのstrptimeが上手く動かずにNAを返してしまう事がある。
WindowsにRをインストールして動かすと以下のパターンで上手くいかなかった。
> conv <- strptime("04 Oct 2002 11:36:16", "%d %B %Y %I:%M:%S", tz="")
> print(conv)
[1] NA
以下のパターンだと上手くいってた。月を文字から数字にして、パターンに%Bから%mに変えたってことね。
> conv <- strptime("04 10 2002 11:36:16", "%d %m %Y %H:%M:%S")
> print(conv)
[1] "2002-10-04 11:36:16 JST"
月の文字列を使うパターンで引っかかってしまうらしい。
これを解決するには以下のコードを実行する。
> Sys.setlocale(category="LC_TIME","C")
するとうまくいった。
> conv <- strptime("04 Oct 2002 11:36:16", "%d %B %Y %I:%M:%S", tz="")
> print(conv)
[1] "2002-10-04 11:36:16 JST"
Sys.setlocale(category="LC_TIME","C")の意味はよく分かってない。
これで「入門機械学習」のコードも動く。やっと読み進められる。
おわり。

- 作者: Paul Teetor,大橋真也,木下哲也
- 出版社/メーカー: オライリージャパン
- 発売日: 2011/12/22
- メディア: 大型本
- 購入: 9人 クリック: 61回
- この商品を含むブログ (13件) を見る