library(WDI)
library(igraph)
library(ggplot2)
library(dplyr)
WDIsearch('gdp.*capita.*growth')
##      indicator              name                                              
## [1,] "NV.AGR.PCAP.KD.ZG"    "Real agricultural GDP per capita growth rate (%)"
## [2,] "NY.GDP.PCAP.KD.ZG"    "GDP per capita growth (annual %)"                
## [3,] "NY.GDP.PCAP.PP.KD.ZG" "GDP per capita, PPP annual growth (%)"
data.hdp <- WDI(indicator = 'NY.GDP.PCAP.KD.ZG',
                country = c('US', 'JP', 'DE', 'FR', 'GB', 'IT', 'CA'), # staty G7
                start = 1998) # kvoli Kanade
head(data.hdp)
ggplot(data.hdp, aes(year, NY.GDP.PCAP.KD.ZG, color = country)) +
    geom_line() +
    xlab('Year') + ylab('growth') +
    labs(title = 'GDP per capita growth (annual %))')

data.hdp <- data.hdp[order(data.hdp$year), ]
head(data.hdp)
hdp2 <- reshape(data = data.hdp,
                idvar = "year",
                drop = "country",
                v.name = "NY.GDP.PCAP.KD.ZG",
                timevar = "iso2c",
                direction = "wide")
head(hdp2)
colnames(hdp2) <- gsub("NY.GDP.PCAP.KD.ZG.", "", colnames(hdp2))

head(hdp2)
d <- sqrt(2 - 2 * cor(hdp2[, -1]))
g <- graph.adjacency(d, weighted = TRUE,  mode = "lower")
g.mst <- minimum.spanning.tree(g)
E(g.mst)$weight <- 1 - (E(g.mst)$weight^2)/2 # naspat korelacie
plot(g.mst, edge.label = round(E(g.mst)$weight, 2))

com <- walktrap.community(g.mst)
plot(com, g.mst)