zoo 패키지의 시계열 객체

R로 시계열 데이터 다루기

Harrison Brown

Graduate Researcher in Geography

zoo 패키지

zoo

  • zoo 객체 클래스를 제공
  • 시계열 데이터 조작·시각화 함수 제공
R로 시계열 데이터 다루기

zoo vs base R

base R:

  • stats::ts 클래스
  • 규칙적 간격만 지원
  • 데이터 프레임 생성이 번거로움

zoo:

  • zoo 클래스
  • 규칙적·비규칙적 간격 지원
  • 데이터 프레임으로 변환 메서드
R로 시계열 데이터 다루기

zoo 객체 생성

sample_values
[1] 4.224 5.495 6.156
[4] 6.397 6.291 6.262
...
sample_dates
[1] "2022-01-20" "2022-01-21"
[3] "2022-01-22" "2022-01-23"
[5] "2022-01-24" "2022-01-25"
...
R로 시계열 데이터 다루기

zoo 객체 생성

library(zoo)
my_zoo <- zoo(x = sample_values,
              order.by = sample_dates)
my_zoo
2022-01-20 4.224
2022-01-21 5.495
2022-01-22 6.156
2022-01-23 6.397
2022-01-24 6.291
2022-01-25 6.262
...
R로 시계열 데이터 다루기

ts에서 zoo로 변환

class(AirPassengers)
[1] "ts"
AP_zoo <- zoo::as.zoo(AirPassengers)
class(AP_zoo)
[1] "zoo"
R로 시계열 데이터 다루기

zoo vs ts

print(AirPassengers)
     Jan Feb Mar Apr May Jun Jul ...
1949 112 118 132 129 121 135 148 ...
1950 115 126 141 135 125 149 170 ...
1951 145 150 178 163 172 178 199 ...
1952 171 180 193 181 183 218 230 ...
1953 196 196 236 235 229 243 264 ...
...
print(AP_zoo)
Jan 1949 112
Feb 1949 118
Mar 1949 132
Apr 1949 129
May 1949 121
Jun 1949 135
Jul 1949 148
Aug 1949 148
Sep 1949 136
...
R로 시계열 데이터 다루기

zoo와 ggplot2

library(ggplot2)

ggplot(data = my_zoo,
       aes(x = Index, y = my_zoo)) +

geom_line(color = "blue", size = 2, linetype = "dotted") +
scale_y_continuous() +
theme_bw() + labs(x = "Index", y = "Value", title = "Plotting a zoo Object")
R로 시계열 데이터 다루기

zoo와 ggplot2

'my_zoo' 시계열 플롯. ggplot2 패키지의 다양한 요소(축 라벨, 제목, 테마, 색상 등)를 데이터 프레임과 유사한 문법으로 적용하는 방법을 보여줍니다.

R로 시계열 데이터 다루기

연습해 봅시다!

R로 시계열 데이터 다루기

Preparing Video For Download...