#install.packages("pacman") #con este paquete levantas todes les paquetes que querés juntes y los lee sin tener que poner library() y si no están te los busca y te los instala y después los lee. Lo +.

#devtools::install_github("DFJL/SamplingUtil", force = TRUE) #descargo SamplingUtil con devtools
pacman::p_load(devtools, tidyverse,RCurl,samplingbook, SamplingUtil, readxl)

Muestreo por MAS

Ejemplo de cálculo del tamaño de muestra para un MAS para estimar el promedio () sin correción por Población finita, error de muestreo (d) =10, Desvio muestral (s) =43, Nivel de confianza (1-⍺) = 0,95

sample.size.mean(e=10, S=43, level = 0.95)
## 
## sample.size.mean object: Sample size for mean estimate
## Without finite population correction: N=Inf, precision e=10 and standard deviation S=43
## 
## Sample size needed: 72

Cálculo del tamaño de muestra para un MAS para estimar una proporción (p) sin correción por Población finita con error de muestreo (d) =0.05, p=0.5, Nivel de confianza (1-⍺) =95%

sample.size.prop(e=0.05, P=0.5, level = 0.95)
## 
## sample.size.prop object: Sample size for proportion estimate
## Without finite population correction: N=Inf, precision e=0.05 and expected proportion P=0.5
## 
## Sample size needed: 385

Cálculo del tamaño de muestra (n) para un MAS para estimar una proporción (p) con correción por Población finita y error de muestreo (d) =0,05; p=0,5, Nivel de confianza (1-⍺) =95%

sample.size.prop(e=0.05, P=0.5, N=11700, level = 0.95)
## 
## sample.size.prop object: Sample size for proportion estimate
## With finite population correction: N=11700, precision e=0.05 and expected proportion P=0.5
## 
## Sample size needed: 372

Muestreo por MS

Levanto la base de datos a utilizar:

#urlfile_1 = 'https://github.com/oblitterator/tecnicas_muestreo/raw/main/Base_de_Datos_Viviendas_x_Fraccion_y_Radio_formato_BD.xls' #revisar porque no me deja leerlo directo de github, claramente es un tema de la funcion read_excel

path = '/home/oblitterator/Escritorio/MGAIE/Muestreo/Base_de_Datos_Viviendas_x_Fraccion_y_Radio_formato_BD.xls'

df =  read_excel(path, sheet = "Base viviendas")

# Vista de la cabecera de la base de datos
head(df)
## # A tibble: 6 × 9
##   `Nº Orden` `Nº Fracción` `Nº Radio` `Nº Manzana` `Nº Vivienda en Manzana`
##        <dbl>         <dbl>      <dbl>        <dbl>                    <dbl>
## 1          1             1          1            1                        1
## 2          2             1          1            1                        2
## 3          3             1          1            1                        3
## 4          4             1          1            1                        4
## 5          5             1          1            1                        5
## 6          6             1          1            1                        6
## # … with 4 more variables: Cantidad Personas <dbl>,
## #   Cantidad Habitaciones <dbl>, Superficie (m2) de la Vivienda <dbl>,
## #   Consumo Prom.Agua (lts.) <dbl>

Selección de la muestra con muestreo sistemático

Se debe indicar el N tamaño de la población y n tamaño de la muestra

muestreo_sistematico = sys.sample(N=nrow(df),n=300) # le paso como primer argumento del N poblacional el total de filas del Data Frame, y como segundo argumento el n con el tamaño de la muestra que quiero

Esto lo que me devuelve son los ID que tomaré para mi muestra, en base al MS. Veamos el listado

muestreo_sistematico
##   [1]    10    49    88   127   166   205   244   283   322   361   400   439
##  [13]   478   517   556   595   634   673   712   751   790   829   868   907
##  [25]   946   985  1024  1063  1102  1141  1180  1219  1258  1297  1336  1375
##  [37]  1414  1453  1492  1531  1570  1609  1648  1687  1726  1765  1804  1843
##  [49]  1882  1921  1960  1999  2038  2077  2116  2155  2194  2233  2272  2311
##  [61]  2350  2389  2428  2467  2506  2545  2584  2623  2662  2701  2740  2779
##  [73]  2818  2857  2896  2935  2974  3013  3052  3091  3130  3169  3208  3247
##  [85]  3286  3325  3364  3403  3442  3481  3520  3559  3598  3637  3676  3715
##  [97]  3754  3793  3832  3871  3910  3949  3988  4027  4066  4105  4144  4183
## [109]  4222  4261  4300  4339  4378  4417  4456  4495  4534  4573  4612  4651
## [121]  4690  4729  4768  4807  4846  4885  4924  4963  5002  5041  5080  5119
## [133]  5158  5197  5236  5275  5314  5353  5392  5431  5470  5509  5548  5587
## [145]  5626  5665  5704  5743  5782  5821  5860  5899  5938  5977  6016  6055
## [157]  6094  6133  6172  6211  6250  6289  6328  6367  6406  6445  6484  6523
## [169]  6562  6601  6640  6679  6718  6757  6796  6835  6874  6913  6952  6991
## [181]  7030  7069  7108  7147  7186  7225  7264  7303  7342  7381  7420  7459
## [193]  7498  7537  7576  7615  7654  7693  7732  7771  7810  7849  7888  7927
## [205]  7966  8005  8044  8083  8122  8161  8200  8239  8278  8317  8356  8395
## [217]  8434  8473  8512  8551  8590  8629  8668  8707  8746  8785  8824  8863
## [229]  8902  8941  8980  9019  9058  9097  9136  9175  9214  9253  9292  9331
## [241]  9370  9409  9448  9487  9526  9565  9604  9643  9682  9721  9760  9799
## [253]  9838  9877  9916  9955  9994 10033 10072 10111 10150 10189 10228 10267
## [265] 10306 10345 10384 10423 10462 10501 10540 10579 10618 10657 10696 10735
## [277] 10774 10813 10852 10891 10930 10969 11008 11047 11086 11125 11164 11203
## [289] 11242 11281 11320 11359 11398 11437 11476 11515 11554 11593 11632 11671

Ahora construyo un nuevo DF en base a los ID seleccionados (muestreo_sistemático) con las variables del DF original

df_ms<- df[muestreo_sistematico, ] #revisar el sentido de esta sintaxis, entiendo que lo q hace es un indexing en base a los ID preseleccionados, pero chequear.

Vista de la cabecera de la base de datos de la muestra

head(df_ms)
## # A tibble: 6 × 9
##   `Nº Orden` `Nº Fracción` `Nº Radio` `Nº Manzana` `Nº Vivienda en Manzana`
##        <dbl>         <dbl>      <dbl>        <dbl>                    <dbl>
## 1         10             1          1            1                       10
## 2         49             1          1            2                       24
## 3         88             1          2            4                        4
## 4        127             1          3            5                       20
## 5        166             1          4            7                        4
## 6        205             1          4            8                       22
## # … with 4 more variables: Cantidad Personas <dbl>,
## #   Cantidad Habitaciones <dbl>, Superficie (m2) de la Vivienda <dbl>,
## #   Consumo Prom.Agua (lts.) <dbl>

Verifico que el nuevo DF tenga el n requerido:

dim(df_ms)
## [1] 300   9

Para hacer la estimación de promedio y total e IC usar los mismos comandos que en el ejemplo de MAS en Kaggle, pero sobre este DF.

COMPLETAR