library(rio)
datita = import("reporte.xlsx")
## New names:
## • `` -> `...1`
## • `Total` -> `Total...6`
## • `Total` -> `Total...9`
## • `Total` -> `Total...12`
## • `Total` -> `Total...15`
str(datita)
## 'data.frame': 199 obs. of 15 variables:
## $ ...1 : chr NA NA NA NA ...
## $ 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...6 : 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...9 : 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...12 : 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...15 : num 15337 20474 7813 9867 13202 ...
names(datita)
## [1] "...1" "Código" "Provincia"
## [4] "No usa electricidad" "Sí usa electricidad" "Total...6"
## [7] "No usa gas (balón GLP)" "Sí usa gas (balón GLP)" "Total...9"
## [10] "No usa carbón" "Sí usa carbón" "Total...12"
## [13] "No usa leña" "Sí usa leña" "Total...15"
ELECTRICIDAD
colnames(datita)[colnames(datita) == "No usa electricidad"] <- "elec_no"
colnames(datita)[colnames(datita) == "Sí usa electricidad"] <- "elec_si"
colnames(datita)[colnames(datita) == "Total...6"] <- "elec_total"
datita$elec_percent <- (datita$elec_si / datita$elec_total) * 100
GAS
colnames(datita)[colnames(datita) == "No usa gas (balón GLP)"] <- "gas_no"
colnames(datita)[colnames(datita) == "Sí usa gas (balón GLP)"] <- "gas_si"
colnames(datita)[colnames(datita) == "Total...9"] <- "gas_total"
datita$gas_percent <- (datita$gas_si / datita$gas_total) * 100
CARBON
colnames(datita)[colnames(datita) == "No usa carbón"] <- "carbon_no"
colnames(datita)[colnames(datita) == "Sí usa carbón"] <- "carbon_si"
colnames(datita)[colnames(datita) == "Total...12"] <- "carbon_total"
datita$carbon_percent <- (datita$carbon_si / datita$carbon_total) * 100
LEÑA
colnames(datita)[colnames(datita) == "No usa leña"] <- "leña_no"
colnames(datita)[colnames(datita) == "Sí usa leña"] <- "leña_si"
colnames(datita)[colnames(datita) == "Total...15"] <- "leña_total"
datita$leña_percent <- (datita$leña_si / datita$leña_total) * 100
ANÁLISIS FACTORIAL
dontselect=c("...1","Código","Provincia",
"elec_no","elec_si","elec_total",
"gas_si", "gas_no", "gas_total",
"leña_si", "leña_no", "leña_total",
"carbon_si", "carbon_no", "carbon_total")
select=setdiff(names(datita),dontselect)
theData=datita[,select]
# usaremos:
library(magrittr)
head(theData,10)%>%
rmarkdown::paged_table()
library(polycor)
corMatrix=polycor::hetcor(theData)$correlations
library(psych)
##
## Attaching package: 'psych'
## The following object is masked from 'package:polycor':
##
## polyserial
psych::KMO(corMatrix)
## Kaiser-Meyer-Olkin factor adequacy
## Call: psych::KMO(r = corMatrix)
## Overall MSA = 0.63
## MSA for each item =
## elec_percent gas_percent carbon_percent leña_percent
## 0.91 0.59 0.72 0.59
cortest.bartlett(corMatrix,n=nrow(theData))$p.value>0.05
## [1] FALSE
library(matrixcalc)
is.singular.matrix(corMatrix)
## [1] FALSE
round(corMatrix,2)
## elec_percent gas_percent carbon_percent leña_percent
## elec_percent 1.00 0.47 0.10 -0.46
## gas_percent 0.47 1.00 0.23 -0.87
## carbon_percent 0.10 0.23 1.00 -0.31
## leña_percent -0.46 -0.87 -0.31 1.00
fa.parallel(theData, 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
resfa <- fa(theData,
nfactors = 1,
cor = 'mixed',
rotate = "varimax", #oblimin?
fm="minres")
print(resfa$loadings)
##
## Loadings:
## MR1
## elec_percent 0.491
## gas_percent 0.912
## carbon_percent 0.280
## leña_percent -0.956
##
## MR1
## SS loadings 2.065
## Proportion Var 0.516
library(GPArotation)
resfa2 <- fa(theData,
nfactors = 1,
cor = 'mixed',
rotate = "oblimin", #oblimin?
fm="minres")
print(resfa2$loadings)
##
## Loadings:
## MR1
## elec_percent 0.491
## gas_percent 0.912
## carbon_percent 0.280
## leña_percent -0.956
##
## MR1
## SS loadings 2.065
## Proportion Var 0.516
sort(resfa$communality)
## carbon_percent elec_percent gas_percent leña_percent
## 0.07838591 0.24104291 0.83166545 0.91346690
resfa$TLI
## [1] 0.9605126
resfa$rms
## [1] 0.03000416
resfa$BIC
## [1] -4.150711
resfa$RMSEA
## RMSEA lower upper confidence
## 0.10545186 0.01954305 0.20220497 0.90000000