私は1つの列がdatetimesの束をリストするデータフレームを持っています。奇妙なことに、その列のデータ型は「整数」です。私はPOSIXctのような適切なdatetimeデータ型に列を強制して、別のフィールドのタイムスタンプからこれらのタイムスタンプを引くことができるようにする必要があります。しかし、これらのdatetime値をPOSIXctに強制しようとすると、時間コンポーネントが失われます。別のデータ型に強制的に変換せずにdatetimeで数式を実行しようとすると、Rはタイムスタンプの時間要素が存在しないかのように動作します(各日付には深夜の時間があるものとみなされます)。何が起こっているのですか?Rがタイムスタンプを認識できるように修正するにはどうしたらいいですか?Rはdatetime値の時間成分を認識しません
> dates[1]
[1] 2016-05-05T16:46:21-04:00
48 Levels: 2016-05-03T06:45:42-04:00 2016-05-03T06:45:43-04:00 ... 2016-05-05T16:50:00-04:00
> typeof(dates)
[1] "integer"
> as.POSIXct(dates[1])
[1] "2016-05-05 EDT"
> as.character(dates[1])
[1] "2016-05-05T16:46:21-04:00"
> as.POSIXct(as.character(dates[1]))
[1] "2016-05-05 EDT"
「48レベル」は、Rがそれを要因として扱うというヒントです。 'read.csv'を使用した場合は、' stringAsFactors = F'を使用してください。 – rbm
あなたは標準でない日時フォーマットを持っています。 Rは、おそらく、 '.SOSIXct(" 2016-05-05T16:46:21-04:00 "、format ="%Y-%m-%dT%H:%M:%S ")のような助けを必要とします。' –