d = read.csv('https://stats.dip.jp/01_ds/data/UN_jp.csv')
library(DT)
datatable(d, caption = 'United Nations')
r <- prcomp(d[, 4:ncol(d)], scale = T)
summary(r)
## Importance of components:
## PC1 PC2 PC3 PC4 PC5
## Standard deviation 1.9015 0.8551 0.63807 0.42872 0.24968
## Proportion of Variance 0.7231 0.1462 0.08143 0.03676 0.01247
## Cumulative Proportion 0.7231 0.8693 0.95077 0.98753 1.00000
options(digits = 1)
(variance <- r$sdev^2)
## [1] 3.62 0.73 0.41 0.18 0.06
(proportion_variance <- variance / sum(variance))
## [1] 0.72 0.15 0.08 0.04 0.01
(cumulative_propotion <- cumsum(proportion_variance))
## [1] 0.7 0.9 1.0 1.0 1.0
evec <- r$rotation
datatable(round(evec, 2))
rownames(r$x) <- d$国名
datatable(round(r$x, 2))
library(factoextra)
## 要求されたパッケージ ggplot2 をロード中です
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
fviz_screeplot(r, addlabels = T)
fviz_contrib(r, choice = "var", axes = 1, top = 5)
第1主成分から、グラフから乳児死亡率、平均寿命、出生数が貢献しているため、健康を表す事象であると考えられる。
fviz_contrib(r, choice = "var", axes = 2, top = 5)
第2主成分から、グラフからGDPと都市人口率が貢献しているため、国の経済状況を表す事象であると考えられる。
library("corrplot")
## corrplot 0.92 loaded
var <- get_pca_var(r)
corrplot(var$cor, is.corr = T, addCoef.col = "gray")
fviz_pca_var(r,
col.var = "contrib",
repel = T)
fviz_pca_biplot(r, col.ind = "contrib", repel = T)
以上から最も経済的に豊かで健康に過ごせる国はルクセンブルク(Luxembourg)と考えられる。