Date-Time Conversion Function in R
R에서는 이것의 처리를 위해서 POSIXlt
와 POSICct
를 사용 할 수 있다.
예제
> Sys.time()
[1] "2015-12-12 13:08:11 KST"
w
> Sys.timezone()
[1] "Asia/Seoul"
> Sys.Date()
[1] "2015-12-12"
현재 datetime을 class로 받은다음 그것을 integer로 변경하는 방법
> z <- Sys.time()
> z
[1] "2015-12-12 13:27:17 KST"
> unclass(z)
[1] 1449894437
#다시 원래대로 복구함
> as.POSIXct(1449894437,origin="1970-01-01")
[1] "2015-12-12 13:27:17 KST"
서로 다른 시간으로 변경하
> as.POSIXlt(Sys.time(), "GMT")
[1] "2015-12-12 04:45:42 GMT"
> as.POSIXlt(Sys.time(), "EST5EDT") # the current time in New York
[1] "2015-12-11 23:46:48 EST"
> as.POSIXlt(Sys.time(), "EST" ) # ditto, ignoring DST
[1] "2015-12-11 23:46:48 EST"
> as.POSIXlt(Sys.time(), "HST") # the current time in Hawaii
[1] "2015-12-11 18:46:48 HST"
> as.POSIXlt(Sys.time(), "Australia/Darwin")
[1] "2015-12-12 14:16:48 ACST"
timestamp (milliseconds) 처리하기
#POSIXct 함수를 이용한
time <- 1433848856453
timezone <- 10800000
options(digits.secs=3)
as.POSIXct((time+timezone)/1000, origin="1970-01-01")
lt와 ct의 차이
lt
는 list time의 약어이고 ct
는 continuous time`의 약어이다.
as.POSIXlt()
: 시계열분석이나 년/월/일/시간/분/초 단위로 구분해서 연산을 해야 하는 경우 해당 함수로 날짜/시간 type으로 바꾸어주면 편하다.as.POSIXct()
:
참고자료
http://astrostatistics.psu.edu/su07/R/html/base/html/as.POSIXlt.html
http://stackoverflow.com/questions/1962278/dealing-with-timestamps-in-r
지수표기를 숫자표기로 변경하는 R 옵션
'AI > R Basic' 카테고리의 다른 글
위도,경도를 주소로 변환 ggmap package를 이용한 (geocoding and revgeocode in R) (0) | 2016.03.03 |
---|---|
Do.call() (0) | 2016.02.05 |
JSON in R using jsonlite (0) | 2015.12.12 |
통계처리 (기본) (0) | 2015.10.28 |
데이터 분리 및 병합 (split, subset, merge) (1) | 2015.10.22 |