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