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, unionset.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