library(readxl)
library(dplyr)
library(flextable)
base <- read_excel("bases/BD_Clase12.xlsx")
head(base) %>% flextable() %>% set_caption("Base BD_Clase12") %>%
bg(bg="#0E6655", part = "header") %>% bold(part = "header") %>%
color(color = "white", part = "header") %>% autofit()
Ind | Recinto | MP | Largo | Ancho_max | Ancho_plataforma | Peso | N°_de_negativos | Corteza en el anverso |
1 | Recinto 1 | Basalto | 17.7 | 14.4 | 7.8 | 1.1 | 2 | Presente |
2 | Recinto 1 | Basalto | 18.6 | 15.2 | 8.2 | 1.2 | 2 | Ausente |
3 | Recinto 1 | Basalto | 18.6 | 17.0 | 6.4 | 1.6 | 3 | Ausente |
4 | Recinto 1 | Basalto | 18.8 | 15.3 | 7.2 | 1.4 | 1 | Presente |
5 | Recinto 1 | Basalto | 20.8 | 18.9 | 9.2 | 2.1 | 2 | Ausente |
6 | Recinto 1 | Basalto | 21.0 | 16.0 | 10.6 | 2.1 | 4 | Ausente |
#install.packages("sampling") #Paquete usado para extraer muestras especificando el diseño
library(sampling)
set.seed(5) #Fijamos una semilla o iniciador para obtener el mismo resultado
sample(10,5, replace = FALSE) #Esto genera 5 números aleatorios entre un rango de 1 a 10. El argumento replace = FALSE es para evitar que se repitan números
[1] 2 9 7 3 1
N <- nrow(base) #Tamaño de la población
n <- 60 #Tamaño de la muestra
set.seed(6) #Solo para efecto de repetir el mismo resultado
a <- sample(N,n,replace = F)
a #Aquí vemos el listado de los 60 números aleatorios, pero desordenados
[1] 53 10 78 100 60 67 121 130 122 98 30 27 3 21 8 49 86 63 33
[20] 137 7 66 89 50 20 64 112 19 77 71 16 12 136 93 42 2 85 51
[39] 45 106 97 35 13 129 84 62 29 32 18 111 34 113 107 102 40 110 22
[58] 119 31 52
m <- sort(a) #Aquí los ordenamos
m #Listado ordenado
[1] 2 3 7 8 10 12 13 16 18 19 20 21 22 27 29 30 31 32 33
[20] 34 35 40 42 45 49 50 51 52 53 60 62 63 64 66 67 71 77 78
[39] 84 85 86 89 93 97 98 100 102 106 107 110 111 112 113 119 121 122 129
[58] 130 136 137
muestra <- base[m,] #Aquí generamos la muestra en función del listado ordenado
head(muestra, 10) %>% flextable() %>% set_caption("Muestra Aleatoria") %>%
bg(bg="#0E6655", part = "header") %>% bold(part = "header") %>%
color(color = "white", part = "header") %>% autofit()
Ind | Recinto | MP | Largo | Ancho_max | Ancho_plataforma | Peso | N°_de_negativos | Corteza en el anverso |
2 | Recinto 1 | Basalto | 18.6 | 15.2 | 8.2 | 1.2 | 2 | Ausente |
3 | Recinto 1 | Basalto | 18.6 | 17.0 | 6.4 | 1.6 | 3 | Ausente |
7 | Recinto 1 | Basalto | 21.9 | 18.7 | 7.6 | 2.0 | 5 | Ausente |
8 | Recinto 1 | Basalto | 21.9 | 19.4 | 8.0 | 2.0 | 2 | Ausente |
10 | Recinto 1 | Basalto | 22.1 | 17.0 | 10.4 | 2.4 | 2 | Presente |
12 | Recinto 2 | Basalto | 23.2 | 21.0 | 8.8 | 2.6 | 4 | Ausente |
13 | Recinto 2 | Basalto | 23.2 | 20.7 | 12.0 | 2.2 | 4 | Ausente |
16 | Recinto 2 | Basalto | 24.3 | 22.8 | 11.8 | 2.2 | 2 | Presente |
18 | Recinto 2 | Basalto | 25.4 | 22.8 | 9.0 | 2.2 | 3 | Ausente |
19 | Recinto 2 | Basalto | 25.4 | 23.1 | 9.2 | 1.9 | 3 | Ausente |
r <- round(N/n, 0) #Genera el intervalo que vamos a usar para construir la secuencia sistemática
r
[1] 2
m <- seq(r,N,r) #Genera la secuencia sistemática, desde, hasta, por.
m
[1] 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38
[20] 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76
[39] 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114
[58] 116 118 120 122 124 126 128 130 132 134 136 138
muestra2 <- base[m,]
head(muestra2, 10) %>% flextable() %>% set_caption("Muestra sistemática") %>%
bg(bg="#0E6655", part = "header") %>% bold(part = "header") %>%
color(color = "white", part = "header") %>% autofit()
Ind | Recinto | MP | Largo | Ancho_max | Ancho_plataforma | Peso | N°_de_negativos | Corteza en el anverso |
2 | Recinto 1 | Basalto | 18.6 | 15.2 | 8.2 | 1.2 | 2 | Ausente |
4 | Recinto 1 | Basalto | 18.8 | 15.3 | 7.2 | 1.4 | 1 | Presente |
6 | Recinto 1 | Basalto | 21.0 | 16.0 | 10.6 | 2.1 | 4 | Ausente |
8 | Recinto 1 | Basalto | 21.9 | 19.4 | 8.0 | 2.0 | 2 | Ausente |
10 | Recinto 1 | Basalto | 22.1 | 17.0 | 10.4 | 2.4 | 2 | Presente |
12 | Recinto 2 | Basalto | 23.2 | 21.0 | 8.8 | 2.6 | 4 | Ausente |
14 | Recinto 2 | Basalto | 24.1 | 20.7 | 8.4 | 2.5 | 2 | Presente |
16 | Recinto 2 | Basalto | 24.3 | 22.8 | 11.8 | 2.2 | 2 | Presente |
18 | Recinto 2 | Basalto | 25.4 | 22.8 | 9.0 | 2.2 | 3 | Ausente |
20 | Recinto 2 | Basalto | 25.4 | 22.6 | 10.6 | 2.4 | 2 | Presente |
data.frame(table(base$MP)) %>% flextable()
Var1 | Freq |
Basalto | 57 |
Calcedonia | 59 |
Obsidiana | 22 |
set.seed(6) #Solo para efecto de repetir el mismo resultado
est <- strata(data= base, stratanames = "MP", size = c(20,20,20), method = "srswor")
data.frame(table(est$MP)) %>% flextable() #Verificamos el nuevo tamaño de los estratos
Var1 | Freq |
Basalto | 20 |
Calcedonia | 20 |
Obsidiana | 20 |
muestra3 <- getdata(base, est) #Generamos la muestra en la base original con el objeto que creamos con strata.
data.frame(table(muestra3$MP)) %>% flextable() #Verificamos el tamaño de los nuevos estratos en la muestra
Var1 | Freq |
Basalto | 20 |
Calcedonia | 20 |
Obsidiana | 20 |
data.frame(table(base$MP)) %>% flextable()
Var1 | Freq |
Basalto | 57 |
Calcedonia | 59 |
Obsidiana | 22 |
bas <- sum(with(base, MP == "Basalto"))/N
cal <- sum(with(base, MP == "Calcedonia"))/N
obs <- sum(with(base, MP == "Obsidiana"))/N
set.seed(6) #Solo para efecto de repetir el mismo resultado
est2 <- strata(data= base, stratanames = "MP", size = c(round(n*bas), round(n*cal), round(n*obs)), method = "srswor") #En size se produce el tamaño muestral de cada estrato ajustado a la proporción de los tamaños originales. La fórmula usada es esta:
\[ \Large n_h=(\frac{n}{N})*N_L\]
Donde:
data.frame(table(est2$MP))%>% flextable()
Var1 | Freq |
Basalto | 25 |
Calcedonia | 26 |
Obsidiana | 10 |
muestra4 <- getdata(base, est2)
data.frame(table(base$Recinto))%>% flextable()
Var1 | Freq |
Recinto 1 | 11 |
Recinto 2 | 13 |
Recinto 3 | 16 |
Recinto 4 | 15 |
Recinto 5 | 23 |
Recinto 6 | 23 |
Recinto 7 | 21 |
Recinto 8 | 16 |
set.seed(6) #Solo para efecto de repetir el mismo resultado
clus <- cluster(base, clustername = c("Recinto"), size = 4, method = "srswor", description = TRUE)
Number of selected clusters: 4
Number of units in the population and number of selected units: 138 67
data.frame(table(clus$Recinto)) %>% flextable() #Verificamos los nuevos tamaños de los recintos seleccionados
Var1 | Freq |
Recinto 2 | 13 |
Recinto 4 | 15 |
Recinto 5 | 23 |
Recinto 8 | 16 |
conglo <- getdata(base, clus)
estra <- strata(data=conglo, stratanames = "Recinto", size = c(5,5,5,5), method = "srswor")
data.frame(table(estra$Recinto)) %>% flextable() #Aqui generamos el muestreo estratificado
Var1 | Freq |
Recinto 2 | 5 |
Recinto 4 | 5 |
Recinto 5 | 5 |
Recinto 8 | 5 |
muestra_final <- getdata(conglo, estra)
head(muestra_final, 20)%>% flextable() %>%
set_caption("Muestra por conglomerados, estratificado y aleatorio") %>%
bg(bg="#0E6655", part = "header") %>% bold(part = "header") %>%
color(color = "white", part = "header") %>% autofit()
Ind | MP | Largo | Ancho_max | Ancho_plataforma | Peso | N°_de_negativos | Corteza en el anverso | Recinto | ID_unit | Prob | Stratum |
18 | Basalto | 25.4 | 22.8 | 9.0 | 2.2 | 3 | Ausente | Recinto 2 | 2 | 0.3846154 | 1 |
21 | Basalto | 25.4 | 23.4 | 13.6 | 2.6 | 2 | Presente | Recinto 2 | 3 | 0.3846154 | 1 |
23 | Basalto | 25.4 | 24.1 | 12.4 | 3.2 | 0 | Presente | Recinto 2 | 9 | 0.3846154 | 1 |
24 | Basalto | 26.5 | 24.7 | 11.0 | 2.4 | 2 | Ausente | Recinto 2 | 10 | 0.3846154 | 1 |
14 | Basalto | 24.1 | 20.7 | 8.4 | 2.5 | 2 | Presente | Recinto 2 | 12 | 0.3846154 | 1 |
44 | Basalto | 31.8 | 28.8 | 14.4 | 4.0 | 5 | Ausente | Recinto 4 | 15 | 0.3333333 | 2 |
47 | Basalto | 34.2 | 30.0 | 14.0 | 5.2 | 2 | Presente | Recinto 4 | 16 | 0.3333333 | 2 |
45 | Basalto | 32.0 | 28.6 | 11.6 | 4.1 | 5 | Ausente | Recinto 4 | 18 | 0.3333333 | 2 |
50 | Basalto | 35.3 | 31.5 | 13.0 | 5.1 | 4 | Ausente | Recinto 4 | 23 | 0.3333333 | 2 |
55 | Basalto | 38.6 | 33.2 | 13.8 | 5.6 | 0 | Presente | Recinto 4 | 24 | 0.3333333 | 2 |
57 | Basalto | 41.9 | 33.7 | 15.8 | 5.7 | 3 | Ausente | Recinto 5 | 29 | 0.2173913 | 3 |
62 | Calcedonia | 17.4 | 13.3 | 6.8 | 0.7 | 2 | Presente | Recinto 5 | 35 | 0.2173913 | 3 |
63 | Calcedonia | 17.7 | 14.9 | 8.2 | 0.5 | 4 | Ausente | Recinto 5 | 36 | 0.2173913 | 3 |
56 | Basalto | 39.7 | 33.3 | 13.4 | 4.9 | 1 | Presente | Recinto 5 | 38 | 0.2173913 | 3 |
76 | Calcedonia | 23.2 | 21.2 | 9.8 | 1.2 | 6 | Ausente | Recinto 5 | 45 | 0.2173913 | 3 |
124 | Obsidiana | 18.6 | 14.2 | 6.8 | 0.4 | 5 | Ausente | Recinto 8 | 53 | 0.3125000 | 4 |
125 | Obsidiana | 19.7 | 12.1 | 7.2 | 0.5 | 3 | Ausente | Recinto 8 | 54 | 0.3125000 | 4 |
126 | Obsidiana | 19.7 | 15.8 | 9.8 | 0.8 | 3 | Ausente | Recinto 8 | 55 | 0.3125000 | 4 |
131 | Obsidiana | 26.3 | 22.9 | 14.0 | 0.9 | 1 | Presente | Recinto 8 | 60 | 0.3125000 | 4 |
138 | Obsidiana | 35.3 | 21.3 | 13.4 | 2.6 | 6 | Ausente | Recinto 8 | 67 | 0.3125000 | 4 |