R에서 데이터 프레임을 시계열로 변환하는 방법


R에서 데이터 프레임을 시계열 객체로 변환하는 가장 쉬운 방법은 Zoo 패키지의 read.zoo() 함수를 사용하는 것입니다.

 tseries <- read. zoo (df)

다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.

예: R에서 데이터 프레임을 시계열로 변환

R에 다음과 같은 데이터 프레임이 있다고 가정합니다.

 #create data frame
df <- data. frame (date = as.Date (' 2022-01-01 ') + 0:9,
                 sales = runif(10, 10, 500) + seq(50, 59)^2)

#view data frame
df

         dirty date
1 2022-01-01 2797.159
2 2022-01-02 2782.148
3 2022-01-03 2801.773
4 2022-01-04 3257.546
5 2022-01-05 3415.920
6 2022-01-06 3267.564
7 2022-01-07 3577.496
8 2022-01-08 3627.193
9 2022-01-09 3509.547
10 2022-01-10 3670.815

class() 함수를 사용하여 df가 현재 데이터 프레임인지 확인할 수 있습니다.

 #display class of df
class(df)

[1] "data.frame"

데이터 프레임을 시계열 객체로 변환하려면 Zoo 패키지의 read.zoo() 함수를 사용할 수 있습니다.

 library (zoo)

#convert data frame to time series
tseries <- read. zoo (df)

#view time series
tseries

2022-01-01 2022-01-02 2022-01-03 2022-01-04 2022-01-05 2022-01-06 2022-01-07 
  2797.159 2782.148 2801.773 3257.546 3415.920 3267.564 3577.496 
2022-01-08 2022-01-09 2022-01-10 
  3627.193 3509.547 3670.815

그리고 class() 함수를 사용하여 tseries에 “zoo” 시계열 클래스가 있는지 확인할 수 있습니다.

 #display class of tseries
class(tseries)

[1] “zoo”

as.ts() 함수를 사용하여 “zoo” 시계열 객체를 “ts” 시계열 객체로 변환할 수도 있습니다.

 #convert to ts object
tseries_ts <- as. ts (tseries)

#view time series object
tseries_ts

Time Series:
Start = 18993 
End = 19002 
Frequency = 1 
 [1] 2797.159 2782.148 2801.773 3257.546 3415.920 3267.564 3577.496 3627.193
 [9] 3509,547 3670,815

#view class
class(tseries_ts)

[1] “ts”

최종 목표에 따라 데이터 프레임을 “zoo” 시계열 개체 또는 “ts” 시계열 개체로 변환하는 것이 더 합리적일 수 있습니다.

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

R에서 시계열을 그리는 방법
R에서 문자열을 날짜/시간으로 변환하는 방법
R에서 difftime을 사용하여 시간 차이를 계산하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다