7l log

[R데이터분석] 날짜와 시간 관련함수(package: lubridate) 본문

2022

[R데이터분석] 날짜와 시간 관련함수(package: lubridate)

HAPAGO 2022. 4. 24. 22:49

날짜와 시간

year(), month(, label=), day(), wday(, label=), hour(), minute(), second()

오늘 날짜

Sys.Date()

[1] "2022-04-27”

현재 시간

Sys.time()

[1] "2022-04-27 16:56:32 KST”

미국식 시간

date( )

[1] "Wed Apr 27 16:57:12 2022”

문자→날짜 강제 변환하기

as.Date('2014-11-01')

#문자인 “2014-11-01”을 날짜형식으로 as.date [1] "2014-11-01"

as.Date("2014/11/01")

#문자인 "2014/11/01"을 날짜형식으로 [1] "2014-11-01"

날짜형태 지정하기

as.Date() 함수는 날짜형식으로 변경해주며

어떤 형태로 입력해도 네자리 0000-00-00 형식으로 나옴

[1] "2014-11-01” 추출방법 3가지

as.Date("01-11-2014", format="%d-%m-%Y")

[1] "2014-11-01"

as.Date("2014년 11월 1일", format="%Y년 %m월 %d일")

[1] "2014-11-01"

as.Date("01112014", format="%d%m%Y")

[1] "2014-11-01"

as.Date("011114", format="%d%m%y")

[1] "2014-11-01"

날짜연산

주어진 날짜의 10일 뒤, 10일 전 날짜

as.Date(10,origin="2014-11-10") [1] "2014-11-20" as.Date(-10,origin="2014-11-10") [1] "2014-10-31"

날짜형식으로 as.Date() 한 후 연산

as.Date("2014-11-30") - as.Date("2014-11-01") Time difference of 29 days

일수 더하기

as.Date("2014-11-01") + 5 [1] "2014-11-06"

시간차 구하는 함수

POSIXlt (), POSIXct()

POSIXlt: 날짜를 년,월,일 로 표시하는 리스트형이라는 클래스

POSIXct: 날짜는 연속적인 데이터로 인식해서 1970년을 기준으로 초 단위로 계산

as.Date("2014-11-01 20:00:00") - as.Date("2014-11-01 18:30")

Time difference of 0 days

as.POSIXct("2014-11-01 20:00:00") - as.POSIXct("2014-11-01 18:30:30")

Time difference of 1.491667 hours

 

날짜와 시간 제어하기: lubridate 패키지로

install.packages("lubridate") library(lubridate)

lubridate 패키지를 깔았으면 아래와 같은 함수 사용이 가능해짐

date <- now( )

#"2022-04-27 17:58:49 KST”

 

년도만 출력

year(date)

#[1] 2022

 

월을 출력하되 영문 이름으로 출력

month(date,label=T)

[1] 4

Levels: 1 < 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < 10 < 11 < 12

숫자로 출력

month(date,label=F)

#[1] 4

 

일 출력하기

day(date)

#[1] 27

 

요일 출력

wday(date,label=T)

#[1] 수 #Levels: 일 < 월 < 화 < 수 < 목 < 금 < 토

요일을 가중치 숫자로 출력(일요일부터 1로 시작)

wday(date,label=F)

#[1] 4

 

2일전 날짜 출력

date <- date - days(2)

date

#[1] "2022-04-25 22:21:35 KST”

 

date+years(1) # 1 년 추가

date+months(1) # 1 개월 추가
date+hours(1) # 1 시간 추가
date+minutes(1) # 1 분 추가
date+seconds(1) #1 초 추가
date <- hm("22:30") ; date # 시간 분 지정하기 [1] "22H 30M 0S"
date <- hms("22:30:15") ; date # 시간 분 초 지정하기 [1] "22H 30M 15S"

'2022' 카테고리의 다른 글

0530 CSS  (0) 2022.05.30
0527 HTML  (0) 2022.05.27
[R데이터분석] 리스트, 데이터프레임  (0) 2022.04.24
[R데이터분석] 행렬, 배열  (0) 2022.04.24
[R데이터분석] 벡터  (0) 2022.04.24
Comments