PREGUNTA 1

library(readxl)
data1 <- read_excel("reporte energía.xlsx")
library(factoextra)
## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(polycor)
library(ggcorrplot)
dontselect=c("No usa electricidad","No usa gas (balón GLP)","No usa carbón",
             "No usa leña", "Departamento")
select=setdiff(names(data1),dontselect) 
theData=data1[,select]

library(magrittr)
head(theData,10)%>%
    rmarkdown::paged_table()
str(theData)
## tibble [26 × 4] (S3: tbl_df/tbl/data.frame)
##  $ Sí usa electricidad   : num [1:26] 1283 6837 1360 12878 2846 ...
##  $ Sí usa gas (balón GLP): num [1:26] 52951 188443 56444 382813 101409 ...
##  $ Sí usa carbón         : num [1:26] 943 2408 471 1789 661 ...
##  $ Sí usa leña           : num [1:26] 74920 149287 89197 58115 119131 ...
theData[] <- lapply(theData, function(x) as.numeric(as.character(x)))
class(theData)
## [1] "tbl_df"     "tbl"        "data.frame"
theData <- as.data.frame(theData)
corMatrix <- hetcor(theData)$correlations
print(corMatrix)
##                        Sí usa electricidad Sí usa gas (balón GLP) Sí usa carbón
## Sí usa electricidad              1.0000000              0.9875504     0.8710603
## Sí usa gas (balón GLP)           0.9875504              1.0000000     0.9170868
## Sí usa carbón                    0.8710603              0.9170868     1.0000000
## Sí usa leña                      0.8776676              0.9388036     0.9304261
##                        Sí usa leña
## Sí usa electricidad      0.8776676
## Sí usa gas (balón GLP)   0.9388036
## Sí usa carbón            0.9304261
## Sí usa leña              1.0000000
round(corMatrix,2)
##                        Sí usa electricidad Sí usa gas (balón GLP) Sí usa carbón
## Sí usa electricidad                   1.00                   0.99          0.87
## Sí usa gas (balón GLP)                0.99                   1.00          0.92
## Sí usa carbón                         0.87                   0.92          1.00
## Sí usa leña                           0.88                   0.94          0.93
##                        Sí usa leña
## Sí usa electricidad           0.88
## Sí usa gas (balón GLP)        0.94
## Sí usa carbón                 0.93
## Sí usa leña                   1.00
ggcorrplot(corMatrix)

library(psych)
## 
## Attaching package: 'psych'
## The following object is masked from 'package:polycor':
## 
##     polyserial
## The following objects are masked from 'package:ggplot2':
## 
##     %+%, alpha
psych::KMO(corMatrix) 
## Kaiser-Meyer-Olkin factor adequacy
## Call: psych::KMO(r = corMatrix)
## Overall MSA =  0.65
## MSA for each item = 
##    Sí usa electricidad Sí usa gas (balón GLP)          Sí usa carbón 
##                   0.58                   0.59                   0.94 
##            Sí usa leña 
##                   0.61
#fa.parallel(theData, fa = 'fa',correct = T,plot = F) #Parallel analysis suggests that the number of factors =  1  and the number of components =  NA

RESPUESTA: Todas las alternativas son falsas –> no se puede resumir en un factor, 3 de las 4 variables no son suficientes en el KMO, por ende no se puede hacer nu varimax ni oblimin y la varianza es mayor a 0,5 pero menor a 0.9

PREGUNTA 2

Utilizando el porcentaje de viviendas que tiene agua de red publica dentro de la vivienda, la razón de votacion de keiko entre castillo, y la tasa fallecidos por cada 1000 contagiados, Ud se propone agrupar a las provincias del Peru (sin la provincia de Lima) siguiendo diversas estrategias (no corrija correlacion negativa si la hubiera, pero siempre normalice); y en ese proceso Ud. encuentra…

data2 <- read_excel("dataOK_all.xlsx")
names(data2)
##  [1] "key"                     "Código"                 
##  [3] "pared1_Ladrillo"         "pared2_Piedra"          
##  [5] "pared3_Adobe"            "pared4_Tapia"           
##  [7] "pared5_Quincha"          "pared6_Piedra"          
##  [9] "pared7_Madera"           "pared8_Triplay"         
## [11] "pared9_Otro"             "pared10_Total"          
## [13] "techo1_Concreto"         "techo2_Madera"          
## [15] "techo3_Tejas"            "techo4_Planchas"        
## [17] "techo5_Caña"             "techo6_Triplay"         
## [19] "techo7_Paja"             "techo8_Otro"            
## [21] "techo9_Total"            "piso1_Parquet"          
## [23] "piso2_Láminas"           "piso3_Losetas"          
## [25] "piso4_Madera"            "piso5_Cemento"          
## [27] "piso6_Tierra"            "piso7_Otro"             
## [29] "piso8_Total"             "agua1_Red"              
## [31] "agua2_Red_fueraVivienda" "agua3_Pilón"            
## [33] "agua4_Camión"            "agua5_Pozo"             
## [35] "agua6_Manantial"         "agua7_Río"              
## [37] "agua8_Otro"              "agua9_Vecino"           
## [39] "agua10_Total"            "elec1_Sí"               
## [41] "elec2_No"                "elec3_Total"            
## [43] "departamento"            "provincia"              
## [45] "Castillo"                "Keiko"                  
## [47] "ganaCastillo"            "countPositivos"         
## [49] "countFallecidos"
data2$agua1_Red=data2$agua1_Red/data2$agua10_Total
data2$CastilloKeiko_ratio=data2$Castillo/data2$Keiko
data2$fallecido_x10000POS=1000*data2$countFallecidos/data2$countPositivos
keptForCluster=c('key','agua1_Red','CastilloKeiko_ratio','fallecido_x10000POS')
data2_small=data2[,keptForCluster]
data2_small=data2_small[!data2_small$key=='LIMA+LIMA',]
boxplot(BBmisc::normalize(data2_small[,-1],method='standardize'))

data2_small=data2_small
data2_small[,-1]=BBmisc::normalize(data2_small[,-1],method='standardize')
cor(data2_small[,-1],use = "complete.obs")
##                      agua1_Red CastilloKeiko_ratio fallecido_x10000POS
## agua1_Red            1.0000000          -0.3226139           0.1035734
## CastilloKeiko_ratio -0.3226139           1.0000000           0.1532277
## fallecido_x10000POS  0.1035734           0.1532277           1.0000000
dataClus=data2_small[,-1]
row.names(dataClus)=data2_small$key
## Warning: Setting row names on a tibble is deprecated.
dataClus=dataClus[complete.cases(dataClus),] 
g.dist = cluster::daisy(dataClus, metric="gower")
factoextra::fviz_nbclust(dataClus, factoextra::hcut,diss=g.dist,method = "gap_stat",k.max = 10,verbose = F,hc_func = "agnes")

factoextra::fviz_nbclust(dataClus, factoextra::hcut,diss=g.dist,method = "gap_stat",k.max = 10,verbose = F,hc_func = "diana")

res.agnes<- factoextra::hcut(g.dist, k = 7,hc_func='agnes',hc_method = "ward.D")
dataClus$agnes=res.agnes$cluster

RESPUESTA: Agnes (aglomerativa) es mejor porque agrupa en diferentes grupos mientras que Diana no y las agrupa en 1 solo

PREGUNTA 3

Hacer 3 regresiones. Como independientes usará todas las variables de COMMs y ENERGY. Cada regresión usa una variable dependiente diferente del grupo ECON, pero no usa deuda externa.

Independientes: Telephones, internet users, broandband, electricity, carbon diox, energy consumption

Dependiente: Inflation rate, youth unemploy, public debt,

data3 <- read_excel("dataCIA.xlsx")
str(data3)
## tibble [181 × 12] (S3: tbl_df/tbl/data.frame)
##  $ name                  : chr [1:181] "Afghanistan" "Albania" "Algeria" "Angola" ...
##  $ electricity           : chr [1:181] "776,000" "2,531,000" "21,694,000" "7,344,000" ...
##  $ bbl/day               : chr [1:181] "0" "5,638" "627,900" "53,480" ...
##  $ carbon_diox           : chr [1:181] "7,893,000" "3,794,000" "151,633,000" "19,362,000" ...
##  $ Btu/person            : chr [1:181] "3,227,000" "38,442,000" "61,433,000" "11,693,000" ...
##  $ valuefix              : chr [1:181] "146,000" "177,000" "5,576,000" "94,000" ...
##  $ valuemob              : chr [1:181] "22,678,000" "2,782,000" "49,019,000" "23,978,000" ...
##  $ inflation_rate        : chr [1:181] "2.3" "6.73" "9.27" "25.75" ...
##  $ youth_unemployment    : num [1:181] 20.2 27.8 31.9 18.5 29.9 36.1 10.8 11.4 16.5 30.8 ...
##  $ public_debt           : num [1:181] 7 82.4 27.5 65 57.6 ...
##  $ % public debt-external: num [1:181] 7 82.4 27.5 65 57.6 ...
##  $ valuebroad            : chr [1:181] "26,570" "508,937" "3,790,459" "230,610" ...

Regresión 1

modelo1=formula(inflation_rate~electricity+carbon_diox)
#reg1=lm(modelo1,data = data3)
#summary(reg1)
modelo2=formula(youth_unemployment~electricity+carbon_diox)
#reg2=lm(modelo2,data = data3)
#summary(reg2)
modelo3=formula(public_debt~electricity+carbon_diox)
#reg3=lm(modelo3,data = data3)
#summary(reg3)