library(tseries) library(vars) library(dynlm) library(urca) library(tsDyn) sample1<-("http://kanggc.iptime.org/book/data/korea(77-93).txt") sample1_dat<-read.delim(sample1,header=T) gnp<-ts(sample1_dat$gnp, start=c(1977,1), frequency=4) m2<-ts(sample1_dat$m2, start=c(1977,1), frequency=4) n<-length(gnp) ly<-log(gnp) lm<-log(m2) dy=diff(ly) dm=diff(lm) lylm<-data.frame(ly, lm) dydm<-data.frame(dy, dm) VAR.res<-VAR(dydm, type="const", lag=1) summary(VAR.res) lm.res<-lm(ly~lm-1) summary(lm.res) summary(ur.df(lm.res$resid, type="none", selectlags = c("AIC"))) ect<-resid(lm.res) lect<-ect[1:n-1] summary(dynlm(d(ly)~L(d(ly))+L(d(lm))+lect)) summary(dynlm(d(lm)~L(d(ly))+L(d(lm))+lect)) VECM.res<-VECM(lylm, lag=1, include=c("const"), estim="2OLS") summary(VECM.res) ly.irf <- irf(VECM.res, impulse="ly", response = c("ly", "lm"), n.ahead = 16, boot = TRUE) plot(ly.irf) lm.irf <- irf(VECM.res, impulse="lm", response = c("ly", "lm"), n.ahead = 16, boot = TRUE) plot(lm.irf) fevd.ly <- fevd(VECM.res, n.ahead = 16)$ly fevd.ly*100 fevd.lm <- fevd(VECM.res, n.ahead = 16)$lm fevd.lm*100