Está en la página 1de 3

# Curso completo de Estadística Inferencial con R y Python

# 2023-04-30

# _____________________________________
# Tema 1 Muestreo estadístico

# _____________________________________
# 1.1 Tipos de muestreo

# _____________________________________
# 1.1.1 Muestreo aleatorio CON reposición
# Para simular un muestreo de 15 bolas con reposición en una urna de 100
# en R, haríamos los siguiente:
sample(1:100, 15, replace = TRUE)

# Consideremos la tabla de datos iris que contiene 150 flores de 3 especies


# diferentes: setosa, versicolor y virginica. La tabla de datos contiene 5
# variables: la longitud y amplitud del pétalo, la longitud y la amplitud del
# sépalo y la especie de la flor.
head(iris)
set.seed(4) # set.seed fija la semilla, para que siempre dé la misma muestra.
flores.elegidas.10.con = sample(1:150, 10, replace = TRUE)
muestra.iris.10.con = iris[flores.elegidas.10.con, ]
muestra.iris.10.con

# _____________________________________
# 1.1.2 Muestreo aleatorio SIN reposición
# Para un muestreo de 15 bolas sin reposición en la urna anterior de 100 en R:
sample(1:100, 15, replace = FALSE)

set.seed(4)
flores.elegidas.10.sin = sample(1:150, 10, replace = FALSE)
muestra.iris.10.sin = iris[flores.elegidas.10.sin,]
muestra.iris.10.sin

# _____________________________________
# 1.1.3. Muestras aleatorias con reposición vs. sin reposición

# _____________________________________
# 1.1.4 Muestreo sistemático
set.seed(15) # Primero fijamos para la reproducibilidad del experimento
(primera.flor = sample(1:150, 1)) # hallamos la etiqueta de 1ra flor de la muestra
incremento = floor(150/10) # hallamos el incremento que iremos sumando a la 1ra
etiqueta elegida
flores.elegidas.10.sis = seq(from = primera.flor, by = incremento, length.out = 10) # elegir
las flores de la muestra

# como las etiquetas elegidas no están entre 1 y 150, hemos de transformarlas:


flores.elegidas.10.sis = flores.elegidas.10.sis %% 150
muestra.iris.10.sis = iris[flores.elegidas.10.sis,] # calculamos la subtabla de las flores de la
muestra
muestra.iris.10.sis # finalmente mostramos la subtabla de la muestra

# _____________________________________
# 1.1.5 Muestreo aleatorio estratificado
# consideramos que la tabla de datos iris está estratificada en tres estratos.
set.seed(25) # fijamos la semilla de aleatoriedad por reproducibilidad
# hallamos la muestra de las flores de cada una de las especies:
fls.muestra.setosa = sample(1:50, 4,replace = TRUE)
fls.muestra.versicolor = sample(51:100, 4,replace = TRUE)
fls.muestra.virginica = sample(101:150, 4,replace = TRUE)
# seguidamente, la muestra estratificada juntando las 3 muestras de cada especie
(muestra.iris.est = rbind(iris[fls.muestra.setosa, ],
iris[fls.muestra.versicolor, ], iris[fls.muestra.virginica,]))

# _____________________________________
# 1.1.6 Muestreo por conglomerados
# Consideremos la tabla worldcup del paquete faraway. Esta tabla de datos nos
# da información sobre 595 jugadores que participaron en el Mundial de Futbol
# del año 2010 celebrado en Sudáfrica.

# install.packages("faraway")
library(faraway)
head(worldcup)

# calcular una muestra de tamaño indeterminado de los jugadores por conglomerados


# eligiendo como conglomerados los países (32) a los que éstos pertenecen.
set.seed(19)
números.países.elegidos = sample(1:32,4,replace = FALSE)
países.elegidos = unique(worldcup$Team)[números.países.elegidos]
países.elegidos # Los países elegidos son
# La muestra elegida esta formada por los jugadores de dichos países:
muestra.worldcup.con = worldcup[worldcup$Team%in%países.elegidos,]
head(muestra.worldcup.con, 10)

# _____________________________________
# 1.1.7 Muestreo polietápico
# Para realizar un muestreo polietápico con la tabla de datos worldcup,
# podemos elegir una submuestra de 5 jugadores para cada uno de los 4 países
# elegidos, obteniendo al final una muestra de tamaño 20 de todos los jugadores
# de la tabla de datos.

# Primero definimos las 4 subtablas de datos para jugadores de cada país elegido:
worldcup.pais1 = worldcup[worldcup$Team == países.elegidos[1], ]
worldcup.pais2 = worldcup[worldcup$Team == países.elegidos[2], ]
worldcup.pais3 = worldcup[worldcup$Team == países.elegidos[3], ]
worldcup.pais4 = worldcup[worldcup$Team == países.elegidos[4], ]
# A continuación elegimos los 5 jugadores de cada país:
set.seed(28)
jugadores.pais1 = sample(1:dim(worldcup.pais1)[1], 5, replace = FALSE)
jugadores.pais2 = sample(1:dim(worldcup.pais2)[1], 5, replace = FALSE)
jugadores.pais3 = sample(1:dim(worldcup.pais3)[1], 5, replace = FALSE)
jugadores.pais4 = sample(1:dim(worldcup.pais4)[1], 5, replace = FALSE)
# Por último juntamos las submuestras obtenidas de los jugadores de cada país:
muestra.worldcup.pol = rbind(worldcup.pais1[jugadores.pais1,],
worldcup.pais2[jugadores.pais2,],
worldcup.pais3[jugadores.pais3,],
worldcup.pais4[jugadores.pais4,])
head(muestra.worldcup.pol,12)

También podría gustarte