Come selezionare linee casuali in r usando dplyr
È possibile utilizzare i seguenti metodi per selezionare righe casuali in un frame di dati in R utilizzando le funzioni nel pacchetto dplyr :
Metodo 1: seleziona un numero casuale di righe
df %>% sample_n( 5 )
Questa funzione seleziona casualmente 5 righe dal frame di dati.
Metodo 2: seleziona una frazione casuale di righe
df %>% sample_frac( .25 )
Questa funzione seleziona casualmente il 25% di tutte le righe nel frame di dati.
I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con il seguente frame di dati in R:
#create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
points=c(10, 10, 8, 6, 15, 15, 12, 12),
rebounds=c(8, 8, 4, 3, 10, 11, 7, 7))
#view data frame
df
team points rebounds
1 to 10 8
2 B 10 8
3 C 8 4
4 D 6 3
5 E 15 10
6 F 15 11
7 G 12 7
8:12 a.m. 7
Esempio 1: seleziona un numero casuale di righe
Possiamo utilizzare il seguente codice per selezionare casualmente 5 righe dal frame di dati:
library (dplyr)
#randomly select 5 rows from data frame
df %>% sample_n( 5 )
team points rebounds
1 F 15 11
2 to 10 8
3 D 6 3
4 G 12 7
5 B 10 8
Si noti che cinque righe vengono selezionate casualmente dal frame di dati.
Esempio 2: seleziona una frazione casuale di righe
Possiamo utilizzare il seguente codice per selezionare casualmente il 25% di tutte le righe nel frame di dati:
library (dplyr)
#randomly select 25% of all rows from data frame
df %>% sample_frac( .25 )
team points rebounds
1 E 15 10
2 G 12 7
Poiché il frame di dati originale aveva 8 valori totali, il 25% di 8 è uguale a 2.
Pertanto, due righe vengono selezionate casualmente dal frame di dati.
Nota : puoi trovare la documentazione completa delle funzioni sample_n e sample_frac in dplyr qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni in dplyr:
Come selezionare le colonne per indice utilizzando dplyr
Come selezionare la prima riga per gruppo utilizzando dplyr
Come filtrare in base a più condizioni utilizzando dplyr
Come filtrare le righe contenenti una determinata stringa utilizzando dplyr