8.3 날짜-시간 변수
만일 날짜 컬럼이 시간 정보(예, 날짜-시간)를 추가적으로 포함하고 있다면, 문자열을 POSIXct
클래스로 변환하기 위해 함수 이름의 y
, m
, d
에 하나 이상의 h
, m
, s
등을 추가할 수 있다. POSIXct
클래스는 1970년 초를 기준으로 이후 경과된 초에 대한 수치를 나타내는 숫자로 날짜-시간 변수를 저장한다.
dates
데이터 세트의 다섯 번째 컬럼인 decision_time
은 날짜-시간 변수이다(물론 lubridate()
함수가 무시할 Approved/Denied
문자열을 데이터의 앞 부분에 포함하고 있다). 구체적으로 날짜-시간은 월, 일, 년, 시, 분, 초 등으로 기록되어 있기 때문에, mdy_hms() 함수를 사용할 것이다:
# month day year hour minute second
mdy_hms(d$decision_time)
## [1] "2015-10-10 07:15:55 UTC" "2011-09-27 14:57:23 UTC"
## [3] "2015-04-24 02:03:03 UTC"
# POSIXct is a standard way of representing calendar time
class(mdy_hms(d$decision_time))
## [1] "POSIXct" "POSIXt"
표준 시간대(“time zone” standard)의 디폴트 값으로 UTC
(Coordinated Universal Time)가 사용되었다. 시간대를 설정하기 위해서는 tz =
인수를 사용한다. 유효한 시간대 사양 목록을 확인하려면 OlsonNames()
함수를 시행하기 바란다.
# we'll use this for our dates variable
$decision_time <- mdy_hms(d$decision_time, tz="US/Pacific")
dates$decision_time dates
## [1] "2015-10-10 07:15:55 PDT" "2011-09-27 14:57:23 PDT"
## [3] "2015-04-24 02:03:03 PDT"
# first 20 valid time zones
head(OlsonNames(), n=20)
## [1] "Africa/Abidjan" "Africa/Accra" "Africa/Addis_Ababa"
## [4] "Africa/Algiers" "Africa/Asmara" "Africa/Asmera"
## [7] "Africa/Bamako" "Africa/Bangui" "Africa/Banjul"
## [10] "Africa/Bissau" "Africa/Blantyre" "Africa/Brazzaville"
## [13] "Africa/Bujumbura" "Africa/Cairo" "Africa/Casablanca"
## [16] "Africa/Ceuta" "Africa/Conakry" "Africa/Dakar"
## [19] "Africa/Dar_es_Salaam" "Africa/Djibouti"