read_excel
Rのパッケージから使用してxlsxファイルを読んでいますreadxl
。私の列には文字列が含まれているためreadxl
、文字列として取得します。ただし、日時は前に数値に変換されてから文字列として与えられます。を使用するas.Date
と、日時の日付部分を正しく取得できますが、タイムスタンプが失われます。異なるオリジンで使用as.POSIXct
すると、正しいタイムスタンプが得られません。次に例を示します。
Excel に表示される時間: 28/09/2016 14:47
read_excel によって文字列として読み取られます"42641.6163310185"
:28/09/2016 14:47
> as.POSIXct(as.numeric("42641.6163310185"), origin = "1899-12-30")
[1] "1899-12-30 11:50:42.616331 GMT"
> as.POSIXct(as.numeric("42641.6163310185"), origin = "2016-09-28")
[1] "2016-09-28 12:50:41.616331 BST"
read_excel
正しい変換とは何ですか?関数によって失われる情報はありますか?
編集: R と Excelのデータの違いas.POSIXct
から変換は*86400
、私が認識していなかったものです。以下の作品:
> as.POSIXct(42641.6163310185*86400, origin = "1899-12-30", tz="UTC")
[1] "2016-09-28 14:47:30 UTC"