Dans les versions précédentes du package spsurvey, il était possible de dessiner des points aléatoires dans les polygones d'un fichier de forme en utilisant une méthode quelque peu compliquée. design
spécification. (Voir aquí pour un exemple).
La nouvelle version mise à jour de spsurvey
(5.0.1) semble très convivial, sauf que je n'arrive pas à comprendre comment effectuer un dessin GRTS de plus d'un point dans des polygones. Voici un exemple :
Supposons que je veuille tirer 10 points aléatoires en utilisant le GRTS dans les états du Montana et du Wyoming. Le site grts()
nécessite un objet sf, donc nous pouvons d'abord obtenir un objet sf.
library(raster)
library(sf)
library(spsurvey)
## Get state outlines
US <- raster::getData(country = "United States", level = 1)
States.outline <- US[US$NAME_1 %in% c("Montana","Wyoming"),]
# convert to sf object
states.out <- st_as_sf(States.outline)
Ensuite, si nous voulons stratifier par état, et que nous voulons dix points de chaque état, nous avons besoin :
# Define the number of points to draw from each state
strata_n <- c(Montana = 10, Wyoming = 10)
Le site strata_n
est ensuite introduit dans le grts()
avec l'appel NAME_1
étant le nom de l'état.
# Attempt to make grts draw
grts(sframe = states.out,
stratum_var = "NAME_1",
n_base = strata_n
)
Cela renvoie un message d'erreur :
Lors de la vérification de l'entrée de grtspts, une ou plusieurs erreurs ont été détectées. identifiées. Entrez la commande suivante pour afficher tous les messages d'erreur messages d'erreur d'entrée : stopprnt() Pour afficher un sous-ensemble d'erreurs (par exemple, les erreurs 1 et 5) entrez stopprnt(m=c(1,5))
Running stopprnt()
donne le message suivant :
Input Error Message n_base : Chaque strate doit avoir une taille d'échantillon taille d'échantillon pas plus grande que le nombre de lignes dans 'sframe' représentant cette strate
Le message est on ne peut plus clair : nous ne pouvons pas dessiner plus d'un point pour chaque polygone car l'objet sf n'a qu'une seule ligne par état.
Donc : avec le nouveau et amélioré spsurvey
comment dessiner plusieurs points à l'intérieur d'un polygone ? Tout conseil ou orientation serait apprécié.