Excelからデータをインポートしていて、Rで日付と時刻を操作しようとしていますが、それは私にそのようなHEADACHEを与えています。 Excelファイルでは、1つの列に日付と時刻が含まれ、別の列には同じ日に異なる時刻が含まれていました。 R内のデータは、基本的に、この例のようになります。RでのPOSIXctと数値の相互変換
mydata <- data.frame(DateTime1 = as.POSIXct(c("2014-12-13 04:56:00",
"2014-12-13 09:30:00",
"2014-12-13 11:30:00",
"2014-12-13 13:30:00"),
origin = "1970-01-01", tz = "GMT"),
Time2 = c(0.209, 0.209, 0.715, 0.715))
私は日付と2回目とPOSIXct形式で新しい列を持っているしたいのですが、私はそれを動作させることはできません。私は試しました:
mydata$DateTime2 <- as.POSIXct(as.numeric(as.Date(mydata$DateTime1)
+ mydata$Time2), origin = "1970-01-01",
tz = "GMT")
しかし、それは私に日付と時刻を1/1/1970に近づけます。
これは、より複雑ですが、私も試した他の似状況で働いている一つのことは、次のとおりです。
library(lubridate)
mydata$DateTime2 <- ymd_hms(format(as.POSIXct(as.Date(mydata$DateTime1) +
mydata$Time2,
origin = "1899-12-30", tz = "GMT")))
が、それは私に8時間でオフになっている日付と時刻を提供します。その時間差は、私が太平洋標準時にいるので問題がタイムゾーンだと思うようになりますが、を入力データと変換しようとする時にGMTに設定します!何がありますか?私は、夏時間の合併症のためにすべてに8時間を追加することを躊躇しています。
私がここにリストアップしている両方の試みは、相互変換に問題があるようです。つまり、POSIXctオブジェクトで始まり、数値に変換してPOSIXctに変換し直すと、あなたが始めたところではではありません。同様に、タイムゾーンがGMTで始まり、タイムゾーンがGMTに設定されているものを追加すると、不思議なことにシステムタイムゾーンに変換されたものには問題はないはずです。
アドバイス?私はここにクリス・ホルブルックの回答に基づいて回答見つかっ
変換前と変換後に 'unclass(DateTime1)'を調べてください。前後の同じ整数(技術的には数値)でなければなりません。そうだとすれば、正しいタイムゾーン/原点を設定するだけです。 – MichaelChirico
提案していただきありがとうございますが、 'unclass(...'を含めないでください)との違いはありません – LauraS
私は誤解されるかもしれませんが、 'Time2'を' DateTime1 '' Time2'の単位については分かりませんが、説明のための日だとしましょう。 '' mydata $ DateTime2 = mydata $ DateTime1 + mydata $ Time2 * 24 * 60 * 60'(POSIXctは私たちは 'Time2'を秒に変換します)。 – eipi10