3판 맛보기) R에서 음력?
6.12 음력
일상생활에서 자주 사용하지는 않지만 앞에서 봤듯이 몇몇 공휴일(예. 설날, 석가탄신일)은 음력에 기반을 하고 있다. 그렇다면 R에서 음력은 어떻게 계산할 수 있을까? hongkong이란 패키지를 사용할 수 있다. 이 패키지는 CRAN에 등록되어 있지 않기 때문에 다음과 같이 설치할 수 있다. 윈도우에서는 저자가 살짝 수정한 소스코드를 사용할 수 있다.
if (.Platform$OS.type == "windows") { remotes::install_github("kwhkim/hongkong") # Windows } else { remotes::install_github("chainsawriot/hongkong") # UNIX }
사용법은 간단하다. 예를 들어 2004년의 석가탄신일(음력 4월 8일)은 5월 26일이었다. 이날의 음력을 계산해보자.
library(hongkong) lunarCal(as.Date("2004-05-26")) ## Year Month Day Leap ## 2004 4 8 0
반대로 음력 2004년 5월 26일을 양력으로 바꾸려면, 먼저 음력 날짜를 입력한 후 동일하게 lunarCal() 함수를 사용한다.
birthBuddha <- as.lunar("2004-04-08") # as.lunar()는 as.Date()와 같이 음력 날짜를 생성한다. lunarCal(birthBuddha) ## [1] "2004-05-26"
양력 변환 결과 2004년 5월 26일로 한국천문연구원의 Open API를 사용한 결과와 동일하다.
출처> R로 하는 빅데이터 분석: 데이터 전처리와 시각화/ 제 6장 날짜와 시간
Leave a comment