3

一つ質問があります。20110711201023その日付と時刻の形式を時間数に変換する方法。これは私が画像解析に使用しているソフトウェアの出力であり、変更することはできません。開始日時を定義することは非常に重要です。形式: 2011 年 07 月 11 日 20 時 10 分 23 秒。例:

Starting Data and Time - 20110709201023,
First Data and Time - 20110711214020
Result = 49,5h.

この形式のデータが 10000 個あるので、手動で行いたくありません。アドバイスをいただければ幸いです。

4

1 に答える 1

3

最良の方法は、最初に以下を使用して実際のR時間オブジェクトにすることstrptimeです。

time_obj = strptime("20110711201023", format = "%Y%m%d%H%M%S")

開始日と終了日の両方でこれを行う場合は、次のように簡単に言うことができます。

end_time - start_time 

差を秒単位で取得します。これは、時間数に簡単に変換できます。これらの時間文字列のリスト全体を変換するには、次のようにします。

time_vector = strptime(dat$time_string, format = "%Y%m%d%H%M%S")

ここdatで、はデータを含むdata.frameと、time_string時間文字列を含む列です。strptimeはベクトルでも機能することに注意してください(ベクトル化されています)。新しい時間ベクトルをdatの一部にすることもできます。

dat$time = strptime(dat$time_string, format = "%Y%m%d%H%M%S")

またはもっとエレガントに(少なくとも$私と同じくらい嫌いなら:)):

dat = within(dat, { time = strptime(dat$time_string, format = "%Y%m%d%H%M%S") }) 
于 2012-11-28T14:25:05.187 に答える