zoo와 데이터 프레임 간 변환

R로 시계열 데이터 다루기

Harrison Brown

Graduate Researcher in Geography

데이터 프레임과 zoo 객체 간 변환

R에서 데이터 프레임과 시계열 간 변환의 개념도. 왼쪽에는 데이터 프레임 모형이 있고, 시간 기반 데이터 열과 변수 'x' 열이 있습니다. 오른쪽에는 그래프로 표시된 시계열이 있습니다. x축에는 데이터 프레임의 시간 기반 데이터를 나타내는 시계 심볼이, y축에는 데이터 프레임의 변수 'x'가 있습니다. 두 도형 사이에는 양방향 화살표가 있습니다.

R로 시계열 데이터 다루기

data.frame 대 zoo

data.frame:

  • 각 변수는 열에 저장됨
  • 인덱스는 열에 저장됨
    • 예: data$dates
  • geom_*()만 사용 가능:
ggplot(example_dataframe,
       aes(x = dates, y = values)) + 
  geom_line()

zoo:

  • 각 변수는 행렬 열에 저장됨
  • 인덱스는 속성으로 저장됨
    • 예: index(data)
  • geom_*()autoplot() 사용 가능:
ggplot(maunaloa,
       aes(x = Index, y = maunaloa)) + 
  geom_line()
# Or...
autoplot(maunaloa)
R로 시계열 데이터 다루기

데이터 프레임에서 zoo로

head(prices)
        date       value
1 2013-01-01        4.88
2 2013-01-02        5.03
3 2013-01-03        5.11
4 2013-01-04        4.77
5 2013-01-05        5.04
6 2013-01-06        5.05

my_dataframe$my_column

prices_zoo <-
    zoo(x = prices$value,
        order.by = prices$date)
prices_zoo
2013-01-01 4.88
2013-01-02 5.03
2013-01-03 5.11
2013-01-04 4.77
2013-01-05 5.04
2013-01-06 5.05
R로 시계열 데이터 다루기

zoo 객체 보강(fortify)

data_df <-
  data.frame(index(my_zoo),
             coredata(my_zoo))

zoo::fortify.zoo()

fortify.zoo(my_zoo)
  Index    var1   var2   var3   var4
1     1 1628.75 1678.1 1772.8 2443.6
2     2 1613.63 1688.5 1750.5 2460.2
3     3 1606.51 1678.6 1718.0 2448.2
4     4 1621.04 1684.1 1708.1 2470.4
5     5 1618.16 1686.6 1723.1 2484.7
6     6 1610.61 1671.6 1714.3 2466.8
...
R로 시계열 데이터 다루기

연습해 봅시다!

R로 시계열 데이터 다루기

Preparing Video For Download...