Está en la página 1de 5

# UNIVERSIDAD CONTINENTAL

# Integrantes

# MELGAREJO ALFARO, OWEN OZIEL

# PACOTAYPE QUISPE, ANGEL JESÚS

# PEREZ SOTO, LIZBETH ERICA

# Docente:

# Lic. Ybinas Eli Grijalva Yauri

# Importación de datos: ENAHO 2021 - M05/ Anual

# Primero activar el paquete "haven", que nos permite importar la base de datos.

library(haven)

Enaho01A_2021_500 <- read_sav("Enaho01A-2021-500.sav")

View(Enaho01A_2021_500) #nos permite visualizar nuestra base de datos

# Tema 1 Muestreo estadístico

# 1.1 Tipos de muestreo

# 1.1.1 Muestreo aleatorio CON reposición

sample(1:86806, 8000, replace = TRUE) # genera una lista de 1 a 86806 y escoge 8000 datos de
manera aleatoria

head(Enaho01A_2021_500) #nos muestra los 6 primeros datos

set.seed(24) #fija la semilla

enaho.elegido.con = sample(1:86806, 8000, replace = TRUE) #elegir 8000 datos con reposición

muestra.enaho.con = Enaho01A_2021_500[enaho.elegido.con, ]

muestra.enaho.con #nos permite visualizar


# 1.1.2 Muestreo aleatorio SIN reposición

set.seed(24) #fijar la semilla

enaho.elegido.sin = sample(1:86806, 8000, replace = FALSE) #elegir 8000 datos sin resposición

muestra.enaho.sin = Enaho01A_2021_500[enaho.elegido.sin,]

muestra.enaho.sin #nos permite visualizar

# 1.1.3. Muestras aleatorias con reposición vs. sin reposición

# 1.1.4 Muestreo sistemático

set.seed(15) #fijar la semilla

(primer.enaho = sample(1:86806, 1)) #elige el primer dato de manera aleatoria

incremento = floor(86806/8000) #Para hallar el segundo dato se puede dividir la


poblacion/muestra

enaho.elegidos.sis = seq(from = primer.enaho, by = incremento, length.out = 8000) #Se


empieza por la primera flor, luego se le incrementa en 10, hasta tener 8000 datos.

enaho.elegidos.sis = enaho.elegidos.sis %% 86806 #te pide ajustar a los 86806, es decir que se
vuelva al inicio y seguir escogiendo

muestra.enaho.sis = Enaho01A_2021_500[enaho.elegidos.sis,]

muestra.enaho.sis #nos permite visualizar

# 1.1.5 Muestreo aleatorio estratificado

# Para poder realizar los siguientes tipos de muestreo aleatorio, necesitamos:

# 1.- Elegir una variable, en este caso seria el P507 (ocupación principal)

# 2.- Eliminar los datos en blanco de la variable P507

# 3.- Ordenar los datos de la variable P507, en este caso de manera ascendente

# Para realizar ello, necesitamos activar el paquete "dplyr"


library(dplyr)

ocupa.prin <- Enaho01A_2021_500 %>% #Primero escogemos la base de datos

filter(!is.na(P507)) %>% #Luego, con "filter" e "is.na" eliminamos los datos vacios

arrange(P507) # Finalmente "arrange" nos permite ordenar de manera ascendente

# Luego, necesitamos saber el número de datos de cada tipo de ocupación

# Para ello utilizamos "nrow" en conjunto "filter", para saber la cantidad exacta

nrow (filter(ocupa.prin, P507==1)) # 1 - 1975

nrow (filter(ocupa.prin, P507==2)) # 1976 - 26981

nrow (filter(ocupa.prin, P507==3)) # 26982 - 37773

nrow (filter(ocupa.prin, P507==4)) # 37774 - 50077

nrow (filter(ocupa.prin, P507==5)) # 50078 - 62444|

nrow (filter(ocupa.prin, P507==6)) # 62445 - 63386

nrow (filter(ocupa.prin, P507==7)) # 63387 - 63681

# Como ya sabemos el orden, procedemos a aplicar el muestreo aleatorio

# Para ello, utilizamos el script "sample", que elige observaciones al azar

fls.muestra.empleador = sample(1:1975, 250,replace = TRUE)

fls.muestra.independiente = sample(1976:26981, 250,replace = TRUE)

fls.muestra.empleado = sample(26982:37773, 250,replace = TRUE)

fls.muestra.obrero = sample(37774:50077, 250,replace = TRUE)

fls.muestra.familiarnr = sample(50078:62444, 250,replace = TRUE)

fls.muestra.hogar = sample(62445:63386, 250,replace = TRUE)

fls.muestra.otro = sample(63387:63681, 250,replace = TRUE)

# Ya obtenidos las posiciones de las muestras de cada posición, unimos todo en una tabla

# Para ello usamos el script "rbind"


(muestra.est = rbind(ocupa.prin[fls.muestra.empleador, ],

ocupa.prin[fls.muestra.independiente, ],

ocupa.prin[fls.muestra.empleado, ],

ocupa.prin[fls.muestra.obrero, ],

ocupa.prin[fls.muestra.familiarnr, ],

ocupa.prin[fls.muestra.hogar, ],

ocupa.prin[fls.muestra.otro, ], level=1))

# 1.1.6 Muestreo por conglomerados

# Ahora procederemos a realizar otro tipo de muestreo con la misma variable (P507)

head(ocupa.prin) #Nos ayuda mostrar la base de datos filtrada

#Para ello, primero fijamos con "set.seed"

#Luego, con "sample" de las 7 ocupaciones se eligen 4 al azar, sin reposición

#Finalmente, con "unique" unimos las posiciones con la base de datos

set.seed(30)

números.ocupa.elegidos = sample(1:7, 4, replace = FALSE)

ocupa.elegidos.1 = unique(ocupa.prin$P507)[números.ocupa.elegidos]

ocupa.elegidos.1

#En este paso, hacemos una tabla con los datos obtenidos en la parte anterior

muestra.ocupa.con = ocupa.prin[ocupa.prin$P507%in%ocupa.elegidos.1,]

head(muestra.ocupa.con, 73)

# 1.1.7 Muestreo polietápico

# Ahora para el muestreo polietápico, trabajaremos con la misma varible (P507)


# Para ello, primero, obtenemos la tabla de datos de cada ocupación elegida

ocupacion.1 = ocupa.prin[ocupa.prin$P507 == ocupa.elegidos.1[1], ]

ocupacion.2 = ocupa.prin[ocupa.prin$P507 == ocupa.elegidos.1[2], ]

ocupacion.3 = ocupa.prin[ocupa.prin$P507 == ocupa.elegidos.1[3], ]

ocupacion.4 = ocupa.prin[ocupa.prin$P507 == ocupa.elegidos.1[4], ]

# Luego, fijamos con "set.seed" y de cada tipo de ocupación escogemos una muestra

set.seed(28)

j.ocupacion1 = sample(1:dim(ocupacion.1)[1], 250, replace = FALSE)

j.ocupacion2 = sample(1:dim(ocupacion.2)[1], 250, replace = FALSE)

j.ocupacion3 = sample(1:dim(ocupacion.3)[1], 250, replace = FALSE)

j.ocupacion4 = sample(1:dim(ocupacion.4)[1], 250, replace = FALSE)

#Finalmente, lo unimos todo en una tabla con la función "rbind"

muestra.ocupa.pol = rbind(ocupacion.1[j.ocupacion1,],

ocupacion.2[j.ocupacion2,],

ocupacion.3[j.ocupacion3,],

ocupacion.4[j.ocupacion4,])

head(muestra.ocupa.pol,12)

También podría gustarte