모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!!
🕑 ts Data로 변환하기 : ts( ) 함수
앞선 포스팅에서 살펴보았듯이 시계열 데이터 분석을 위해서는 ts 데이터가 필요합니다.
이번 포스팅에서는 일반적인 csv 파일, 즉 데이터프레임을 시계열 데이터로 바꾸기 위한 ts( ) 함수 를 알아봅시다.
## 클래스 확인 결과 data.frame 출력
## 이를 시계열 데이터로 바꿔줘야 함
head(exchange1.df)
is.ts(exchange1.df)
class(exchange1.df)
>>
## date exchange_rate_krw_usd
## 1 1980 1 586.1
## 2 1980 2 603.0
## 3 1980 3 625.0
## 4 1980 4 659.9
## 5 1981 1 672.8
## 6 1981 2 685.1
>> ## [1] FALSE
>> ## [1] "data.frame"
🕑 ts( ) 함수 : ts(DATAFRAME$column, START, FREQUENCY)
🚩 유의점 : start 및 frequency만 제공하기에 비어있는 날짜가 있는 경우 반드시 비워둬야 오류가 생기지 않습니다. 임의의 값으로 채우는 것은 분석의 결과에 영향을 줄 수 있으니 별도의 모델을 통해 근거있는 값을 넣어주거나 아예 0과 같은 값을 넣어주는 것이 올바른 방법입니다. 또는 NULL 값을 넣어 처리해도 되겠지만, 별도의 모델을 사용하는 방법이 가장 안전하지 않을까 싶습니다.
🕑 변환
## frequency = 4 -> 분기별 데이터
## frequency = 12 -> 월별 데이터
## frequency = 365 -> 일별 데이터
exchange1.ts = ts(exchange1.df$exchange_rate_krw_usd, start = c(1980,1), frequency = 4)
head(exchange1.ts, 5)
>> ## [1] 586.1 603.0 625.0 659.9 672.8
🕑 변환 결과 확인
is.ts(exchange1.ts)
>> ## [1] TRUE
🕑 주기 확인
frequency(exchange1.ts)
>> ## [1] 4
🕑 시작 날짜 확인
start(exchange1.ts)
>> ## [1] 1980 1
🕑 끝 날짜 확인
end(exchange1.ts)
>> ## [1] 2016 2
is.ts(oil_enter_in.R.df)
oil.ts = ts(oil_enter_in.R.df$oil, start = c(1994/01), frequency = 12)
head(oil.ts, 5)
is.ts(oil.ts)
frequency(oil.ts)
start(oil.ts)
end(oil.ts)
>>
## [1] FALSE
## [1] 8047 7173 8156 6527 6364
## [1] TRUE
## [1] 12
## [1] 1994 1
## [1] 1994 12
'📈📉 비즈니스 어낼리틱스 > 🕑 시계열 분석' 카테고리의 다른 글
🕑시계열데이터 분석 06 - 시계열 데이터 분해 (0) | 2023.04.13 |
---|---|
🕑시계열데이터 분석 05 - aggregate( ) 함수 (0) | 2023.04.11 |
🕑 시계열 데이터 분석 04 - 시계열 데이터 plot (0) | 2023.04.05 |
🕑시계열데이터 분석 03 - quantmod 패키지 (0) | 2023.03.27 |
🕑시계열데이터 분석 01 - is.ts( ) 함수 (0) | 2023.03.24 |