library(pacman)
p_load("base64enc", "htmltools", "mime", "xfun", "prettydoc","readr", "knitr","DT","dplyr", "ggplot2")

Muestreo

Usando el set de datos incluidos en R llamados “cars”, haremos el ejercicio de muestreo

carros <- data.frame(cars)
dim(carros)
## [1] 50  2

Muestreo simple aleatorio

si queremos muestrear una n de 30

set.seed(123) #numero semilla para obtener los mismos resultados 
n <- 30
muestracarros <- sample(1:nrow(carros), size = n, replace = FALSE)
#replace sirve para indicar si las muestras se repetiran o no
muestracarros
##  [1] 31 15 14  3 42 43 37 48 25 26 27  5 40 28  9 29  8 41  7 10 36 19  4 45 17
## [26] 11 32 21 12 49

Ordenar los datos

sort(muestracarros, decreasing = FALSE)
##  [1]  3  4  5  7  8  9 10 11 12 14 15 17 19 21 25 26 27 28 29 31 32 36 37 40 41
## [26] 42 43 45 48 49

Tabla de datos

datatable(carros)

Muestreo de datos con dplyr

Esta es una herramienta del tidyverse

Muestreo aleatorio simple sin reemplazo con dplyr

muestracarros2 <- carros %>%
  sample_n(size=n, replace = FALSE)
head(muestracarros2)
##   speed dist
## 1    18   42
## 2    20   56
## 3    23   54
## 4    10   18
## 5    10   34
## 6    20   52

Muestreo aleatorio simple con reemplazo usando dplyr

muestracarros2 <- carros %>%
  sample_n(size=n, replace = TRUE)
head(muestracarros2)
##   speed dist
## 1    15   54
## 2    17   50
## 3    13   26
## 4    17   40
## 5     9   10
## 6    20   64

Muestreo con ponderacion usando la fraccion

carrosss <- data.frame(carros)
n <- 50
carros <- sample(1:nrow(carrosss), size=n, replace=FALSE)
head(carros)
## [1] 12 31 46 30 35 14
  • Para muestrear una fraccion de 0.04 de la poblacion
carros.pesos <- carrosss %>%
  sample_frac(0.04)
head(carros.pesos); dim(carros.pesos)
##   speed dist
## 1    13   46
## 2    15   26
## [1] 2 2

Muestreo estratificado

Para este muestro usaremos el set de datos incluidos en R llamados “cars”

dim(cars)
## [1] 50  2
head(cars)
##   speed dist
## 1     4    2
## 2     4   10
## 3     7    4
## 4     7   22
## 5     8   16
## 6     9   10
  • Establecer las variables categoricas de los subconjutos (especies) o estratos para hacer un muestreo aleatorio dentro.
levels(as.factor(cars$speed))
##  [1] "4"  "7"  "8"  "9"  "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "20"
## [16] "22" "23" "24" "25"
Automoviles <- cars
Automoviles$id <- 1:50
Automoviles [1:3, 1:2]
##   speed dist
## 1     4    2
## 2     4   10
## 3     7    4