V5, V6 2014/12/26 23:50, 0.033 2014/12/26 23:40, 0.034 2014/12/26 23:30, 0.033 ................, .....
こういうデータを見ると、V5を横軸、V6を縦軸にして時系列グラフを描きたくなりますよね。でも、V5が文字列型で読み込まれていると、そのままplotのx軸に指定してもうまくいきません。
日付や時刻を表現する型に変換してやる必要があります。
上記のような書式(日付がスラッシュ、時刻がコロン)ならば、POSIXlt関数に引数で渡すだけで、簡単に変換することができます。
> as.POSIXlt("2014/12/26 23:50")
[1] "2014-12-26 23:50:00 JST"
まとめて処理するなら、↓こんな感じでしょうか。
d$日付時刻 <- as.POSIXlt(d$V5)
文字列が標準の書式に従っていれば、上記のように簡単です。
では、文字列が独自の書式で書かれている場合はどうでしょうか。例えば、日付時刻の情報が「2014年12月27日 00時00分」のような書式で入っているとします。このような場合は、strptimeを使うと便利です。
> strptime("2014年12月27日 00時00分", "%Y年%m月%d日 %H時%M分")
[1] "2014-12-27 JST"
%Y: 4桁の西暦
%m: 2桁の月
%d: 2桁の日
%H: 2桁の時
%M: 2桁の分
となっているので、それぞれの要素が文字列のどこに登場しているかを第2引数で指定しているわけですね。
「パーセントほにゃらら」として何が指定できるかは、ヘルプに書かれています。コマンドプロンプトに「?strptime」と打てば確認できます。
as.POSIXltやstrptimeをつかって日付時刻型に変換してしまえば、plotに指定することで、時系列のグラフを描けるようになります。■
[2015年1月2日追記]
実際のデータの時系列プロットで使ってみたサンプルです↓
Rで放射線モニタリング情報を時系列プロットする - Rプログラミングの小ネタ
■
%S: 2桁の分
返信削除は、
%M: 2桁の分
の間違いではないでしょうか?
管理人です。コメントありがとうございます。
返信削除まさに、ご指摘の通りです。
SはSeconds(秒)で、MがMinutes(分)ですもんね・・・。
本文は修正しておきました。