2017-08-16 8 views
2

丸め秒からRを防ぐためにどのように...今私はそれを変換する文字--->今私はタイミングデータを含むCSVファイルを持っている

"19:56:05.938836" "19:56:06.269024" "19:56:06.868525" "19:56:15.080690" "19:56:15.422007" "19:56:16.132036" 

などの時間COLを読み込みread.csv.raw()を使用して、それを読んだとき>

19:56:06 19:56:06 19:56:07 19:56:15 19:56:15 19:56:16 

明らかに、それは時間を丸めている...私はミリ秒の分解能を必要と私は、したくない - と時刻オブジェクトを与え、私はchron::times()を使用していた時間オブジェクトに変換します。 そのchar時間ベクトルを四捨五入せずにtimeオブジェクトに変換する方法はありますか?

更新---->

ので、私はそれは(私が必要)になりたい - 時間オブジェクトとして

19:56:05 19:56:06 19:56:06 19:56:15 19:56:15 19:56:16 

私は時間、分などを比較できるように...

+0

をあなたが必要な場合は、多分あなたは時間と分を必要としませんミズ ? –

+0

@Moody_Mudskipper最新の質問をご覧ください。あいまいさを残して申し訳ありません... –

+1

あなたのアップデートはやや混乱しています。元の精度をミリ秒単位で維持したいと思っているのですか、それとも常に最も近い秒までDOWNに丸めたいのですか? –

答えて

3

lubridateパッケージを使用すると、データの完全な精度を維持できます。

times <- 
    c(
    "19:56:05.938836", 
    "19:56:06.269024", 
    "19:56:06.868525", 
    "19:56:15.080690", 
    "19:56:15.422007", 
    "19:56:16.132036" 
) 

hms(times) 
# [1] "19H 56M 5.938836S" "19H 56M 6.269024S" "19H 56M 6.868525S" "19H 56M 15.08069S" 
# [5] "19H 56M 15.422007S" "19H 56M 16.132036S" 
+0

ありがとうございました –

3
あなたの文字列から「ミリ秒」を取り除き、以下のように「時間」オブジェクトにそれを変換することができ

> chron::times(sub("\\..*", "", "19:56:05.938836")) 
[1] 19:56:05 
関連する問題