R: como selecionar linhas em um quadro de dados com base em valores vetoriais
Você pode usar qualquer um dos seguintes métodos para selecionar linhas de um quadro de dados em R com base nos valores de um vetor:
Método 1: Use Base R
new_df <- df[df$column_name %in% values_vector, ]
Método 2: use o pacote dplyr
library (dplyr)
new_df <- df %>% filter(column_name %in% values_vector)
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 (division=c('West', 'West', 'East', 'East', 'North'),
points=c(120, 100, 104, 98, 105),
assists=c(30, 35, 64, 28, 23))
#view data frame
df
assists points division
1 West 120 30
2 West 100 35
3 East 104 64
4 East 98 28
5 North 105 23
Exemplo 1: Use Base R para selecionar linhas com base em valores vetoriais
Podemos usar o código a seguir para selecionar apenas as linhas do quadro de dados original onde o valor na coluna de divisão é igual a “Oeste” ou “Norte”.
#define values of interest
my_values <- c(' West ', ' North ')
#select rows that contain 'West' or 'North' in division column
new_df <- df[df$division %in% my_values, ]
#view results
new_df
assists points division
1 West 120 30
2 West 100 35
5 North 105 23
O novo quadro de dados contém apenas linhas cujo valor na coluna de divisão é igual a “Oeste” ou “Norte”.
Exemplo 2: Use dplyr para selecionar linhas com base em valores vetoriais
Também podemos usar a função filter() do pacote dplyr em R para selecionar apenas as linhas do quadro de dados original onde o valor na coluna de divisão é igual a “Oeste” ou “Norte”.
library (dplyr)
#define values of interest
my_values <- c(' West ', ' North ')
#select rows that contain 'West' or 'North' in division column
new_df <- df %>% filter(division %in% my_values)
#view results
new_df
assists points division
1 West 120 30
2 West 100 35
3 North 105 23
O novo quadro de dados contém apenas linhas cujo valor na coluna de divisão é igual a “Oeste” ou “Norte”.
Nota : Os métodos base R e dplyr produzem os mesmos resultados. No entanto, o método dplyr tenderá a ser mais rápido ao trabalhar com quadros de dados extremamente grandes.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:
Como selecionar linhas aleatórias em R usando dplyr
Como selecionar linhas por condição em R
Como selecionar linhas onde o valor aparece em qualquer coluna em R