모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!!
🕑 데이터 선언
unemploy.df=read.csv("BOK_unemployment_rate.csv")
oil.df=read.csv("BOK_energy_oil.csv")
exchange.df=read.csv("BOK_exchange_rate_krw_usd.csv")
unemploy.ts=ts(unemploy.df$unemployment_rate, start=2000, frequency=1)
oil.ts=ts(oil.df$oil, start=c(1994,1), frequency=12)
exchange.ts=ts(exchange.df$exchange_rate_krw_usd, start=c(1980,1), frequency=4)
getSymbols("META",src="yahoo", from = as.Date("2015-08-01"), to = as.Date("2016-08-31"))
🕑 plot( )
plot 함수는 원래 x축, y축의 이름을 모두 정의해줘야 plot해주지만, y축에 관한 정보만 줘도 plot 해줍니다.
par(mfrow=c(2,2))
plot(META$META.Adjusted,xlab="Time(Daily)",ylab="Adjusted Price",
main="Facebook")
plot(oil.ts,xlab="Time(Monthly)",ylab="Petrolem consumption",
main="Korean energy Petroleum consumption")
plot(exchange.ts,xlab="Time(Quarterly)",ylab="Exchange rate",
main="Exchange Rate KRW per USD")
plot(unemploy.ts,xlab="Time(Yearly)",ylab="Unemployment rate",
main="Korean unemployment rate")
🕑 같은 time period의 두개의 변수움직임 비교하기
두 지표가 하나의 플롯에 출력됩니다.
보통 옆으로 붙이는 것보다 위아래로 두고 비교하는 것이 눈에 더 잘보입니다만, start와 end 가 맞아야 의미가 있습니다.
시간의 흐름에 대한 거시경제지표를 파악하기도 편합니다.
plot(economic.ts)
🕑 위아래로 플롯
🕑 par(mfrow = c(row, col)) 의 인수를 조정해서 위치를 정해줍니다.
par(mfrow=c(2,1))
plot(employment.ts, col="blue", lwd=2, ylab="Rate %", main="Monthly employment rate")
plot(bonds.ts, col="red", lwd=2, ylab="bonds 3 years(Year%)", main="Treasuray bond 3 years")
🕑 양옆으로 출력
🕑 par(mfrow = c(row, col)) 인수를 조정해서 위치를 정해줍니다.
par(mfrow=c(1,2))
plot(economic.ts[,1], col="blue", lwd=2, ylab="Rate %", main="Monthly employment rate")
plot(economic.ts[,2], col="red", lwd=2, ylab="bonds 3 years(Year%)", main="Treasuray bond 3 years")
🕑 두개의 시계열 옆으로 합치기
🕑 cbind( ) 함수 를 사용해 두개의 시계열 자료 옆으로 합칩니다.
단, 두 자료가 동기간이며 주기 역시 동일해야 합니다.
two.ts=cbind(facebook.ts,twitter.ts)
head(two.ts)
>>
## facebook.ts twitter.ts
## [1,] 89.43 27.79
## [2,] 89.90 26.94
## [3,] 101.97 28.46
## [4,] 104.24 25.40
## [5,] 104.66 23.14
## [6,] 112.21 16.80
par(mfrow=c(1,1))
plot(two.ts, col="blue", lwd=2, ylab="",main="Adjusted close")
## 하나의 플롯에 출력
plot(two.ts, plot.type="single")
🕑 single 옵션
두 시계열 자료를 하나의 plot 안에서 나타내줍니다.
time 축 및 y축을 공유해서 나타냅니다.
두 축을 모두 공유하기 때문에, 두 자료의 y축 범위가 비슷해야만 그 차이를 제대로 볼 수 있습니다.
두 지표가 있는 하나의 ts 데이터로 plot하는 경우에 주로 사용합니다.
plot(two.ts, plot.type="single",
main="Monthly closing prices on Facebook and Twitter using plot()",
ylab="Adjusted close price",col=c("blue", "red"), lty=1:2)
legend("right", legend=c("Facebook","Twitter"), col=c("blue", "red"),lty=1:2)
🕑 ts.plot( ) 함수
🕑 ts.plot(ts_DATA_1, ts_DATA_2, ...)
ts 데이터는 ts.plot() 함수 사용이 가능합니다.
이 경우 single 옵션이 없어도 시간축과 y축의 범위를 맞춰줍니다.
ts.plot(facebook.ts, twitter.ts, col=c("blue", "red"),
main="Monthly closing prices on Facebook and Twitter using ts.plot()",
ylab="Adjusted close price", lty=1:2)
legend("right", legend=c("Facebook","Twitter"), col=c("blue", "red"),lty=1:2)
🕑 Chartseries 함수
앞선 글에서도 살펴보았듯이, quantmod로 가져온 데이터는 chartSeries 함수를 사용해 plot할 수 있습니다.
#7.finance data from yahoo finance - Chartseries
getSymbols("META",src="yahoo", from = as.Date("2015-08-01"), to = as.Date("2016-08-31"))
getSymbols("TWTR",src="yahoo", from = as.Date("2015-08-01"), to = as.Date("2016-08-31"))
## ts 데이터 -> chartSeries 함수
chartSeries(META$META.Adjusted)
chartSeries(META$META.Adjusted, theme="white")
chartSeries(TWTR$TWTR.Adjusted, theme="white")
chartSeries(META, theme="white")
chartSeries(TWTR, theme="white")
'📈📉 비즈니스 어낼리틱스 > 🕑 시계열 분석' 카테고리의 다른 글
🕑시계열데이터 분석 06 - 시계열 데이터 분해 (0) | 2023.04.13 |
---|---|
🕑시계열데이터 분석 05 - aggregate( ) 함수 (0) | 2023.04.11 |
🕑시계열데이터 분석 03 - quantmod 패키지 (0) | 2023.03.27 |
🕑시계열데이터 분석 02 - ts( ) 함수 (0) | 2023.03.26 |
🕑시계열데이터 분석 01 - is.ts( ) 함수 (0) | 2023.03.24 |