[태그:] <span>datetime</span>

00:14 lubridate 설치 및 사용 설정
01:17 해야할 일 소개
02:02 오늘, 현재 시각 알아내기
datetime에서 년,월,일,시,분,초 부분만 추출하기
02:56 datetime에서 특정 시간을 더한 datetime 구하기
03:40 원하는 인자를 전달하여 datetime 만들기
05:16 datetime 형식을 문자열로 바꾸기

안녕하세요. 언제나 휴일에 언휴예요.

이번 강의에서 다루는 내용은 다음과 같습니다.

lubridate 패키지 설치

lubridate 라이브러리 설치

오늘 today()

현재 시각 now()

일시에서 원하는 부분 추출하기 year(), month(), day(),…

특정 시각에서 시간 더하기 dt+years(y), dt+months(m),…

원하는 일시 표현하기 ymd, dmy,ymd_h, ymd_hm, ymd_hms,…

datetime을 문자열로 표현하기 as.character(nd,’%Y’),…

패키지 설치

install.packages(‘패키지명’)을 입력합니다.

다음은 lubridate 패키지를 설치하기 위해 install.packages(‘lubridate’)를 입력하였을 때의 설치 모습입니다.

#lubridate 패키지 설치
> install.packages('lubridate')
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:

https://cran.rstudio.com/bin/windows/Rtools/
URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/lubridate_1.7.8.zip'을 시도합니다
Content type 'application/zip' length 1735923 bytes (1.7 MB)
downloaded 1.7 MB

package ‘lubridate’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
	C:\Users\ehclub\AppData\Local\Temp\RtmpE38xon\downloaded_packages


라이브러리 사용

library(라이브러리 명)을 입력합니다.

> #lubridate 라이브러리 사용
> library(lubridate)

다음의 패키지를 부착합니다: ‘lubridate’

The following objects are masked from ‘package:base’:

    date, intersect, setdiff, union

오늘과 현재 시각 얻어오기

오늘은 todday() 함수, 현재 시각은 now() 함수를 호출하여 얻어옵니다.

> #오늘
> today()
[1] "2020-05-15"

> #현재 시각
> now()
[1] "2020-05-15 16:01:44 KST"

일시에서 원하는 부분 추출하기

year(x), month(x), day(x), hour(x),… 등의 함수를 이용하여 원하는 부분을 추출할 수 있어요.

> #일시에서 원하는 부분 추출하기
> nd = now()
> year(nd)
[1] 2020
> month(nd)
[1] 5
> day(nd)
[1] 15
> hour(nd)
[1] 16

특정 시각에서 시간(년월일시분초)을 더하기

datetime에 years(y), months(m), days(d), hours(h),…를 더합니다.

> #특정 시각에서 시간 더하기
> nd+years(1)
[1] "2021-05-15 16:02:18 KST"
> nd+months(1)
[1] "2020-06-15 16:02:18 KST"
> nd+hours(1)
[1] "2020-05-15 17:02:18 KST"

원하는 일시 표현하기

ymd(), dmy(), ymd_h(), ymd_hm(), ymd_hms(),… 등의 함수를 이용하여 표현합니다.

> #원하는 일시 표현하기
> ymd('2020-05-08')
[1] "2020-05-08"
> dmy('08-05-2020')
[1] "2020-05-08"
> ymd(20200508)
[1] "2020-05-08"
> ymd_hms('2020-05-08 19:59:59')
[1] "2020-05-08 19:59:59 UTC"

datetime을 문자열로 변환

as.character로 변환합니다.

> #datetime을 문자열로 변환
> class(nd)
[1] "POSIXct" "POSIXt" 
> as.character(nd)
[1] "2020-05-15 16:02:18"
> as.character(nd,'%Y')
[1] "2020"

보다 디테일한 부분은 강의를 진행하면서 별도로 다루기로 할게요.

R 입문