Top Banner
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
5

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

Jul 03, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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