R에서 시계열 객체 만들기
시계열은 숫자 벡터나 행렬에, 그 숫자가 언제 기록되었는지에 대한 시간 정보가 함께 있는 형태라고 볼 수 있습니다. 이 정보는 R에서 ts 객체에 저장됩니다. 대부분의 연습 문제에서는 기존 패키지에 포함된 시계열을 사용하지만, 직접 가진 데이터를 사용하려면 R에서 ts 객체를 만드는 방법을 알아야 합니다.
아래의 예시 usnim_2002는 2002년 미국 은행의 순이자마진(net interest margins)을 담고 있습니다(출처: FFIEC).
> usnim_2002
usnim
1 2002-01-01 4.08
2 2002-04-01 4.10
3 2002-07-01 4.06
4 2002-10-01 4.04
> # ts(data, start, frequency, ...)
> usnim_ts = ts(usnim_2002[, 2], start = c(2002, 1), frequency = 4)
ts() 함수는 세 가지 인수를 받습니다.
data는usnim_2002에서 날짜 열을 제외한 모든 값으로 설정합니다. 시간 정보는ts객체에 별도로 저장되므로 날짜 열은 필요하지 않습니다.start는 첫 관측 시점을 나타내기 위해c(year, period)형식으로 설정합니다. 여기서 1월은 period 1에 해당합니다. 같은 방식으로 4월은 2, 7월은 3, 10월은 4가 됩니다. 즉, period는 연도의 분기(quarter)를 의미합니다.frequency는 데이터가 분기별이므로 4로 설정합니다.
이 연습에서는 readxl 패키지의 read_excel()을 사용해 xlsx 파일에서 시계열 데이터를 읽고, 이를 ts 객체로 저장해 보겠습니다. xlsx 파일과 패키지는 워크스페이스에 이미 로드되어 있습니다.
이 연습은 강의의 일부입니다
R로 배우는 시계열 예측
연습 안내
read_excel()함수를 사용해"exercise1.xlsx"의 데이터를mydata에 읽어 오세요.- R 콘솔에서
mydata에head()를 적용해 데이터의 앞부분을 확인하세요. 날짜를 살펴보면 1981년에 네 개의 관측치가 있어, 연도별 네 행으로 이루어진 분기 데이터임을 알 수 있습니다. 첫 관측치, 즉 start 날짜는Mar-81이며, 1981년의 네 행 중 첫 번째이므로 3월이 첫 period에 해당합니다. - 관찰한 내용을 바탕으로
ts()를 사용해myts라는ts객체를 만드세요.data,start,frequency를 알맞게 설정하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Read the data from Excel into R
___ <- ___("exercise1.xlsx")
# Look at the first few lines of mydata
___
# Create a ts object called myts
myts <- ts(___[___], start = c(___, ___), frequency = ___)