U2A8 muestreo

Muestreo aleatorio simple (M.A.S.)

-> para esto vamos a usar datos de crimenes de reino unido

student’s 3000 criminal data

  • conocer las dimensiones de los datos a usar
crime <- data.frame(crimtab)
dim(crime)
## [1] 924   3
  • Se seleccionaran 30 elementos al azar
set.seed(1)
n <- 100
muestramia <- sample(1:nrow(crime), size=n, replace = FALSE)
muestramia
##   [1] 836 679 129 509 471 299 270 187 307 597 277 874 494 330 775 841 591 725
##  [19]  37 105 729 878 485 677 802 913 382 601 801 852 326 911 554 422 111 404
##  [37] 532 506 556 343 582 121  40 684 537 375 248 198 378  39 435 810 390 280
##  [55] 672 526 642  45 402  22 718 742 193 371 499 104 894 767 492 838 616 615
##  [73] 843 465 525 808 904 176 345 791 110  84  29 141 252 733 620 304 545 557
##  [91] 661 287 614 145 329 487 630 498 816 619
  • Asignar los elementos de la muestra al marco de datos
crimemuestramia <- crime[muestramia,]
head(crimemuestramia)
##     Var1   Var2 Freq
## 836 13.1  190.5    0
## 679   10 182.88    0
## 129  9.6 149.86    0
## 509  9.8 172.72    0
## 471 10.2 170.18    0
## 299  9.8 160.02    0
  • Ahora usaremos tidyverse dplyr
#muestra sin remplazo
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.0.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
set.seed(1)
crimemuestramia2 <- crime %>% 
  sample_n(size=n, replace = FALSE)
head(crimemuestramia2)
##   Var1   Var2 Freq
## 1 13.1  190.5    0
## 2   10 182.88    0
## 3  9.6 149.86    0
## 4  9.8 172.72    0
## 5 10.2 170.18    0
## 6  9.8 160.02    0

Muestreo ponderado

  • Usando frecuencia
crimemuestramia3 <- crime %>% #pipe
  sample_n(size = n, weight=Freq)
head(crimemuestramia3)
##   Var1   Var2 Freq
## 1 11.3 167.64   26
## 2 12.2 170.18   17
## 3 10.1 154.94    1
## 4 11.3 160.02   24
## 5 11.1  165.1   26
## 6 11.3  165.1   39
  • Usando la fracciòn
crimenes <- data.frame(crimtab)
n <- 50
crime <- sample(1:nrow(crimenes), size = n, replace = FALSE)
crime
##  [1]  40 777 818 604 634 664 138 719 500 761 672 229 423 421 140 126 526 508 628
## [20]  16 271 130 577 512 451 504 457 358 785 724 127 645  41 876 885 840 548 305
## [39] 809 413 576 129 309 895 874 441 856 117 882 470
  • Para extraer un subconjunto de la muestra
crimes <- crimenes[crime,]
head(crimes)
##     Var1   Var2 Freq
## 40  13.3 142.24    0
## 777 11.4 187.96    0
## 818 11.3  190.5    0
## 604 10.9  177.8    0
## 634  9.7 180.34    0
## 664 12.7 180.34    2
  • Usando la fracciòn se va a muestrear una fracciòn de 0.04 de la poblaciòn (4%) que representa 6 flores que se muestrearon 100% al azar
library(dplyr)
crime.pesos <- crimenes %>%
  sample_frac(0.04)
head(crime.pesos); dim(crime.pesos)
##   Var1   Var2 Freq
## 1 11.9  177.8    9
## 2 10.9 175.26    0
## 3 13.5 160.02    0
## 4 13.5 187.96    0
## 5 10.3 187.96    0
## 6 10.6 162.56    6
## [1] 37  3

Muestreo con datos demograficos

library(readxl)
demografia_entidad_1_ <- read_excel("~/ESTADISTICA1011/demografia_entidad (1).xls")
## New names:
## * `` -> ...2
## * `` -> ...3
## * `` -> ...4
View(demografia_entidad_1_)
head(demografia_entidad_1_)
## # A tibble: 6 x 4
##   `INSTITUTO DE INFORMACION ESTADISTICA Y GEOGRAFICA` ...2  ...3  ...4 
##   <chr>                                               <chr> <lgl> <chr>
## 1 Demografía y Estadísticas.                          <NA>  NA    <NA> 
## 2 <NA>                                                <NA>  NA    <NA> 
## 3 <NA>                                                <NA>  NA    <NA> 
## 4 <NA>                                                <NA>  NA    <NA> 
## 5 <NA>                                                TEMAS NA    <NA> 
## 6 <NA>                                                <NA>  NA    <NA>
  • Muestreo simple
poblacion <- data.frame(demografia_entidad_1_)
#saber la dimension del data.frame
dim(poblacion)
## [1] 17  4