Come selezionare campioni casuali in r: con esempi


Per selezionare un campione casuale in R, possiamo utilizzare la funzione sample() , che utilizza la seguente sintassi:

campione(x, dimensione, sostituisci=FALSO, prob=NULL)

Oro:

  • x: un vettore di elementi tra cui scegliere.
  • dimensione: dimensione del campione.
  • sostituire: se campionare con sostituzione oppure no. Il valore predefinito è falso.
  • prob: vettore dei pesi di probabilità per ottenere elementi dal vettore. Il valore predefinito è NULL.

Questo tutorial spiega come utilizzare questa funzione per selezionare un campione casuale in R sia da un vettore che da un frame di dati.

Esempio 1: campione casuale da un vettore

Il codice seguente mostra come selezionare un campione casuale da un vettore senza sostituzione :

 #create vector of data
data <- c(1, 3, 5, 6, 7, 8, 10, 11, 12, 14)

#select random sample of 5 elements without replacement
sample(x=data, size=5)

[1] 10 12 5 14 7

Il codice seguente mostra come selezionare un campione casuale da un vettore con sostituzione :

 #create vector of data
data <- c(1, 3, 5, 6, 7, 8, 10, 11, 12, 14)

#select random sample of 5 elements with replacement
sample(x=data, size=5, replace= TRUE )

[1] 12 1 1 6 14

Esempio 2: campione casuale da un blocco di dati

Il codice seguente mostra come selezionare un campione casuale da un frame di dati:

 #create data frame
df <- data.frame(x=c(3, 5, 6, 6, 8, 12, 14),
                 y=c(12, 6, 4, 23, 25, 8, 9),
                 z=c(2, 7, 8, 8, 15, 17, 29))

#view data frame 
df

   X Y Z
1 3 12 2
2 5 6 7
3 6 4 8
4 6 23 8
5 8 25 15
6 12 8 17
7 14 9 29

#select random sample of three rows from data frame
rand_df <- df[ sample ( nrow (df), size= 3 ), ]

#display randomly selected rows
rand_df

   X Y Z
4 6 23 8
7 14 9 29
1 3 12 2

Ecco cosa succede in questo pezzo di codice:

1. Per selezionare un sottoinsieme di un frame di dati in R, utilizziamo la seguente sintassi: df[righe, colonne]

2. Nel codice sopra, selezioniamo casualmente un campione di 3 righe dal frame di dati e tutte le colonne.

3. Il risultato finale è un sottoinsieme del frame di dati con 3 righe selezionate casualmente.

È importante notare che ogni volta che utilizziamo la funzione sample() , R selezionerà un campione diverso poiché la funzione sceglie i valori in modo casuale.

Per riprodurre i risultati di determinate analisi, assicurati di utilizzare set.seed(some number) in modo che la funzione sample() scelga ogni volta lo stesso campione casuale. Per esempio:

 #make this example reproducible
set.seed(23)

#create data frame
df <- data.frame(x=c(3, 5, 6, 6, 8, 12, 14),
                 y=c(12, 6, 4, 23, 25, 8, 9),
                 z=c(2, 7, 8, 8, 15, 17, 29))

#select random sample of three rows from data frame
rand_df <- df[ sample ( nrow (df), size= 3 ), ]

#display randomly selected rows
rand_df

   X Y Z
5 8 25 15
2 5 6 7
6 12 8 17

Ogni volta che esegui il codice sopra, verranno selezionate ogni volta le stesse 3 righe del frame dati.

Risorse addizionali

Campionamento stratificato in R (con esempi)
Campionamento sistematico in R (con esempi)
Campionamento di cluster in R: con esempi

Aggiungi un commento

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