[r] UNIX 시대를 Date 객체로 변환

균일하게 분포 된 시계열에 대한 계산을 플로팅하고 수행하고 있습니다. 타임 스탬프는 현재 UNIX 시대 (예 🙂 이후의 초 수를 나타내는 정수로 저장 1352068320되지만 Date개체는 플로팅에 더 적합 해 보입니다. 어떻게 변환 할 수 있습니까?

?Date, ?as.Date및을 읽었 ??epoch지만 해당 정보를 놓친 것 같습니다.



답변

를 통해 거기 POSIXct를 설정하고 싶습니다. TZ여기에 내 (시카고) 기본값이 표시됩니다.

R> val <- 1352068320
R> as.POSIXct(val, origin="1970-01-01")
[1] "2012-11-04 22:32:00 CST"
R> as.Date(as.POSIXct(val, origin="1970-01-01"))
[1] "2012-11-05"
R> 

편집 : 몇 년 후, 이제 언제든지 패키지를 사용할 수 있습니다 .

R> library(anytime)
R> anytime(1352068320)
[1] "2012-11-04 16:32:00 CST"
R> anydate(1352068320)
[1] "2012-11-04"
R> 

모든 것이 형식이나 원본 인수 없이 어떻게 작동하는지 주목하십시오 .


답변

에서 library(lubridate)1970-01-01 00:00:00 UTC 이후의 초 수로 저장된 날짜 및 시간의 숫자 표현은 다음을 사용하여 날짜로 통합 될 수 있습니다 as_datetime().

lubridate::as_datetime(1352068320)

[1] "2012-11-04 22:32:00 UTC"


답변