setwd("C:/Users/Jhire/Downloads/final1")
library(rio)
data1 = import("reporte1.xlsx")
## New names:
## • `` -> `...1`
## • `Total` -> `Total...6`
## • `Total` -> `Total...9`
## • `Total` -> `Total...12`
## • `Total` -> `Total...15`
str(data1)
## 'data.frame': 200 obs. of 15 variables:
## $ ...1 : chr NA NA NA NA ...
## $ Código : chr "101" "102" "103" "104" ...
## $ 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(data1)
## [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"
usando para el carbon:
colnames(data1)[colnames(data1) == "No usa carbón"] <- "carbon_no"
colnames(data1)[colnames(data1) == "Sí usa carbón"] <- "carbon_si"
colnames(data1)[colnames(data1) == "Total...12"] <- "carbon_tot"
data1$carbon_porcentaje <- (data1$carbon_si / data1$carbon_tot) * 100
usando para electricidad: el
colnames(data1)[colnames(data1) == "No usa electricidad"] <- "el_no"
colnames(data1)[colnames(data1) == "Sí usa electricidad"] <- "el_si"
colnames(data1)[colnames(data1) == "Total...6"] <- "el_tot"
data1$el_porcentaje <- (data1$el_si / data1$el_tot) * 100
usando para el gas
colnames(data1)[colnames(data1) == "No usa gas (balón GLP)"] <- "no_gas"
colnames(data1)[colnames(data1) == "Sí usa gas (balón GLP)"] <- "si_gas"
colnames(data1)[colnames(data1) == "Total...9"] <- "gas_tot"
data1$gas_porcentaje <- (data1$si_gas / data1$gas_tot) * 100
usando para la leñita
colnames(data1)[colnames(data1) == "No usa leña"] <- "leña_nousa"
colnames(data1)[colnames(data1) == "Sí usa leña"] <- "leña_siusa"
colnames(data1)[colnames(data1) == "Total...15"] <- "leña_tot"
data1$leña_porcentaje <- (data1$leña_siusa / data1$leña_tot) * 100
Si Ud desea analisis factorial con estos datos, encuentra. #ahora
dontselect=c("...1","Código","Provincia",
"el_no","el_si","el_tot",
"si_gas", "no_gas", "gas_tot",
"leña_siusa", "leña_nousa", "leña_tot",
"carbon_si", "carbon_no", "carbon_tot")
select=setdiff(names(data1),dontselect)
ladata=data1[,select]
library(magrittr)
head(ladata,10)%>%
rmarkdown::paged_table()
INSTALAMOS:
library(kableExtra)
## Warning: package 'kableExtra' was built under R version 4.3.3
library(lme4)
## Warning: package 'lme4' was built under R version 4.3.3
## Loading required package: Matrix
## Warning in check_dep_version(): ABI version mismatch:
## lme4 was built with Matrix ABI version 1
## Current Matrix ABI version is 0
## Please re-install lme4 from source or restore original 'Matrix' package
##
## Attaching package: 'lme4'
## The following object is masked from 'package:rio':
##
## factorize
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.3 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.4 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.0
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ tidyr::expand() masks Matrix::expand()
## ✖ tidyr::extract() masks magrittr::extract()
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::group_rows() masks kableExtra::group_rows()
## ✖ dplyr::lag() masks stats::lag()
## ✖ tidyr::pack() masks Matrix::pack()
## ✖ purrr::set_names() masks magrittr::set_names()
## ✖ tidyr::unpack() masks Matrix::unpack()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(arm)
## Warning: package 'arm' was built under R version 4.3.3
## Loading required package: MASS
##
## Attaching package: 'MASS'
##
## The following object is masked from 'package:dplyr':
##
## select
##
##
## arm (Version 1.14-4, built: 2024-4-1)
##
## Working directory is C:/Users/Jhire/Downloads/final1
library(Matrix)
library(modelsummary)
## Warning: package 'modelsummary' was built under R version 4.3.3
## `modelsummary` 2.0.0 now uses `tinytable` as its default table-drawing
## backend. Learn more at: https://vincentarelbundock.github.io/tinytable/
##
## Revert to `kableExtra` for one session:
##
## options(modelsummary_factory_default = 'kableExtra')
##
## Change the default backend persistently:
##
## config_modelsummary(factory_default = 'gt')
##
## Silence this message forever:
##
## config_modelsummary(startup_message = FALSE)
library(polycor)
## Warning: package 'polycor' was built under R version 4.3.3
corMatrix=polycor::hetcor(ladata)$correlations
round(corMatrix,2)
## carbon_porcentaje el_porcentaje gas_porcentaje
## carbon_porcentaje 1.00 0.10 0.23
## el_porcentaje 0.10 1.00 0.48
## gas_porcentaje 0.23 0.48 1.00
## leña_porcentaje -0.31 -0.46 -0.87
## leña_porcentaje
## carbon_porcentaje -0.31
## el_porcentaje -0.46
## gas_porcentaje -0.87
## leña_porcentaje 1.00
library(ggcorrplot)
## Warning: package 'ggcorrplot' was built under R version 4.3.3
ggcorrplot(corMatrix)
library(psych)
## Warning: package 'psych' was built under R version 4.3.3
##
## Attaching package: 'psych'
## The following object is masked from 'package:polycor':
##
## polyserial
## The following object is masked from 'package:modelsummary':
##
## SD
## The following objects are masked from 'package:arm':
##
## logit, rescale, sim
## 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.63
## MSA for each item =
## carbon_porcentaje el_porcentaje gas_porcentaje leña_porcentaje
## 0.72 0.91 0.59 0.59
cortest.bartlett(corMatrix,n=nrow(ladata))$p.value>0.05
## [1] FALSE
library(matrixcalc)
is.singular.matrix(corMatrix)
## [1] FALSE
round(corMatrix,2)
## carbon_porcentaje el_porcentaje gas_porcentaje
## carbon_porcentaje 1.00 0.10 0.23
## el_porcentaje 0.10 1.00 0.48
## gas_porcentaje 0.23 0.48 1.00
## leña_porcentaje -0.31 -0.46 -0.87
## leña_porcentaje
## carbon_porcentaje -0.31
## el_porcentaje -0.46
## gas_porcentaje -0.87
## leña_porcentaje 1.00
fa.parallel(ladata, fa = 'fa',correct = T,plot = F)
## Warning in fa.stats(r = r, f = f, phi = phi, n.obs = n.obs, np.obs = np.obs, :
## The estimated weights for the factor scores are probably incorrect. Try a
## different factor score estimation method.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## Parallel analysis suggests that the number of factors = 1 and the number of components = NA
library(GPArotation)
## Warning: package 'GPArotation' was built under R version 4.3.3
##
## Attaching package: 'GPArotation'
## The following objects are masked from 'package:psych':
##
## equamax, varimin
resfa <- fa(ladata,
nfactors = 1,
cor = 'mixed',
rotate = "varimax", #oblimin?
fm="minres")
print(resfa$loadings)
##
## Loadings:
## MR1
## carbon_porcentaje 0.279
## el_porcentaje 0.493
## gas_porcentaje 0.912
## leña_porcentaje -0.956
##
## MR1
## SS loadings 2.068
## Proportion Var 0.517
library(GPArotation)
resfa2 <- fa(ladata,
nfactors = 1,
cor = 'mixed',
rotate = "oblimin", #oblimin?
fm="minres")
print(resfa2$loadings)
##
## Loadings:
## MR1
## carbon_porcentaje 0.279
## el_porcentaje 0.493
## gas_porcentaje 0.912
## leña_porcentaje -0.956
##
## MR1
## SS loadings 2.068
## Proportion Var 0.517
se podria asumir que