Datetime format
Table of contents
Date or Datetime 변환 개요
http://statkclee.github.io/data-science/ds-date-basics.html
https://www.cyclismo.org/tutorial/R/time.html#time-data-types
날짜 와 시간 차이
R에서 날짜와 시간은 각각 다른 클래스를 통해 구현되는데,
– 날짜(Date)는 Date 클래스이고, (1970-01-01을 기준으로 R 내부적으로) 정수형으로 저장되고,
– 시간(Time)은 POSIXct, POSIXlt 클래스이고, (1970-01-01을 기준으로 R 내부적으로) 초단위로 저장된다.
KST (Korea Standard Time),
GMT (Greenwich Mean Time) : time zone
= UTC (Coordinated Universal Time ) : time standard
00:00:00
disappears
변환 작업 순서
- ISO 8601 표준문자열(“1970-01-01”) 에 근거하여 표현된 날짜/시간은 R에서는 String로 인식하고,
- 이런 String 데이터는 날짜/시간 변환 함수(as.Date, as.POSIXct, as.POSIXlt, strptime)를 통해 DateTime 데이터로 변환한 후,
- 날짜/시간 팩키지(zoo, xts, lubridate)를 통해 작업을 진행한다.
String (charactor) -> Date (Date)
lubridate::ymd()
lubridate::as_date()
as. Date(format=””)
String (charactor) -> Datetime (POSIXct, POSIXt)
POSIX : Portable Operating System Interface for Unix (application programming interface)
– ct : continuous time (the number of seconds)
POSIXct 클래스는 매우 큰 정수로 시간정보를 데이터프레임으로 저장할 때 유용하다.
– lt : list time, (keeps the date as a list of time attributes (such as “hour” and “mon”))
POSIXlt 클래스는 요일, 년, 월, 일 등의 정보를 리스트 자료형으로 리스트 내부 원소로 저장되어 유용하다.
lubridate::mdy_hms
lubridate::parse_date_time
lubridate::as_datetime()
https://lubridate.tidyverse.org/
https://rawgit.com/rstudio/cheatsheets/master/lubridate.pdf
hour단위 time series 만들기
https://stackoverflow.com/questions/33782218/how-to-create-a-time-series-of-hourly-data
base:: strptime()
문자열 (character 벡터)를 POSIXlt 클래스로 변환한다.
as.POSIXct()
(tz=””)
(format=””)
연도별 평균값, 월별 평균, 일별 평균 등을 구하기 위해 list형태로 시간을 나누어, year, mon, wday등을 활용한다.
as.POSIXlt()
연도별 평균값, 월별 평균, 일별 평균 등을 구하기 위해 list형태로 시간을 나누어, year, mon, wday등을 활용한다.
Date, DateTime (Date, POSIXct) -> String (charactor)
format(), strftime()
stringr:: str_to_sentence()
Date -> DateTime
String-> time
String-> 날짜형식String (ISO8601표준에 맞게)
여러 포멧의 날짜데이터를 (format정의없이) POSIX나 Date 포멧을 converting해준다.
http://dirk.eddelbuettel.com/code/anytime.html
<참고> as.POSIXct 에 관해
POSIXct 타입은 내부적으로는 정수를 저장하고 있기 때문에,
Plotting할대 숫자처럼 순차적으로 활용할수 있으면, ggplot에서 scale_x_date / scale_x_time/ scale_x_datetime 를 활용하여 표현가능하다.
3. 날짜/시간 팩키지 활용
String에서 변환된 날짜/시간 객체는 여러 팩키지를 활용가능하다.