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