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

Inferencia estadistica

En este ejercicio se verá en practica los ejercicios realizados en clase con un dato nuevo de muestreo que es ‘cars’

Muestreo

Usando el set de datos incluidos en R llamados “crimtab”, 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 = FALSE)
#replace sirve para indicar si las muestras se repetiran o no
muestramia
##  [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(muestramia, 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

crimemuestramia2 <- carros %>%
  sample_n(size=n, replace = FALSE)
head(crimemuestramia2)
##   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

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

muestreo ponderado (con pesos)

muestramia3 <- carros %>%
    sample_n(size=n, speed = Freq)
head(muestramia3)
##   speed dist
## 1    12   14
## 2    17   50
## 3    24   70
## 4    17   40
## 5    18   84
## 6    12   24

Muestreo con ponderacion usando la fraccion

carros2 <- data.frame(cars)
n <- 50
carro <- sample(1:nrow(carros2), size=n, replace=FALSE)
head(carro)
## [1] 30 15 24 23 43  7
  • Para muestrear una fraccion de 0.04 de la poblacion
carrochido <- carros2 %>%
  sample_frac(0.04)
head(carrochido); dim(carrochido)
##   speed dist
## 1    14   26
## 2    11   28
## [1] 2 2

Muestreo estratificado

Para este muestro usaremos datos estratificados de 3 especies de lirios iris de la base de datos “iris” de Edgar Anderson.

Referencia: https://archive.ics.uci.edu/ml/datasets/iris

dim(iris)
## [1] 150   5
head(iris)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa
  • Establecer las variables categoricas de los subconjutos (especies) o estratos para hacer un muestreo aleatorio dentro.
levels(as.factor(iris$Species))
## [1] "setosa"     "versicolor" "virginica"
lirios <- iris
lirios$id <- 1:150
lirios [1:5, 4:6]
##   Petal.Width Species id
## 1         0.2  setosa  1
## 2         0.2  setosa  2
## 3         0.2  setosa  3
## 4         0.2  setosa  4
## 5         0.2  setosa  5