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

Inferencia estadistica

##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
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

Tabla de datos

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

Muestreo de datos con dplyr

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

Muestreo con ponderacion usando la fraccion

carros2=data.frame(cars)
n=50
car=sample(1:nrow(carros2),size = n,replace=FALSE)
head(car)
## [1] 46 17 50 35 40 30
  • Para muestrear una fraccion de .04 de la poblacion
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