5
GGPLOT TIME SERIES PLOT 시간도표 time plot 개요 시계열 데이터를 시간 흐름(x-축)에 따라 관측값(y-축)을 2차원 그래프에 표현 예제 데이터 : 코스피 지수, 삼상전자 주가 데이터 plot() 함수 이용하여 시계열 데이터 그리기 야후로부터 주가, 코스피 지수를 크롤링 Crawling 하면 날짜는 행 이름(row name) 형식(변수명이 아님) 으로 들어가 있고 시작가 open, 당일 최고가, 최저가, 종가, 거래량, 장마감 후 가격 이 있음 library(quantmod) today<-Sys.Date() #오늘 날짜 #야후 금융: https://finance.yahoo.com/ kospi <- getSymbols("^KS11",src='yahoo', from='2018-01-01', to='2018-05-15', auto.assign = F) #코스피 names(kospi);dim(kospi); head(kospi,3) stock.ss <- getSymbols("005930.KS",src='yahoo', from=today-200, to=today, auto.assign = F) #삼성전자 주가 (120일전 주가) names(stock.ss);dim(stock.ss); head(stock.ss,3) 한남대학교 통계학과 권세혁교수 ( ) 1

시간도표 time plot 개요wolfpack.hnu.ac.kr/Stat_Notes/softwares/about_R/GGPLOT... · 2018-05-17 · GGPLOT TIME SERIES PLOT 시간도표 time plot 개요 시계열 데이터를

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 시간도표 time plot 개요wolfpack.hnu.ac.kr/Stat_Notes/softwares/about_R/GGPLOT... · 2018-05-17 · GGPLOT TIME SERIES PLOT 시간도표 time plot 개요 시계열 데이터를

GGPLOT TIME SERIES PLOT

시간도표 time plot 개요

시계열 데이터를 시간 흐름(x-축)에 따라 관측값(y-축)을 2차원 그래프에 표현

예제 데이터 : 코스피 지수, 삼상전자 주가 데이터

plot() 함수 이용하여 시계열 데이터 그리기

야후로부터 주가, 코스피 지수를 크롤링 Crawling 하면 날짜는 행 이름(row name) 형식(변수명이 아님)으로 들어가 있고 시작가 open, 당일 최고가, 최저가, 종가, 거래량, 장마감 후 가격 이 있음

library(quantmod) today<-Sys.Date() #오늘 날짜 #야후 금융: https://finance.yahoo.com/ kospi <- getSymbols("^KS11",src='yahoo', from='2018-01-01', to='2018-05-15', auto.assign = F) #코스피 names(kospi);dim(kospi); head(kospi,3) stock.ss <- getSymbols("005930.KS",src='yahoo', from=today-200, to=today, auto.assign = F) #삼성전자 주가 (120일전 주가) names(stock.ss);dim(stock.ss); head(stock.ss,3)

한남대학교 통계학과 권세혁교수 ( )1

Page 2: 시간도표 time plot 개요wolfpack.hnu.ac.kr/Stat_Notes/softwares/about_R/GGPLOT... · 2018-05-17 · GGPLOT TIME SERIES PLOT 시간도표 time plot 개요 시계열 데이터를

GGPLOT TIME SERIES PLOT

plot(kospi$KS11.Close,main='kospi Index') plot(stock.ss$'005930.KS.Close',main='삼성전자 주가')

한남대학교 통계학과 권세혁교수 ( )2

Page 3: 시간도표 time plot 개요wolfpack.hnu.ac.kr/Stat_Notes/softwares/about_R/GGPLOT... · 2018-05-17 · GGPLOT TIME SERIES PLOT 시간도표 time plot 개요 시계열 데이터를

GGPLOT TIME SERIES PLOT

시계열 데이터 합치기(merge) - 날짜별 결합

as.xts() 함수 : 데이터를 시계열 데이터로 만들어 주어야, cbind() 함수에 의해 날짜별로 두 시계열 데이터가 결합된다. 시계열 데이터(행 이름에 날짜가 있는 경우에만 cbind() 사용하면 날짜별로 결합, 그렇지 않으면 위치별로 저장되어 위치 기준 결합되어 날짜 결합이 불가능하다.

#merge two time series data kospi.ss<-cbind(as.xts(kospi),as.xts(stock.ss)) head(kospi.ss,5); tail(kospi.ss,5) names(kospi.ss)

한남대학교 통계학과 권세혁교수 ( )3

Page 4: 시간도표 time plot 개요wolfpack.hnu.ac.kr/Stat_Notes/softwares/about_R/GGPLOT... · 2018-05-17 · GGPLOT TIME SERIES PLOT 시간도표 time plot 개요 시계열 데이터를

GGPLOT TIME SERIES PLOT

결합 시계열 데이터 2개 이상 시간도표

plot(kospi.ss[,c(1:4)],gpars=list(col=rainbow(4))) plot(kospi.ss[,c(7:10)],gpars=list(col=rainbow(4)))

한남대학교 통계학과 권세혁교수 ( )4

Page 5: 시간도표 time plot 개요wolfpack.hnu.ac.kr/Stat_Notes/softwares/about_R/GGPLOT... · 2018-05-17 · GGPLOT TIME SERIES PLOT 시간도표 time plot 개요 시계열 데이터를

GGPLOT TIME SERIES PLOT

시계열 데이터 내보내기

kospi.ss는 날짜가 행 이름으로 저장되어 있어 외부 파일로 저장하면 행 이름(날짜)이 저장되지 않는다. 날짜 정보를 저장하려면 데이터 프레임으로 변환하여 저장해야 첫 열에 날짜가 저장된다.

날짜 관련 변수(연, 분기, 월, 요일 등) 만들기

write.csv(data.frame(kospi.ss),'코스피.csv') #데이터 csv 외부파일 저장

library(DescTools) kospi.ss$Date<-as.Date(rownames(data.frame(kospi.ss))) #날짜 - 숫자변인 kospi.ss$Year<-Year(rownames(data.frame(kospi.ss))) #연도 kospi.ss$Month<-Month(rownames(data.frame(kospi.ss))) #월 kospi.ss$Qtr<-Quarter(rownames(data.frame(kospi.ss))) #분기 kospi.ss$Wday<-Weekday(rownames(data.frame(kospi.ss))) #요일 kospi.ss$Day<-Day(rownames(data.frame(kospi.ss))) #일년 기준 일 names(kospi.ss);dim(kospi.ss);head(kospi.ss,3)

한남대학교 통계학과 권세혁교수 ( )5