library(rio)
setwd("C:/Users/arian/Downloads/DATAS PARA FINAL ESTADISTICA")

dataenergias=import("DATA5.Xlsx")
## New names:
## • `Total` -> `Total...5`
## • `Total` -> `Total...8`
## • `Total` -> `Total...11`
## • `Total` -> `Total...14`
dataenergias <- na.omit(dataenergias)
head(dataenergias)
##   Código                                 Provincia No usa electricidad
## 1    101          Amazonas, provincia: Chachapoyas               14763
## 2    102                Amazonas, provincia: Bagua               20313
## 3    103              Amazonas, provincia: Bongara                7689
## 4    104         Amazonas, provincia: Condorcanqui                9853
## 5    105                 Amazonas, provincia: Luya               13112
## 6    106 Amazonas, provincia: Rodríguez de Mendoza                9103
##   Sí usa electricidad Total...5 No usa gas (balón GLP) Sí usa gas (balón GLP)
## 1                 574     15337                   4696                  10641
## 2                 161     20474                  10557                   9917
## 3                 124      7813                   3154                   4659
## 4                  14      9867                   8331                   1536
## 5                  90     13202                   6863                   6339
## 6                  65      9168                   5387                   3781
##   Total...8 No usa carbón Sí usa carbón Total...11 No usa leña Sí usa leña
## 1     15337         15161           176      15337        7236        8101
## 2     20474         20185           289      20474        7357       13117
## 3      7813          7755            58       7813        2345        5468
## 4      9867          9841            26       9867        1059        8808
## 5     13202         13169            33      13202        1833       11369
## 6      9168          9142            26       9168        1824        7344
##   Total...14
## 1      15337
## 2      20474
## 3       7813
## 4       9867
## 5      13202
## 6       9168
str(dataenergias)
## 'data.frame':    196 obs. of  14 variables:
##  $ Código                : num  101 102 103 104 105 106 107 201 202 203 ...
##  $ Provincia             : chr  "Amazonas, provincia: Chachapoyas" "Amazonas, provincia: Bagua" "Amazonas, provincia: Bongara" "Amazonas, provincia: Condorcanqui" ...
##  $ No usa electricidad   : num  14763 20313 7689 9853 13112 ...
##  $ Sí usa electricidad   : num  574 161 124 14 90 65 255 921 16 33 ...
##  $ Total...5             : num  15337 20474 7813 9867 13202 ...
##  $ No usa gas (balón GLP): num  4696 10557 3154 8331 6863 ...
##  $ Sí usa gas (balón GLP): num  10641 9917 4659 1536 6339 ...
##  $ Total...8             : num  15337 20474 7813 9867 13202 ...
##  $ No usa carbón         : num  15161 20185 7755 9841 13169 ...
##  $ Sí usa carbón         : num  176 289 58 26 33 26 335 218 4 4 ...
##  $ Total...11            : num  15337 20474 7813 9867 13202 ...
##  $ No usa leña           : num  7236 7357 2345 1059 1833 ...
##  $ Sí usa leña           : num  8101 13117 5468 8808 11369 ...
##  $ Total...14            : num  15337 20474 7813 9867 13202 ...
dataenergias['% Sí usa electricidad'] = (dataenergias['Sí usa electricidad'] / dataenergias['Total...5']) * 100
dataenergias['% Sí usa gas (balón GLP)'] = (dataenergias['Sí usa gas (balón GLP)'] / dataenergias['Total...8']) * 100
dataenergias['% Sí usa carbón'] = (dataenergias['Sí usa carbón'] / dataenergias['Total...11']) * 100
dataenergias['% Sí usa leña'] = (dataenergias['Sí usa leña'] / dataenergias['Total...14']) * 100

#ANALISIS FACTORIAL EXPLORATORIO

efa = dataenergias[,c(15:18)]
library(polycor)
corMatrix=polycor::hetcor(efa)$correlations
round(corMatrix,2)
##                          % Sí usa electricidad % Sí usa gas (balón GLP)
## % Sí usa electricidad                     1.00                     0.47
## % Sí usa gas (balón GLP)                  0.47                     1.00
## % Sí usa carbón                           0.10                     0.23
## % Sí usa leña                            -0.46                    -0.87
##                          % Sí usa carbón % Sí usa leña
## % Sí usa electricidad               0.10         -0.46
## % Sí usa gas (balón GLP)            0.23         -0.87
## % Sí usa carbón                     1.00         -0.31
## % Sí usa leña                      -0.31          1.00
library(polycor)
corMatrix=polycor::hetcor(efa)$correlations
round(corMatrix,2)
##                          % Sí usa electricidad % Sí usa gas (balón GLP)
## % Sí usa electricidad                     1.00                     0.47
## % Sí usa gas (balón GLP)                  0.47                     1.00
## % Sí usa carbón                           0.10                     0.23
## % Sí usa leña                            -0.46                    -0.87
##                          % Sí usa carbón % Sí usa leña
## % Sí usa electricidad               0.10         -0.46
## % Sí usa gas (balón GLP)            0.23         -0.87
## % Sí usa carbón                     1.00         -0.31
## % Sí usa leña                      -0.31          1.00
library(psych)
## 
## Attaching package: 'psych'
## The following object is masked from 'package:polycor':
## 
##     polyserial
library(ggplot2)
## 
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
## 
##     %+%, alpha
psych::KMO(corMatrix) 
## Kaiser-Meyer-Olkin factor adequacy
## Call: psych::KMO(r = corMatrix)
## Overall MSA =  0.63
## MSA for each item = 
##    % Sí usa electricidad % Sí usa gas (balón GLP)          % Sí usa carbón 
##                     0.91                     0.59                     0.72 
##            % Sí usa leña 
##                     0.59
cortest.bartlett(corMatrix,n=nrow(efa))$p.value>0.05
## [1] FALSE
library(matrixcalc)
is.singular.matrix(corMatrix)
## [1] FALSE
fa.parallel(efa, fa = 'fa',correct = T,plot = F)
## Parallel analysis suggests that the number of factors =  1  and the number of components =  NA
library(GPArotation)
## 
## Attaching package: 'GPArotation'
## The following objects are masked from 'package:psych':
## 
##     equamax, varimin
library(psych)
resfa <- fa(efa,
            nfactors = 1,
            cor = 'mixed',
            rotate = "varimax",
            fm="minres")
print(resfa$loadings)
## 
## Loadings:
##                          MR1   
## % Sí usa electricidad     0.491
## % Sí usa gas (balón GLP)  0.912
## % Sí usa carbón           0.280
## % Sí usa leña            -0.956
## 
##                  MR1
## SS loadings    2.065
## Proportion Var 0.516
fa.diagram(resfa,main = "Resultados del EFA")

sort(resfa$communality)
##          % Sí usa carbón    % Sí usa electricidad % Sí usa gas (balón GLP) 
##               0.07838591               0.24104291               0.83166545 
##            % Sí usa leña 
##               0.91346690