2016-03-19 12 views
0

これはStackOverflowの上の私の最初の質問ですので、私はどんなミスをした場合、私は謝罪でデータフレームの結果に時間をインポートRとPOSIX ..失われた情報

私は3が含まれているRでのデータフレームを、インポートしようとしています最初の行は「分:秒、ミリ秒」で表されます。例:「05:02,159」

ミリ秒を保持する時間をインポートしようとするたびに、全体の時間がリセットされているようです。

例のコードは、それがデータフレームであるのと同じ形式で、時間とともに、以下である:

> time1 <- "00:00,05" 
> time1 
[1] "00:00,05" 

情報の上に正しく保持されます。次に、charオブジェクトをPOSIXのものに変換しようとします。私は「TIME2」を視覚化しようとすると

> time2 <- as.POSIXct(strptime(time1,"%M:%OS")) 

、日付のみが

> time2 
[1] "2016-03-19 CET" 

私は出力をフォーマットしようと示され、その時刻情報がリセットされているようだ

> strftime(time2,'%Y-%m-%d %H:%M:%OS3') 
[1] "2016-03-19 00:00:00.000" 
> strftime(time2,'%H:%M:%OS3') 
[1] "00:00:00.000" 

また、オプション(digits.secs = 3)の設定を調整しようとしましたが、何も変更されませんでした。

+1

これはおそらくあなたのロケールによって異なります。私のシステムのロケールではコンマではなくドットで動作します(例: '' 00:00.05 '')。 –

答えて

2

カンマをドットで置き換えます。

time1 <- "00:00,05" 
time2 <- as.POSIXct(strptime(gsub(",", ".", time1, fixed = TRUE),"%M:%OS")) 
strftime(time2,'%Y-%m-%d %H:%M:%OS4') 
#[1] "2016-03-19 00:00:00.0499" 

ここで浮動小数点精度が重要です。

+0

私はデータフレームをインポートするとき、私は正しく小数点区切り記号としてコンマを設定しましたが、これは時間列として* chr *オブジェクトには関係ありません。ありがとうございました! – fzara

関連する問題