Campionamento sistematico in r (con esempi)


I ricercatori spesso prelevano campioni da una popolazione e utilizzano i dati del campione per trarre conclusioni sulla popolazione nel suo complesso.

Un metodo di campionamento comunemente utilizzato è il campionamento sistematico , che viene implementato in un semplice processo in due fasi:

1. Posiziona ciascun membro di una popolazione in un determinato ordine.

2. Scegli un punto di partenza casuale e seleziona un membro su n per far parte del campione.

Questo tutorial spiega come eseguire il campionamento sistematico in R.

Esempio: campionamento sistematico in R

Supponiamo che un preside voglia ottenere un campione di 100 studenti da una scuola che ha un totale di 500 studenti. Sceglie di utilizzare un campionamento sistematico in cui colloca ogni studente in ordine alfabetico in base al cognome, sceglie casualmente un punto di partenza e seleziona uno studente su cinque da inserire nel campione.

Il codice seguente mostra come creare un frame di dati falso con cui lavorare in R:

 #make this example reproducible
set.seed(1)

#create simple function to generate random last names
randomNames <- function (n = 5000) {
  do.call(paste0, replicate(5, sample(LETTERS, n, TRUE), FALSE))
}

#create data frame
df <- data.frame(last_name = randomNames(500),
                 gpa = rnorm(500, mean=82, sd=3))

#view first six rows of data frame
head(df)

  last_name gpa
1 GONBW 82.19580
2 JRRWZ 85.10598
3 ORJFW 88.78065
4 XRYNL 85.94409
5 FMDCE 79.38993
6 XZBJC 80.49061

E il codice seguente mostra come ottenere un campione di 100 studenti attraverso un campionamento sistematico:

 #define function to obtain systematic sample
obtain_sys = function (N,n){
  k = ceiling(N/n)
  r = sample(1:k, 1)
  seq(r, r + k*(n-1), k)
}

#obtain systematic sample
sys_sample_df = df[obtain_sys( nrow (df), 100), ]

#view first six rows of data frame
head(sys_sample_df)

   last_name gpa
3 ORJFW 88.78065
8 RWPSB 81.96988
13 RACZU 79.21433
18 ZOHKA 80.47246
23 QJETK 87.09991
28 JTHWB 83.87300

#view dimensions of data frame
dim(sys_sample_df)

[1] 100 2

Si noti che il primo membro incluso nell’esempio era nella riga 3 del frame di dati originale. Ogni membro successivo del campione si trova 5 righe dopo il membro precedente.

E utilizzando dim() , possiamo vedere che il campione sistematico che abbiamo ottenuto è un frame di dati di 100 righe e 2 colonne.

Risorse addizionali

Tipi di metodi di campionamento
Campionamento stratificato in R
Campionamento a grappolo in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *