En la referencia estadística se conoce como muestreo a la técnica para la selección de una muestra a partir de una población estadística.
Al elegir una muestra aleatoria se espera conseguir que sus propiedades sean extrapolables a la población. Este proceso permite ahorrar recursos, y a la vez obtener resultados parecidos a los que se alcanzarían si se realizase un estudio de toda la población. En las investigaciones llevadas por empresarios y de la medicina se usa muestreo extensivamente en recoger información sobre poblaciones.
Cabe mencionar que para que el muestreo sea válido y se pueda realizar un estudio adecuado (que consienta no solo hacer estimaciones de la población sino estimar también los márgenes de error correspondientes a dichas estimaciones), debe cumplir ciertos requisitos. Nunca podremos estar enteramente seguros de que el resultado sea una muestra representativa, pero sí podemos actuar de manera que esta condición se alcance con una probabilidad alta.
En el muestreo, si el tamaño de la muestra es más pequeño que el tamaño de la población, se puede extraer dos o más muestras de la misma población. Al conjunto de muestras que se pueden obtener de la población se denomina espacio muestral. La variable que asocia a cada muestra su probabilidad de extracción, sigue la llamada distribución muestral.
Para lo cual usaremos datos de crímenes
crime <- data.frame(crimtab)
Para conocer las dimensiones
dim(crime)
## [1] 924 3
Seleccióm de la muestra * Muestreo Aleatorio Simple (M.A.S.) Tomar una muestra de 30 de la población.
n <- 30
muestramia <- sample(1:nrow(crime), size=n, replace = FALSE)
muestramia
## [1] 594 848 599 70 346 698 418 673 693 467 182 771 818 232 654 904 637 342 612
## [20] 37 581 118 1 754 477 211 831 18 543 719
Asignar los elementos de la muestra al marco de datos
crimemuestramia <- crime[muestramia, ]
head(crimemuestramia)
## Var1 Var2 Freq
## 594 9.9 177.8 0
## 848 10.1 193.04 0
## 599 10.4 177.8 0
## 70 12.1 144.78 0
## 346 10.3 162.56 0
## 698 11.9 182.88 1
Ahora usamos tidyverse
library(tidyverse)
## -- Attaching packages --------------------------------------------------------------------------- tidyverse 1.3.0 --
## v ggplot2 3.3.1 v purrr 0.3.4
## v tibble 3.0.1 v dplyr 1.0.0
## v tidyr 1.1.0 v stringr 1.4.0
## v readr 1.3.1 v forcats 0.5.0
## -- Conflicts ------------------------------------------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
#Muestra sin remplazo
crimemuestramia2 <- crime %>%
sample_n(size = n, replace = FALSE)
head(crimemuestramia2)
## Var1 Var2 Freq
## 1 12.3 154.94 0
## 2 10.6 172.72 0
## 3 12.5 165.1 1
## 4 11.3 190.5 0
## 5 13.3 144.78 0
## 6 11.1 170.18 7
crimemuestramia3 <- crime %>%
sample_n(size = n, weight = Freq)
head(crimemuestramia3)
## Var1 Var2 Freq
## 1 11.6 154.94 1
## 2 10.6 154.94 5
## 3 11.9 165.1 27
## 4 11.8 160.02 11
## 5 10.9 157.48 14
## 6 12 165.1 19
crimenes <- data.frame(crimtab)
n <- 50
crime <- sample(1:nrow(crimenes), size=n, replace=FALSE )
crime
## [1] 270 268 573 384 571 893 141 901 765 301 52 906 124 304 875 178 684 19 689
## [20] 555 377 565 472 78 107 803 648 271 45 747 355 211 184 42 205 220 102 721
## [39] 247 238 325 471 216 28 18 487 125 326 264 535
crimes <- crimenes[crime,]
head(crimes)
## Var1 Var2 Freq
## 270 11.1 157.48 22
## 268 10.9 157.48 14
## 573 12 175.26 16
## 384 9.9 165.1 0
## 571 11.8 175.26 10
## 893 10.4 195.58 0
library(dplyr)
crime.pesos <- crimenes %>%
sample_frac(0.04)
head(crime.pesos); dim(crime.pesos)
## Var1 Var2 Freq
## 1 12.4 160.02 1
## 2 12.1 190.5 0
## 3 9.4 180.34 0
## 4 9.8 195.58 0
## 5 9.9 157.48 1
## 6 12.6 162.56 0
## [1] 37 3
Para conocer las dimensiones de estos datos se usa “dim”
dim(iris)
## [1] 150 5
*Para conocer los primeros elementos de la base de datos:
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
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
set.seed(20170704)
sample(lirios$id, size = 6, replace = FALSE)
## [1] 142 125 81 101 82 41
set.seed(20170704)
sample(lirios$id, size = 30, replace = TRUE)
## [1] 142 125 81 101 82 41 80 110 131 116 62 56 92 28 125 59 102 23 76
## [20] 23 49 75 149 98 56 72 135 69 57 101
set.seed(20170701)
x <- 1:7 ; x
## [1] 1 2 3 4 5 6 7
sample(x, size = 6,
replace = FALSE)
## [1] 7 1 6 3 4 5
set.seed(1)
sample_iris <- iris %>%
group_by(Species) %>%
sample_n(10)
sample_iris
## # A tibble: 30 x 5
## # Groups: Species [3]
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <fct>
## 1 4.6 3.1 1.5 0.2 setosa
## 2 4.4 3 1.3 0.2 setosa
## 3 5.1 3.5 1.4 0.2 setosa
## 4 5.5 4.2 1.4 0.2 setosa
## 5 4.6 3.6 1 0.2 setosa
## 6 4.4 3.2 1.3 0.2 setosa
## 7 4.3 3 1.1 0.1 setosa
## 8 5.1 3.5 1.4 0.3 setosa
## 9 5.2 4.1 1.5 0.1 setosa
## 10 5.4 3.4 1.7 0.2 setosa
## # ... with 20 more rows
setwd("~/PROBABILIDAD Y ESTADISTICA 2020")
library(readxl)
datos <- read_excel("busquedas.xlsx")
boxplot(datos$cubrebocas ~ datos$covid, col="pink" )
cor(datos)
## cubrebocas covid
## cubrebocas 1.0000000 0.8818728
## covid 0.8818728 1.0000000
pairs(datos)
* Prueba de normalidad de shapiro-wilk
shapiro.test(datos$covid)
##
## Shapiro-Wilk normality test
##
## data: datos$covid
## W = 0.65431, p-value = 8.358e-10
shapiro.test(datos$cubrebocas)
##
## Shapiro-Wilk normality test
##
## data: datos$cubrebocas
## W = 0.70283, p-value = 5.867e-09
hist(datos$covid)
*Se rechaza la hipótesis nula dado que los datos no son normales
setwd("~/PROBABILIDAD Y ESTADISTICA 2020")
library(readxl)
datos <- read_excel("busqueda.xlsx")
boxplot(datos$Halloween ~ datos$Disfraz, col="blue")
cor(datos)
## Halloween Disfraz
## Halloween 1.0000000 0.9924903
## Disfraz 0.9924903 1.0000000
pairs(datos)
* Prueba de normalidad de shapiro-wilk
shapiro.test(datos$Disfraz)
##
## Shapiro-Wilk normality test
##
## data: datos$Disfraz
## W = 0.41166, p-value = 3.932e-13
shapiro.test(datos$Halloween)
##
## Shapiro-Wilk normality test
##
## data: datos$Halloween
## W = 0.37257, p-value = 1.428e-13
hist(datos$Halloween, col="green")
hist(datos$Disfraz, col="light blue")