Como selecionar linhas aleatórias em r usando dplyr
Você pode usar os seguintes métodos para selecionar linhas aleatórias em um quadro de dados em R usando funções do pacote dplyr :
Método 1: selecione um número aleatório de linhas
df %>% sample_n( 5 )
Esta função seleciona aleatoriamente 5 linhas do quadro de dados.
Método 2: selecione uma fração aleatória de linhas
df %>% sample_frac( .25 )
Esta função seleciona aleatoriamente 25% de todas as linhas do quadro de dados.
Os exemplos a seguir mostram como usar cada método na prática com o seguinte quadro de dados em 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
Exemplo 1: Selecione um número aleatório de linhas
Podemos usar o seguinte código para selecionar aleatoriamente 5 linhas do quadro de dados:
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
Observe que cinco linhas são selecionadas aleatoriamente no quadro de dados.
Exemplo 2: selecione uma fração aleatória de linhas
Podemos usar o seguinte código para selecionar aleatoriamente 25% de todas as linhas no quadro de dados:
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
Como o quadro de dados original tinha 8 valores totais, 25% de 8 é igual a 2.
Assim, duas linhas são selecionadas aleatoriamente no quadro de dados.
Nota : Você pode encontrar a documentação completa das funções sample_n e sample_frac no dplyr aqui .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras operações comuns no dplyr:
Como selecionar colunas por índice usando dplyr
Como selecionar a primeira linha por grupo usando dplyr
Como filtrar por múltiplas condições usando dplyr
Como filtrar linhas contendo uma determinada string usando dplyr