Muestreo Estratificado en R – Problemas de tamaño de muestra
Estoy intentando hacer muestreo estratificado en R utilizando la función stratified del paquete splitstackshape. Tengo cuatro estratos (etiquetados del 1 al 4). Cuando establezco el tamaño = 1, devuelve una fila perteneciente a cada estrato (¡genial!). Sin embargo, no puedo aumentar mi tamaño de muestra en uno.
Quiero que seleccione 5 filas: 4 de ellas pertenecientes a estratos del 1 al 4, y la quinta perteneciente al estrato #1 (el estrato que cubre la mayor cantidad de área en mi sitio de estudio); e idealmente se hará esto sin reemplazo para que la segunda fila muestreada del estrato #1 no sea igual a la primera.
Establecer el tamaño = 1 – 1,99 siempre devuelve 1 fila de cada estrato (4 en total). Estableciendo el tamaño = 2 devuelve 8 filas (2 de cada estrato).
Columna | Descripción |
---|---|
cluster | Grupo |
waterbody | Cuerpo de agua |
transect_number | Número de transecto |
BLG | BLG |
GSF | GSF |
LMB | LMB |
YLB | YLB |
BLC | BLC |
WHC | WHC |
RSF | RSF |
CCF | CCF |
BLB | BLB |
¿Alguien tiene experiencia usando esta función para seleccionar un número de filas que no sea igual o no sea un múltiplo del número de estratos en los datos?
Soy capaz de hacer que seleccione 1, 2, 3 filas (en orden de área cuadrada) estableciendo el tamaño = 0,06, 0,07, 0,09 respectivamente (por lo que pensé que un número entre 1-1,99 me daría 5 filas seleccionadas).
¡Gracias de antemano!
davy.ai
Parece que el problema está en el parámetro de tamaño de la función estratificada. El parámetro de tamaño especifica la proporción del número total de filas que se deben seleccionar de cada estrato. Por lo tanto, establecer size = 1 devolverá una fila de cada estrato, y size = 2 devolverá dos filas de cada estrato, y así sucesivamente.
Para seleccionar un número específico de filas de cada estrato, puedes calcular los tamaños proporcionales para cada estrato y pasarlos al parámetro de tamaño. Por ejemplo, si deseas seleccionar 4 filas de cada uno de los cuatro estratos y 1 fila del estrato que cubre la mayor cantidad de área, puedes calcular los tamaños proporcionales de la siguiente manera:
“`{r}
calcular el número total de filas a muestrear
total_size <- 5
calcular los tamaños proporcionales para cada estrato
strata_sizes <- c(rep((total_size-1)/4, 4), 1/(max(table(homer_join_strat$cluster))))
pasar strata_sizes al parámetro size en la función estratificada
stratified(homer_join_strat, “cluster”, size = strata_sizes, replace = FALSE)
“`
Esto debería devolver 4 filas muestreadas de cada uno de los cuatro estratos y 1 fila del estrato que cubre la mayor cantidad de área, sin reemplazo.
Nota: El parámetro replace se establece en FALSE para garantizar que el muestreo se realice sin reemplazo. Si estableces replace = TRUE, permitirá la posibilidad de que la misma fila sea seleccionada varias veces.