Como selecionar linhas do dataframe por nome usando dplyr


Você pode usar a seguinte sintaxe para selecionar linhas em um quadro de dados por nome usando dplyr:

 library (dplyr)

#select rows by name
df %>%
  filter(row. names (df) %in% c(' name1 ', ' name2 ', ' name3 '))

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: selecione linhas por nome usando dplyr

Suponha que temos o seguinte quadro de dados em R:

 #create data frame
df <- data. frame (points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#set row names
row. names (df) <- c('Mavs', 'Hawks', 'Cavs', 'Lakers', 'Heat')

#view data frame
df

       points assists rebounds
Mavs 99 33 30
Hawks 90 28 28
Cavs 86 31 24
Lakers 88 39 24
Heat 95 34 28

Podemos usar o código a seguir para selecionar linhas cujo nome seja igual a Hawks, Cavs ou Heat:

 library (dplyr)

#select specific rows by name
df %>%
  filter(row. names (df) %in% c(' Hawks ', ' Cavs ', ' Heat '))

      points assists rebounds
Hawks 90 28 28
Cavs 86 31 24
Heat 95 34 28

Observe que dplyr retorna apenas linhas cujos nomes estão no vetor que fornecemos à função filter() .

Observe também que você pode usar um ponto de exclamação ( ! ) para selecionar todas as linhas cujos nomes não estão em um vetor:

 library (dplyr)

#select rows that do not have Hawks, Cavs, or Heat in the row name
df %>%
  filter(!(row. names (df) %in% c(' Hawks ', ' Cavs ', ' Heat ')))

       points assists rebounds
Mavs 99 33 30
Lakers 88 39 24

Observe que dplyr retorna apenas linhas cujos nomes não estão no vetor que fornecemos à função filter() .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como filtrar valores únicos usando dplyr
Como filtrar por múltiplas condições usando dplyr
Como contar o número de ocorrências em colunas em R

Add a Comment

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