Es una magnitud que queda completamente definida por un número y una unidad, sin necesidad de indicar dirección.
Las magnitudes escalares se pueden escribir y operar en el programa R-Studio, como primer paso se debe asignar a una variable la cantidad escalar, como se indica a continuación:
escalar1 <- 3
escalar2 <- 4
En R-Studio se puede realizar todo tipo de operaciones como, suma, multiplicación, división, entre otras. Para realizar la operación simplemente usamos el signo del operador y las cantidades escalares a operar, como por ejemplo:
escalar1 + escalar2
## [1] 7
Otra forma de realizar operaciones es asignando una variable a la operación de la siguiente manera:
escalar3 <- escalar1 + escalar2
## [1] 7
Como se menciono con anterioridad se puede realizar distintos tipos de operaciones en R-Studio, a continuación se indica un ejemplo de como realizar la operación de multiplicación y división: multiplicación
escalar4 <- escalar3 * escalar2
## [1] 28
escalar5 <- escalar4/escalar1
## [1] 9.333333
Otra opción que nos presenta R-Studio es la de summmary, a través de este código se obtiene el mínimo, los cuartiles, la mediana y el promedio de los datos.
summary(escalar5)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 9.333 9.333 9.333 9.333 9.333 9.333
Finalement podemos crear una tabla con los valores obtenidos:
table(escalar5)
## escalar5
## 9.33333333333333
## 1
Para generar un vector primero creamos un nuevo objeto, en el caso del ejemplo como vect1 vect2, vect3, los vectores pueden ser númerico o de caracteres. Para generar un vector usamos la función c().
vect1 <- c(2,1.5,4) #vector numerico
vect2 <- c("Juan","Pedro","Sara")#este es un vector de caracteres
vect3 <- c(5,6,2)
El resultado de la creación de vectores es: Vector 1
## [1] 2.0 1.5 4.0
Vector 2
## [1] "Juan" "Pedro" "Sara"
Vector 3
## [1] 5 6 2
Las operaciones con vectores se pueden realizar en el programa R-Studio un ejemplo es la multiplicación de una cantidad escalar por una cantidad vectorial como por ejemplo:
prd1 <- vect1 *escalar4
el resultado del anterior código es:
## [1] 56 42 112
Con este código podemos saber cual es la coordenada del vector según su posición por ejemplo en el vector 1 en la posición 2 se encuentra el número 1.5 para esto usamos el siguiente código:
vect1[2]
## [1] 1.5
Otro ejemplo para el vector dos:
vect2[3]
## [1] "Sara"
Además, se puede crear nuevos objetos a partir de este código como por ejemplo:
objeto1 <- vect3[1]
y se obtiene el siguiente resultado:
## [1] 5
También se puede tomar la ubicación de los vectores según intervalos definidos por ejemplo en el vector 2 se va a tomar las posiciones 2 y 3 del vector usando el siguiente código:
objeto2 <- vect2[2:3]
el resultado obtenido es:
## [1] "Pedro" "Sara"
Otro ejemplo de intervalos es:
objeto3 <- vect2[1:2]
el resultado que se tiene es:
## [1] "Juan" "Pedro"
Cuando se desea excluir tan solo una de las coordenadas se puede usar el siguiente código:
objeto4_f2 <- vect2[-2]
se obtiene el siguiente resultado:
## [1] "Juan" "Sara"
Para crear matrices se usa el codigo cbind() con el que se puede organizar la matriz en forma de columnas:
matrizA <- cbind(vect1,vect2,vect3)
y se obtiene el siguiente resultado
## vect1 vect2 vect3
## [1,] "2" "Juan" "5"
## [2,] "1.5" "Pedro" "6"
## [3,] "4" "Sara" "2"
Mientras que para organizar la matriz en forma de filas se usa el código rbind():
matrizB <- rbind(vect1,vect2,vect3)
y se obtiene el siguiente resultado
## [,1] [,2] [,3]
## vect1 "2" "1.5" "4"
## vect2 "Juan" "Pedro" "Sara"
## vect3 "5" "6" "2"
Observe en los resultados que los vectores se ordenaron en forma de filas o columnas.
Para crear una base de datos se usa el código as.data.frame()
base1 <- as.data.frame(matrizA)
obteniendo el resultado
## vect1 vect2 vect3
## 1 2 Juan 5
## 2 1.5 Pedro 6
## 3 4 Sara 2
A continuación se presenta otro ejemplo de la creación de una base de datos:
base2 <- as.data.frame(matrizB)
y se obtiene el siguiente resultado
## V1 V2 V3
## vect1 2 1.5 4
## vect2 Juan Pedro Sara
## vect3 5 6 2
Para ingresar en la algún objeto de la base de datos se usa el siguiente código:
base1$vect1
## [1] "2" "1.5" "4"
A veces se necesita cambiar el nombre de las variables por lo que se usa el siguiente código:
nombre_vectores <- c("variable1","variable2","variable3")
names(base1) <- nombre_vectores
Para caragar una base de datos primero se limpiará el entorno de trabajo de R-Studio con el código:
rm(list = ls())
Ahora se cargará una base de datos interna con el siguiente código:
base <- mtcars
en el cuadro siguiente se observa la base de datos interna cargada
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
## Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
## Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
## Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
## Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
## Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
## Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
Para la filtración de datos se tiene tres formas de realizarlo:
base1 <- subset(base,base$cyl > 4)
obteniendo el siguiemmmte resultado
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
## Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
## Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
## Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
## Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
Como se puede observar en la base filtrada en la columna de cyl se encuentran solo los automóviles mayores a 4 cilindros.
La segunda forma de filtrar una base de datos es la forma matricial y se usa el siguiente código:
base1_f2 <- base[base$cyl>4,]
obteniendo el siguiente resultado
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
## Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
## Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
## Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
## Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
Se puede observar que el resultado es el mismo que el obtenido en la forma uno con subsect.
Para filtrar la base de datos se deberá cargar previamente el paquete y la libreria dpylr, si se tiene instalado el paquete no es necesario volver a cargarlo, se usa el siguiente código para la carga de paquetes y libreria:
#install.packages('dplyr')
library(dplyr)
##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
Para realizar el filtro se usa el siguiente código:
base1_f3 <- base %>%
filter(cyl>4)
obteniendo el siguiente resultado:
base1_f3
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
## Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
## Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
## Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
## Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
Como se puede observar el resultado es el mismo resultado que la forma 1 y la forma 2.
Para el tratamiento de datos se usa los siguientes paquetes y librerias:
rm(list=ls())
# cargar paquetes y librerias
#install.packages("readxl")
library(readxl)
library(dplyr)
y se debe cargar la base de datos
base <- read_excel("~/2. Espe/11/1/insumos/pib_can_anual.xlsx")
## New names:
## • `` -> `...20`
Además, cambiamos el nombre de la sexta columna de la base de datos
names(base)[6] <- 'agricultura'
Para remplazar NA por ceros usamos el siguiente código:
base[is.na(base)] <-0
table(base$canton)
##
## 24 De Mayo Aguarico
## 10 10
## Alausí Alfredo Baquerizo Moreno
## 10 10
## Ambato Antonio Ante
## 10 10
## Arajuno Archidona
## 10 10
## Arenillas Atacames
## 10 10
## Atahualpa Azogues
## 10 10
## Baba Babahoyo
## 10 10
## Balao Balsas
## 10 10
## Balzar Baños
## 10 10
## Biblián Bolívar
## 10 20
## Buena Fé Caluma
## 10 10
## Calvas Camilo Ponce Enríquez
## 10 10
## Cañar Carlos Julio Arosemena Tola
## 10 10
## Cascales Catamayo
## 10 10
## Cayambe Celica
## 10 10
## Centinela Del Cóndor Cevallos
## 10 10
## Chaguarpamba Chambo
## 10 10
## Chilla Chillanes
## 10 10
## Chimbo Chinchipe
## 10 10
## Chone Chordeleg
## 10 10
## Chunchi Colimes
## 10 10
## Colta Coronel Marcelino Maridueña
## 10 10
## Cotacachi Cuenca
## 10 10
## Cumandá Cuyabeno
## 10 10
## Daule Déleg
## 10 10
## Durán Echeandía
## 10 10
## El Carmen El Chaco
## 10 10
## El Empalme El Guabo
## 10 10
## El Pan El Pangui
## 10 10
## El Tambo El Triunfo
## 10 10
## Eloy Alfaro Esmeraldas
## 10 10
## Espejo Espíndola
## 10 10
## Flavio Alfaro General Antonio Elizalde
## 10 10
## Girón Gonzalo Pizarro
## 10 10
## Gonzanamá Guachapala
## 10 10
## Gualaceo Gualaquiza
## 10 10
## Guamote Guano
## 10 10
## Guaranda Guayaquil
## 10 10
## Huamboya Huaquillas
## 10 10
## Ibarra Isabela
## 10 10
## Isidro Ayora Jama
## 10 10
## Jaramijó Jipijapa
## 10 10
## Junín La Concordia
## 10 10
## La Joya De Los Sachas La Libertad
## 10 10
## La Maná La Troncal
## 10 10
## Lago Agrio Las Lajas
## 10 10
## Las Naves Latacunga
## 10 10
## Limón-Indanza Logroño
## 10 10
## Loja Lomas De Sargentillo
## 10 10
## Loreto Macará
## 10 10
## Machala Manta
## 10 10
## Marcabelí Mejía
## 10 10
## Mera Milagro
## 10 10
## Mira Mocache
## 10 10
## Mocha Montalvo
## 10 10
## Montecristi Montúfar
## 10 10
## Morona Muisne
## 10 10
## Nabón Nangaritza
## 10 10
## Naranjal Naranjito
## 10 10
## Nobol Olmedo
## 10 20
## Oña Orellana
## 10 10
## Otavalo Pablo VI
## 10 10
## Paján Palanda
## 10 10
## Palenque Palestina
## 10 10
## Pallatanga Palora
## 10 10
## Paltas Pangua
## 10 10
## Paquisha Pasaje
## 10 10
## Pastaza Patate
## 10 10
## Paute Pedernales
## 10 10
## Pedro Carbo Pedro Moncayo
## 10 10
## Pedro Vicente Maldonado Penipe
## 10 10
## Pichincha Pimampiro
## 10 10
## Pindal Piñas
## 10 10
## Playas (General Villamil) Portovelo
## 10 10
## Portoviejo Pucará
## 10 10
## Puebloviejo Puerto López
## 10 10
## Puerto Quito Pujilí
## 10 10
## Putumayo Puyango
## 10 10
## Quero Quevedo
## 10 10
## Quijos Quilanga
## 10 10
## Quinindé Quinsaloma
## 10 10
## Quito Riobamba
## 10 10
## Rioverde Rocafuerte
## 10 10
## Rumiñahui Salcedo
## 10 10
## Salinas Salitre (Urbina Jado)
## 10 10
## Samborondón San Cristóbal
## 10 10
## San Fernando San Juan Bosco
## 10 10
## San Lorenzo San Miguel
## 10 10
## San Miguel De Los Bancos San Miguel De Urcuquí
## 10 10
## San Pedro de Huaca San Pedro De Pelileo
## 10 10
## San Vicente Santa Ana
## 10 10
## Santa Clara Santa Cruz
## 10 10
## Santa Elena Santa Isabel
## 10 10
## Santa Lucía Santa Rosa
## 10 10
## Santiago Santiago De Píllaro
## 10 10
## Santo Domingo Saquisilí
## 10 10
## Saraguro Sevilla De Oro
## 10 10
## Shushufindi Sigchos
## 10 10
## Sigsig Simón Bolívar
## 10 10
## Sozoranga Sucre
## 10 10
## Sucúa Sucumbíos
## 10 10
## Suscal Taisha
## 10 10
## Tena Tisaleo
## 10 10
## Tiwintza Tosagua
## 10 10
## Tulcán Urdaneta
## 10 10
## Valencia Ventanas
## 10 10
## Vinces Yacuambí
## 10 10
## Yaguachi Yanzatza
## 10 10
## Zamora Zapotillo
## 10 10
## Zaruma
## 10
Como segundo paso se filtra de la base de datos con la información que se necesita analizar
base_manabi <- base %>%
filter(prov=="MANABÍ")
y se obtiene el siguiente resultado
## # A tibble: 220 × 20
## year prov dpa_prov canton dpa_can agricultura Explotacion de minas…¹
## <dbl> <chr> <chr> <chr> <chr> <dbl> <dbl>
## 1 2011 MANABÍ 13 Portoviejo 1301 76379. 91.5
## 2 2011 MANABÍ 13 Bolívar 1302 26837. 0
## 3 2011 MANABÍ 13 Chone 1303 25434. 0
## 4 2011 MANABÍ 13 El Carmen 1304 23617. 0
## 5 2011 MANABÍ 13 Flavio Alfa… 1305 11233. 0
## 6 2011 MANABÍ 13 Jipijapa 1306 3740. 0
## 7 2011 MANABÍ 13 Junín 1307 121767. 0
## 8 2011 MANABÍ 13 Manta 1308 108364. 20.8
## 9 2011 MANABÍ 13 Montecristi 1309 34158. 3502.
## 10 2011 MANABÍ 13 Paján 1310 4822. 0
## # ℹ 210 more rows
## # ℹ abbreviated name: ¹`Explotacion de minas y canteras`
## # ℹ 13 more variables: `Manufactura\r\n\r\n` <dbl>,
## # `Suministro de electricidad y de agua` <dbl>, `Construccion\r\n\r\n` <dbl>,
## # `comercio\r\n\r\n` <dbl>, `Alojamiento y servicios de comida` <dbl>,
## # `Transporte, informacion y comunicaciones` <dbl>,
## # `Actividades financieras\r\n` <dbl>, …
En el siguiente paso se debe quedar con las variables necesarias por lo que se usa el siguiente código:
names(base_manabi)
## [1] "year"
## [2] "prov"
## [3] "dpa_prov"
## [4] "canton"
## [5] "dpa_can"
## [6] "agricultura"
## [7] "Explotacion de minas y canteras"
## [8] "Manufactura\r\n\r\n"
## [9] "Suministro de electricidad y de agua"
## [10] "Construccion\r\n\r\n"
## [11] "comercio\r\n\r\n"
## [12] "Alojamiento y servicios de comida"
## [13] "Transporte, informacion y comunicaciones"
## [14] "Actividades financieras\r\n"
## [15] "Actividades profesionales e inmobiliarias"
## [16] "Administracion publica \r\n"
## [17] "Enseñanza\r\n\r\n"
## [18] "Salud\r\n\r\n"
## [19] "Otros servicios\r\n\r\n"
## [20] "...20"
base_manabi1 <- base_manabi %>%
select(year,prov,dpa_prov,canton,dpa_can,agricultura,'Explotacion de minas y canteras')
y obtenemos el siguiente resultado
## # A tibble: 220 × 7
## year prov dpa_prov canton dpa_can agricultura Explotacion de minas…¹
## <dbl> <chr> <chr> <chr> <chr> <dbl> <dbl>
## 1 2011 MANABÍ 13 Portoviejo 1301 76379. 91.5
## 2 2011 MANABÍ 13 Bolívar 1302 26837. 0
## 3 2011 MANABÍ 13 Chone 1303 25434. 0
## 4 2011 MANABÍ 13 El Carmen 1304 23617. 0
## 5 2011 MANABÍ 13 Flavio Alfa… 1305 11233. 0
## 6 2011 MANABÍ 13 Jipijapa 1306 3740. 0
## 7 2011 MANABÍ 13 Junín 1307 121767. 0
## 8 2011 MANABÍ 13 Manta 1308 108364. 20.8
## 9 2011 MANABÍ 13 Montecristi 1309 34158. 3502.
## 10 2011 MANABÍ 13 Paján 1310 4822. 0
## # ℹ 210 more rows
## # ℹ abbreviated name: ¹`Explotacion de minas y canteras`
Para usar las variables necesarias podemos ir generando los códigos y las restricciones según la necesidad como se observa en los siguientes ejemplos de códigos.
base_manabi1 <- base_manabi1[,-7]
base_manabi1 <- base_manabi1 %>%
mutate(tipo_pib=ifelse(agricultura>29351,"pib_alto","pib_bajo"))
base_manabi1 <- base_manabi1 %>%
mutate(tipo=ifelse(agricultura>29351,1,0))
base_manabi1 <- base_manabi1 %>%
mutate(periodo=ifelse(year<2016,"pre","post"))
base_manabi1_pre <- base_manabi1 %>%
filter(periodo=="pre")
base_manabi1_post <- base_manabi1 %>%
filter(periodo=="post")
b_m_pre_agg <- base_manabi1_pre %>%
group_by(canton) %>%
summarise(total1_agricultura_pre=sum(agricultura))
b_m_post_agg <- base_manabi1_post %>%
group_by(canton) %>%
summarise(total1_agricultura_post=sum(agricultura))
A continuación se presenta el resultado obtenido de uno de los ejemplos del código:
base_manabi1_pre <- base_manabi1 %>%
filter(periodo=="pre")
## # A tibble: 110 × 9
## year prov dpa_prov canton dpa_can agricultura tipo_pib tipo periodo
## <dbl> <chr> <chr> <chr> <chr> <dbl> <chr> <dbl> <chr>
## 1 2011 MANABÍ 13 Portoviejo 1301 76379. pib_alto 1 pre
## 2 2011 MANABÍ 13 Bolívar 1302 26837. pib_bajo 0 pre
## 3 2011 MANABÍ 13 Chone 1303 25434. pib_bajo 0 pre
## 4 2011 MANABÍ 13 El Carmen 1304 23617. pib_bajo 0 pre
## 5 2011 MANABÍ 13 Flavio Alfa… 1305 11233. pib_bajo 0 pre
## 6 2011 MANABÍ 13 Jipijapa 1306 3740. pib_bajo 0 pre
## 7 2011 MANABÍ 13 Junín 1307 121767. pib_alto 1 pre
## 8 2011 MANABÍ 13 Manta 1308 108364. pib_alto 1 pre
## 9 2011 MANABÍ 13 Montecristi 1309 34158. pib_alto 1 pre
## 10 2011 MANABÍ 13 Paján 1310 4822. pib_bajo 0 pre
## # ℹ 100 more rows
Para crear modelos econométricos en R-Studio seguimos el siguiente proceso
rm(list=ls())
options(scipen=999)
base <- read.csv('~/2. Espe/11/1/insumos/base_final.csv')
base1 <- base %>%
filter(base$anio>=1980&base$anio<=2024)
base2 <- base %>%
filter(anio>=1980)
base1$ingreso_disponible <- base1$pib-base1$impuestos
base2$ingreso_disponible <- base2$pib-base2$impuestos
#forma 2
base3 <- base1 %>%
mutate(ingreso_disponible2=pib-impuestos)
modelo <- lm(consumo ~ ingreso_disponible, data = base1)
se obtiene el siguiente resultado
##
## Call:
## lm(formula = consumo ~ ingreso_disponible, data = base1)
##
## Coefficients:
## (Intercept) ingreso_disponible
## 14165415645.3289 0.6847
summary(modelo)
##
## Call:
## lm(formula = consumo ~ ingreso_disponible, data = base1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4901431887 -1069569495 -195228251 1233327995 6870277166
##
## Coefficients:
## Estimate Std. Error t value
## (Intercept) 14165415645.32893 935246532.56462 15.15
## ingreso_disponible 0.68472 0.01397 49.01
## Pr(>|t|)
## (Intercept) <0.0000000000000002 ***
## ingreso_disponible <0.0000000000000002 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2450000000 on 43 degrees of freedom
## Multiple R-squared: 0.9824, Adjusted R-squared: 0.982
## F-statistic: 2402 on 1 and 43 DF, p-value: < 0.00000000000000022
Encontramos los intervalos de confianza con el siguiente código
confint(modelo)
## 2.5 % 97.5 %
## (Intercept) 12279311258.7509937 16051520031.9068737
## ingreso_disponible 0.6565423 0.7128939
Para ajustar los modelos se puede crear variables logaritmicas con el siguiente código:
base3 <- base3 %>%
mutate(ln_consumo=log(consumo),
ln_ingreso_disponible=log(ingreso_disponible))
Se genera el modelo logaritmico con los nuevos datos
modelo2 <- lm(ln_consumo ~ ln_ingreso_disponible, data = base3)
modelo2
##
## Call:
## lm(formula = ln_consumo ~ ln_ingreso_disponible, data = base3)
##
## Coefficients:
## (Intercept) ln_ingreso_disponible
## 6.7050 0.7271
Generar el summary del modelo
summary(modelo2)
##
## Call:
## lm(formula = ln_consumo ~ ln_ingreso_disponible, data = base3)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.113225 -0.021156 0.005125 0.031844 0.124035
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.70498 0.45862 14.62 <0.0000000000000002 ***
## ln_ingreso_disponible 0.72715 0.01852 39.26 <0.0000000000000002 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.05187 on 43 degrees of freedom
## Multiple R-squared: 0.9729, Adjusted R-squared: 0.9722
## F-statistic: 1541 on 1 and 43 DF, p-value: < 0.00000000000000022
rm(list = ls())
base <- read.csv('~/2. Espe/11/1/insumos/datos_ecuador.csv')
### Modelo: desempleo = B1 + B2*PIB +u
names(base)
## [1] "anio" "trim"
## [3] "RiesgoPais" "PIB_MillonesUSD"
## [5] "TasaDesempleo_Porcentaje" "IED_MillonesUSD"
modelo_desempleo <- lm(TasaDesempleo_Porcentaje ~ PIB_MillonesUSD, data=base)
modelo_desemepleo2 <- lm(base$TasaDesempleo_Porcentaje ~base$PIB_MillonesUSD)
modelo_desempleo
##
## Call:
## lm(formula = TasaDesempleo_Porcentaje ~ PIB_MillonesUSD, data = base)
##
## Coefficients:
## (Intercept) PIB_MillonesUSD
## 8.3728246 -0.0001071
modelo_desemepleo2
##
## Call:
## lm(formula = base$TasaDesempleo_Porcentaje ~ base$PIB_MillonesUSD)
##
## Coefficients:
## (Intercept) base$PIB_MillonesUSD
## 8.3728246 -0.0001071
summary(modelo_desempleo)
##
## Call:
## lm(formula = TasaDesempleo_Porcentaje ~ PIB_MillonesUSD, data = base)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.6369 -0.8933 -0.1452 0.4323 7.6118
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8.37282462 0.92082867 9.093 0.000000000000595 ***
## PIB_MillonesUSD -0.00010715 0.00003556 -3.014 0.00376 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.377 on 61 degrees of freedom
## Multiple R-squared: 0.1296, Adjusted R-squared: 0.1153
## F-statistic: 9.081 on 1 and 61 DF, p-value: 0.003758
summary(modelo_desemepleo2)
##
## Call:
## lm(formula = base$TasaDesempleo_Porcentaje ~ base$PIB_MillonesUSD)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.6369 -0.8933 -0.1452 0.4323 7.6118
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8.37282462 0.92082867 9.093 0.000000000000595 ***
## base$PIB_MillonesUSD -0.00010715 0.00003556 -3.014 0.00376 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.377 on 61 degrees of freedom
## Multiple R-squared: 0.1296, Adjusted R-squared: 0.1153
## F-statistic: 9.081 on 1 and 61 DF, p-value: 0.003758
##### Modelo: IED = B1 + B2* RP +u
names(base)
## [1] "anio" "trim"
## [3] "RiesgoPais" "PIB_MillonesUSD"
## [5] "TasaDesempleo_Porcentaje" "IED_MillonesUSD"
model_ied <- lm(IED_MillonesUSD ~ RiesgoPais, data=base)
model_ied
##
## Call:
## lm(formula = IED_MillonesUSD ~ RiesgoPais, data = base)
##
## Coefficients:
## (Intercept) RiesgoPais
## 229.89653 -0.04321
summary(model_ied)
##
## Call:
## lm(formula = IED_MillonesUSD ~ RiesgoPais, data = base)
##
## Residuals:
## Min 1Q Median 3Q Max
## -317.37 -55.76 -16.82 54.14 279.09
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 229.89653 29.74552 7.729 0.000000000129 ***
## RiesgoPais -0.04321 0.02458 -1.758 0.0838 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 107.9 on 61 degrees of freedom
## Multiple R-squared: 0.04821, Adjusted R-squared: 0.0326
## F-statistic: 3.089 on 1 and 61 DF, p-value: 0.08382
#### Creamos el Riesgo pais Rezagado
library(dplyr)
base <- base %>%
mutate(ied_rezagado1= lag(IED_MillonesUSD,n=1),
rp_rezagado1 = lag(RiesgoPais,n=1),
rp_rezagado2 = lag(RiesgoPais,n=2))
#modelo rezagado
names(base)
## [1] "anio" "trim"
## [3] "RiesgoPais" "PIB_MillonesUSD"
## [5] "TasaDesempleo_Porcentaje" "IED_MillonesUSD"
## [7] "ied_rezagado1" "rp_rezagado1"
## [9] "rp_rezagado2"
model_ied_lag1 <- lm(IED_MillonesUSD ~ rp_rezagado1, data=base)
model_ied_lag1
##
## Call:
## lm(formula = IED_MillonesUSD ~ rp_rezagado1, data = base)
##
## Coefficients:
## (Intercept) rp_rezagado1
## 208.40204 -0.02284
summary(model_ied_lag1)
##
## Call:
## lm(formula = IED_MillonesUSD ~ rp_rezagado1, data = base)
##
## Residuals:
## Min 1Q Median 3Q Max
## -319.35 -55.08 -20.33 52.81 271.41
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 208.40204 30.70883 6.786 0.00000000578 ***
## rp_rezagado1 -0.02284 0.02527 -0.904 0.37
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 110.7 on 60 degrees of freedom
## (1 observation deleted due to missingness)
## Multiple R-squared: 0.01343, Adjusted R-squared: -0.003015
## F-statistic: 0.8167 on 1 and 60 DF, p-value: 0.3698
model_ied_lag2 <- lm(IED_MillonesUSD ~ rp_rezagado2, data=base)
model_ied_lag2
##
## Call:
## lm(formula = IED_MillonesUSD ~ rp_rezagado2, data = base)
##
## Coefficients:
## (Intercept) rp_rezagado2
## 214.06880 -0.02707
summary(model_ied_lag2)
##
## Call:
## lm(formula = IED_MillonesUSD ~ rp_rezagado2, data = base)
##
## Residuals:
## Min 1Q Median 3Q Max
## -320.59 -53.15 -14.34 49.29 266.92
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 214.06880 30.81112 6.948 0.00000000332 ***
## rp_rezagado2 -0.02707 0.02533 -1.069 0.29
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 111 on 59 degrees of freedom
## (2 observations deleted due to missingness)
## Multiple R-squared: 0.01899, Adjusted R-squared: 0.002358
## F-statistic: 1.142 on 1 and 59 DF, p-value: 0.2896
Para el manejo de encuestas procedemos de la siguiennte forma:
rm(list = ls())
#Librerias
library(dplyr)
#install.packages('srvyr')
library(srvyr)
##
## Adjuntando el paquete: 'srvyr'
## The following object is masked from 'package:stats':
##
## filter
#install.packages('rio')
library(rio)
#install.packages('import')
library(import)
## The import package should not be attached.
## Use "colon syntax" instead, e.g. import::from, or import:::from.
personas <- import('~/2. Espe/11/1/insumos/1_BDD_ENS2018_f1_personas.dta')
table(personas$dcronica_2)
##
## 0 1
## 5591 2210
dci <- 2210/(5591+2210)
dci*100
## [1] 28.3297
dm <- personas %>%
as_survey_design(ids=upm, #unidad primaria de muestreo
strata=estrato, #estrato
weights = fexp) #factor de expansion
options(survey.lonely.psu = 'certainty') #forzando a que las observaciones sean unicas e individuales
prev_nac_dci2 <- dm %>%
summarise(survey_mean(dcronica_2, vartype =c('se','cv'),na.rm=T),
n_muestra=sum(!is.na(dcronica_2))) %>%
mutate(dominio="Nacional") %>%
select(dominio, porcentaje=coef, se=`_se`, cv=`_cv`, n_muestra) %>%
mutate(porcentaje=round((porcentaje*100),digits = 1))
y se obtiene el siguiente resultado
## Stratified 1 - level Cluster Sampling design (with replacement)
## With (2590) clusters.
## Called via srvyr
## Sampling variables:
## - ids: upm
## - strata: estrato
## - weights: fexp
## Data variables:
## - area (dbl), prov (chr), upm (chr), id_viv (chr), id_hogar (chr), id_per
## (chr), persona (chr), sexo (dbl), f1_s2_3_1 (dbl), f1_s2_3_2 (dbl),
## f1_s2_4_1 (dbl), f1_s2_4_2 (dbl), f1_s2_4_3 (dbl), f1_s2_7 (dbl), f1_s2_8_1
## (dbl), f1_s2_8_2 (dbl), f1_s2_9 (dbl), f1_s2_10_1 (dbl), f1_s2_10_2 (dbl),
## f1_s2_10_3 (dbl), f1_s2_10_4 (dbl), f1_s2_10_5 (dbl), f1_s2_10_6 (dbl),
## f1_s2_11 (dbl), f1_s2_12 (dbl), f1_s2_13 (dbl), f1_s2_14 (dbl), f1_s2_14_1
## (dbl), f1_s2_15 (dbl), f1_s2_15_1 (dbl), f1_s2_16 (dbl), f1_s2_17 (dbl),
## f1_s2_18 (dbl), f1_s2_19_1 (dbl), f1_s2_19_2 (dbl), f1_s2_20 (dbl),
## f1_s2_21 (dbl), f1_s2_22 (chr), f1_s2_23 (dbl), f1_s2_23_1 (dbl), f1_s3_0
## (dbl), f1_s3_1 (dbl), f1_s3_2 (dbl), f1_s3_3 (dbl), f1_s3_4_1 (dbl),
## f1_s3_5_1 (dbl), f1_s3_6 (dbl), f1_s3_7 (dbl), f1_s3_8 (dbl), f1_s3_9_1
## (dbl), f1_s3_10_2 (dbl), f1_s3_11_2 (dbl), f1_s3_12 (dbl), f1_s3_13 (dbl),
## f1_s3_14 (dbl), f1_s3_15 (dbl), f1_s3_16_1 (dbl), f1_s3_16_2 (dbl),
## f1_s3_17 (dbl), f1_s3_18 (dbl), f1_s3_19 (dbl), f1_s3_20_1 (dbl),
## f1_s3_20_2 (dbl), f1_s3_21 (dbl), f1_s3_22_1 (dbl), f1_s3_22_2 (dbl),
## f1_s3_23_1 (dbl), f1_s3_23_2 (dbl), f1_s3_24_1 (dbl), f1_s3_24_2 (dbl),
## f1_s3_25_1 (dbl), f1_s3_25_2 (dbl), f1_s3_26_1 (dbl), f1_s3_26_2 (dbl),
## f1_s3_27 (dbl), f1_s3_28_1 (dbl), f1_s3_28_2 (dbl), f1_s3_29 (dbl),
## f1_s3_30_1 (dbl), f1_s3_30_2 (dbl), f1_s4_1 (dbl), f1_s4_2 (dbl), f1_s4_3
## (dbl), f1_s4_4 (dbl), f1_s4_4_1 (dbl), f1_s4_5 (dbl), f1_s4_6 (dbl),
## f1_s4_7 (dbl), f1_s4_8 (dbl), f1_s4_9 (dbl), f1_s4_10_1 (dbl), f1_s4_10_2
## (dbl), f1_s4_10_3 (dbl), f1_s4_11 (dbl), f1_s4_12_1 (dbl), f1_s4_12_2
## (dbl), f1_s4_12_3 (dbl), f1_s4_13 (dbl), f1_s4_14 (dbl), f1_s4_15 (dbl),
## f1_s4_16 (dbl), f1_s4_16_1 (dbl), f1_s4_16_2 (dbl), f1_s4_17 (dbl),
## f1_s4_17_1 (dbl), f1_s4_18 (dbl), f1_s4_18_1 (dbl), f1_s4_19 (dbl),
## f1_s4_19_1 (dbl), f1_s4_20 (dbl), f1_s4_21 (dbl), f1_s4_22 (dbl),
## f1_s4_22_1 (dbl), f1_s4_23 (dbl), f1_s4_24 (dbl), f1_s4_25 (dbl), f1_s4_26
## (dbl), f1_s4_27 (dbl), f1_s4_28 (dbl), f1_s4_29 (dbl), f1_s4_30_1 (dbl),
## f1_s4_30_2 (dbl), f1_s4_30_3 (dbl), f1_s4_31 (dbl), f1_s4_32 (dbl),
## f1_s4_32_1 (dbl), f1_s4_32_2 (dbl), f1_s4_33 (dbl), f1_s4_34 (dbl),
## f1_s4_34_1 (dbl), f1_s4_35 (dbl), f1_s4_35_1 (dbl), f1_s4_36 (dbl),
## f1_s4_36_1 (dbl), f1_s4_37 (dbl), f1_s4_38 (dbl), f1_s4_39 (dbl), f1_s4_40
## (dbl), f1_s4_41 (dbl), f1_s4_42 (dbl), f1_s4_43 (dbl), f1_s4_44_1 (dbl),
## f1_s4_44_2 (dbl), f1_s4_44_3 (dbl), f1_s4_45 (dbl), f1_s4_46_1 (dbl),
## f1_s4_46_2 (dbl), f1_s4_47 (dbl), f1_s4_48 (dbl), f1_s4_49_1 (dbl),
## f1_s4_49_2 (dbl), f1_s4_49_3 (dbl), f1_s4_50_1 (dbl), f1_s4_50_2 (dbl),
## f1_s4_51 (dbl), f1_s4_52 (dbl), f1_s4_53 (dbl), f1_s4_54 (dbl), f1_s4_55
## (dbl), f1_s4_56 (dbl), f1_s4_57 (dbl), f1_s4_58 (dbl), f1_s4_59 (dbl),
## f1_s4_60 (dbl), f1_s4_61_1 (dbl), f1_s4_61_2 (dbl), f1_s4_61_3 (dbl),
## f1_s4_62_1 (dbl), f1_s4_62_2 (dbl), f1_s4_62_3 (dbl), f1_s5_1 (dbl),
## f1_s5_2 (dbl), f1_s5_3 (dbl), f1_s5_4 (dbl), f1_s5_5 (dbl), f1_s5_6 (dbl),
## f1_s5_7_1 (dbl), f1_s5_7_2 (dbl), f1_s5_7_3 (dbl), f1_s5_8 (dbl), f1_s5_9_1
## (dbl), f1_s5_9_2 (dbl), f1_s5_10 (dbl), f1_s5_11 (dbl), f1_s5_12 (dbl),
## f1_s5_13 (dbl), f1_s5_14 (dbl), f1_s5_15 (dbl), f1_s5_16 (dbl), f1_s5_17
## (dbl), f1_s5_18_1 (dbl), f1_s5_18_2 (dbl), f1_s5_19 (dbl), f1_s5_20_1
## (dbl), f1_s5_20_2 (dbl), f1_s5_21 (dbl), f1_s5_22 (dbl), f1_s5_23 (dbl),
## f1_s5_24 (dbl), f1_s5_25 (dbl), f1_s5_26 (dbl), f1_s5_27 (dbl), f1_s5_28
## (dbl), f1_s5_29_1 (dbl), f1_s5_29_2 (dbl), f1_s5_29_3 (dbl), f1_s5_30
## (dbl), f1_s5_31_1 (dbl), f1_s5_31_2 (dbl), f1_s5_32 (dbl), f1_s5_33 (dbl),
## f1_s5_34 (dbl), f1_s5_35 (dbl), f1_s7_1 (dbl), f1_s7_2_1 (dbl), f1_s7_2_2
## (dbl), f1_s7_2_3 (dbl), f1_s7_3_1 (dbl), f1_s7_3_2 (dbl), f1_s7_3_3 (dbl),
## f1_s7_4_1 (dbl), f1_s7_4_2 (dbl), f1_s7_4_3 (dbl), f1_s7_5_1 (dbl),
## f1_s7_5_2 (dbl), f1_s7_5_3 (dbl), f1_s7_6_1 (dbl), f1_s7_6_2 (dbl),
## f1_s7_6_3 (dbl), f1_s7_7_1 (dbl), fecha_anio (dbl), fecha_mes (dbl),
## fecha_dia (dbl), region (dbl), etnia (dbl), estado_civil (dbl), edaddias
## (dbl), edadanios (dbl), edadmeses (dbl), gedad_meses (dbl), gedad_anios
## (dbl), nivins (dbl), quintil (dbl), pobreza (dbl), epobreza (dbl),
## escolaridad (dbl), dcronica (dbl), dglobal (dbl), daguda (dbl), dcronica_2
## (dbl), dglobal_2 (dbl), daguda_2 (dbl), dsp5_11 (dbl), dobes5_11 (dbl),
## dspob5_11 (dbl), ddelg5_11 (dbl), dsp12_19 (dbl), dobes12_19 (dbl),
## dspob12_19 (dbl), ddelg12_19 (dbl), dbpeso19_59 (dbl), dnorm19_59 (dbl),
## dspeso19_59 (dbl), dobes19_59 (dbl), dspobes19_59 (dbl), fexp (dbl),
## estrato (chr), nbi_1 (dbl), nbi_2 (dbl)
rm(list = ls())
library(dplyr)
library(srvyr)
library(rio)
#installed.packages('haven')
library(haven)
df <- read.csv2('~/2. Espe/11/1/insumos/enemdu_persona_2025_II_trimestre.csv')
df2 <- read.csv('~/2. Espe/11/1/insumos/enemdu_persona_2025_II_trimestre.csv',sep = ';')
### Declaracion del disenio muestral
dm <- df %>%
as_survey_design(ids=upm, #unidad primaria de muestreo
strata=estrato, #estrato
weights = fexp) #f
con el código anterior se obtiene el siguiente resultado
dm
## Stratified 1 - level Cluster Sampling design (with replacement)
## With (3863) clusters.
## Called via srvyr
## Sampling variables:
## - ids: upm
## - strata: estrato
## - weights: fexp
## Data variables:
## - area (int), ciudad (int), conglomerado (int), panelm (int), vivienda (int),
## hogar (int), p01 (int), p02 (int), p03 (int), p04 (int), p05a (int), p05b
## (int), p06 (int), p07 (int), p08 (int), p081 (int), p085 (int), p09 (int),
## p10a (int), p10b (int), p11 (int), p12a (int), p12b (int), p15 (int), p15aa
## (int), p15ab (int), cod_inf (int), p20 (int), p21 (int), p22 (int), p23
## (int), p232 (int), p233 (int), p24 (int), p25 (int), p26 (int), p27 (int),
## p28 (int), p29 (int), p29a (int), p30 (int), p31 (int), p32 (int), p33
## (int), p34 (int), p35 (int), p36 (int), p37 (int), p38 (int), p39 (int),
## p40 (int), p41 (int), p42 (int), p421 (int), p422 (int), p42a (int), p43
## (int), p44a (int), p44b (int), p44c (int), p44d (int), p44e (int), p44f
## (int), p44g (int), p44h (int), p44i (int), p44j (int), p44k (int), p45
## (int), p46 (int), p47a (int), p47b (int), p48 (int), p49 (int), p50 (int),
## p51a (int), p51b (int), p51c (int), p52 (int), p53 (int), p54 (int), p54a
## (int), p55 (int), p56a (int), p56b (int), p57 (int), p58 (int), p61b1
## (int), p63 (int), p64a (int), p64b (int), p65 (int), p66 (int), p67 (int),
## p68a (int), p68b (int), p69 (int), p70a (int), p70b (int), p71a (int), p71b
## (int), p72a (int), p72b (int), p73a (int), p73b (int), p74a (int), p74b
## (int), p75 (int), p76 (int), p77 (int), p78 (int), sd01 (int), sd021 (int),
## sd022 (int), sd023 (int), sd024 (int), sd025 (int), sd026 (int), sd027
## (int), sd028 (int), sd029 (int), sd0210 (int), sd0211 (int), sd03 (int),
## ced01a (int), estrato (int), fexp (dbl), dominio (int), nnivins (int),
## ingrl (int), ingpc (dbl), condact (int), empleo (int), desempleo (int),
## secemp (int), grupo1 (int), rama1 (int), upm (dbl), id_vivienda (dbl),
## id_hogar (dbl), id_persona (dbl), periodo (int), mes (int)
tasa_desempleo_nac <- dm %>%
filter(p03>=15) %>%
summarise(
tasa_desempleo = survey_ratio(
numerator=( condact == 7 | condact==8),
denominator=(condact %in% 1:8),
vartype = c('se','ci')
)
) %>%
mutate(tasa_desempleo = round((tasa_desempleo*100),digits = 1))
tasa_desempleo_nac
## # A tibble: 1 × 4
## tasa_desempleo tasa_desempleo_se tasa_desempleo_low tasa_desempleo_upp
## <dbl> <dbl> <dbl> <dbl>
## 1 3.9 0.00239 0.0341 0.0435
tasa_empleo_adec <- dm %>%
filter(p03>=15) %>%
summarise(
tasa_empleo_adecuado = survey_ratio(
numerator=( condact == 1),
denominator=(condact %in% 1:8),
vartype = c('se','ci')
)
) %>%
mutate(tasa_empleo_adecuado = round((tasa_empleo_adecuado*100),digits = 1))
tasa_empleo_adec
## # A tibble: 1 × 4
## tasa_empleo_adecuado tasa_empleo_adecuado_se tasa_empleo_adecuado_low
## <dbl> <dbl> <dbl>
## 1 36.2 0.0113 0.340
## # ℹ 1 more variable: tasa_empleo_adecuado_upp <dbl>
tasa_subempleo_nac <- dm %>%
filter(p03>=15) %>%
summarise(
tasa_subempleo = survey_ratio(
numerator=( condact == 2 | condact==3),
denominator=(condact %in% 1:8),
vartype = c('se','ci')
)
) %>%
mutate(tasa_subempleo = round((tasa_subempleo*100),digits = 1))
tasa_subempleo_nac
## # A tibble: 1 × 4
## tasa_subempleo tasa_subempleo_se tasa_subempleo_low tasa_subempleo_upp
## <dbl> <dbl> <dbl> <dbl>
## 1 19.9 0.00613 0.187 0.211
tasa_empleo_norem <- dm %>%
filter(p03>=15) %>%
summarise(
tasa_empleo_norem = survey_ratio(
numerator=( condact == 5),
denominator=(condact %in% 1:8),
vartype = c('se','ci')
)
) %>%
mutate(tasa_empleo_norem = round((tasa_empleo_norem*100),digits = 1))
tasa_empleo_norem
## # A tibble: 1 × 4
## tasa_empleo_norem tasa_empleo_norem_se tasa_empleo_norem_low
## <dbl> <dbl> <dbl>
## 1 10 0.0114 0.0778
## # ℹ 1 more variable: tasa_empleo_norem_upp <dbl>