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
Si queremos muestrear una n de 30
set.seed(123) #Numero semilla para obtener los mismos resultados
n=30
muestramia=sample(1:nrow(carros),size = n,replace = TRUE)#Replace sirve para
#indicar si las muestras se repetiran o no
muestramia
## [1] 31 15 14 3 42 50 43 37 14 25 26 27 5 27 28 9 29 35 8 26 7 42 9 19 36
## [26] 14 17 43 39 12
datatable(carros)
sort(muestramia,decreasing=FALSE)
## [1] 3 5 7 8 9 9 12 14 14 14 15 17 19 25 26 26 27 27 28 29 31 35 36 37 39
## [26] 42 42 43 43 50
Esta es una herramienta del tidyverse
Muestreo aleatorio simple sin remplazo con dplyr
carrosmuestramia2= carros %>%
sample_n(size=n,replace=FALSE)
head(carrosmuestramia2)
## speed dist
## 1 12 28
## 2 18 42
## 3 20 56
## 4 23 54
## 5 10 18
## 6 10 34
Muestreo aleatorio simple con remplazo con dplyr
carrosmuestramia2= carros %>%
sample_n(size=n,replace=TRUE)
head(carrosmuestramia2)
## speed dist
## 1 15 54
## 2 17 50
## 3 13 26
## 4 17 40
## 5 9 10
## 6 20 64
##Muestreo ponderado (con pesos o frecuencia alta)
carrosmuestramia3= carros%>%
sample_n(size=n,weight = dist)
head(carrosmuestramia3)
## speed dist
## 1 24 93
## 2 15 20
## 3 14 36
## 4 25 85
## 5 20 52
## 6 10 18
carros2=data.frame(cars)
n=50
car=sample(1:nrow(carros2),size = n,replace=FALSE)
head(car)
## [1] 46 17 50 35 40 30
car.dist=carros2 %>%
sample_frac(0.04)
head(car.dist);dim(car.dist)
## speed dist
## 1 22 66
## 2 14 60
## [1] 2 2
##Muestreo estratificado
usaremos los datos estratificados de velocidad y distancia de la base de datos “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
levels(as.factor(cars$dist))
## [1] "2" "4" "10" "14" "16" "17" "18" "20" "22" "24" "26" "28"
## [13] "32" "34" "36" "40" "42" "46" "48" "50" "52" "54" "56" "60"
## [25] "64" "66" "68" "70" "76" "80" "84" "85" "92" "93" "120"
carro=cars
cars$id=1:50
cars[1:5,1:2]
## speed dist
## 1 4 2
## 2 4 10
## 3 7 4
## 4 7 22
## 5 8 16