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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *