### reproduce Oersal,Arsova 2017:67, Ch.5 ###
data("MERM")
names_k = colnames(MERM)[-(1:2)] # variable names
names_i = levels(MERM$id_i) # country names
L.data = sapply(names_i, FUN=function(i)
ts(MERM[MERM$id_i==i, names_k], start=c(1995, 1), frequency=12),
simplify=FALSE)
R.fac1 = speci.factors(L.data, k_max=20, n.iterations=4)
R.fac0 = speci.factors(L.data, k_max=20, n.iterations=4,
differenced=TRUE, centered=TRUE, scaled=TRUE, n.factors=8)
# scree plot #
library("ggplot2")
pal = c("#999999", RColorBrewer::brewer.pal(n=8, name="Spectral"))
lvl = levels(R.fac0$eigenvals$scree)
F.scree = ggplot(R.fac0$eigenvals[1:20, ]) +
geom_col(aes(x=n, y=share, fill=scree), color="black", width=0.75) +
scale_fill_manual(values=pal, breaks=lvl, guide="none") +
labs(x="Component number", y="Share on total variance", title=NULL) +
theme_bw()
plot(F.scree)
# factor plot (comp. Oersal,Arsova 2017:71, Fig.4) #
library("ggfortify")
Ft = ts(R.fac0$Ft, start=c(1995, 1), frequency=12)
F.factors = autoplot(Ft, facets=FALSE, size=1.5) +
scale_color_brewer(palette="Spectral") +
labs(x="Year", y=NULL, color="Factor", title=NULL) +
theme_bw()
plot(F.factors)
Run the code above in your browser using DataLab